1
/* cdrdao - write audio CD-Rs in disc-at-once mode
3
* Copyright (C) 2000 Andreas Mueller <mueller@daneb.ping.de>
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
#ifndef __AUDIO_CD_VIEW_H__
21
#define __AUDIO_CD_VIEW_H__
25
#include <libgnomeuimm.h>
27
#include "AddFileDialog.h"
28
#include "GenericView.h"
33
class TrackInfoDialog;
35
class AddSilenceDialog;
41
class AudioCDView : public GenericView
44
AudioCDView(AudioCDChild *child, AudioCDProject *project);
46
SigC::Signal0<void> add_view;
48
void update(unsigned long level);
50
enum Mode { ZOOM, SELECT };
59
friend class AudioCDChild;
60
AudioCDProject *project_;
62
TrackInfoDialog* trackInfoDialog_;
63
AddFileDialog addFileDialog_;
64
AddSilenceDialog* addSilenceDialog_;
66
AudioCDChild *cdchild;
68
SampleDisplay *sampleDisplay_;
70
Gtk::Entry* markerPos_;
71
Gtk::Label* cursorPos_;
72
Gtk::Entry* selectionStartPos_;
73
Gtk::Entry* selectionEndPos_;
75
void markerSetCallback(unsigned long);
76
void cursorMovedCallback(unsigned long);
77
void selectionSetCallback(unsigned long, unsigned long);
78
void selectionClearedCallback();
79
void trackMarkSelectedCallback(const Track *, int trackNr, int indexNr);
80
void trackMarkMovedCallback(const Track *, int trackNr, int indexNr,
81
unsigned long sample);
82
void viewModifiedCallback(unsigned long, unsigned long);
83
int snapSampleToBlock(unsigned long sample, long *block);
87
void pasteTrackData();
92
void removeTrackMark();
101
int getMarker(unsigned long *sample);
106
void drag_data_received_cb(const Glib::RefPtr<Gdk::DragContext>& context,
107
gint x, gint y, GtkSelectionData *selection_data,
108
guint info, guint time);