~ubuntu-branches/ubuntu/lucid/cdrdao/lucid

« back to all changes in this revision

Viewing changes to xdao/AudioCDView.h

  • Committer: Bazaar Package Importer
  • Author(s): Andrew Suffield
  • Date: 2004-06-24 22:33:16 UTC
  • Revision ID: james.westby@ubuntu.com-20040624223316-534onzugaeeyq61j
Tags: upstream-1.1.9
ImportĀ upstreamĀ versionĀ 1.1.9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*  cdrdao - write audio CD-Rs in disc-at-once mode
 
2
 *
 
3
 *  Copyright (C) 2000  Andreas Mueller <mueller@daneb.ping.de>
 
4
 *
 
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.
 
9
 *
 
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.
 
14
 *
 
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.
 
18
 */
 
19
 
 
20
#ifndef __AUDIO_CD_VIEW_H__
 
21
#define __AUDIO_CD_VIEW_H__
 
22
 
 
23
#include <gtkmm.h>
 
24
#include <gtk/gtk.h>
 
25
#include <libgnomeuimm.h>
 
26
 
 
27
#include "AddFileDialog.h"
 
28
#include "GenericView.h"
 
29
#include <list>
 
30
 
 
31
class SampleDisplay;
 
32
class Project;
 
33
class TrackInfoDialog;
 
34
class AddFileDialog;
 
35
class AddSilenceDialog;
 
36
 
 
37
enum {
 
38
  TARGET_URI_LIST,
 
39
};
 
40
 
 
41
class AudioCDView : public GenericView
 
42
{
 
43
public:
 
44
  AudioCDView(AudioCDChild *child, AudioCDProject *project);
 
45
  ~AudioCDView();
 
46
  SigC::Signal0<void> add_view;
 
47
 
 
48
  void update(unsigned long level);
 
49
 
 
50
  enum Mode { ZOOM, SELECT };
 
51
  void setMode(Mode);
 
52
 
 
53
  void zoomIn();
 
54
  void zoomx2();
 
55
  void zoomOut();
 
56
  void fullView();
 
57
 
 
58
private:
 
59
  friend class AudioCDChild;
 
60
  AudioCDProject *project_;
 
61
 
 
62
  TrackInfoDialog*  trackInfoDialog_;
 
63
  AddFileDialog     addFileDialog_;
 
64
  AddSilenceDialog* addSilenceDialog_;
 
65
 
 
66
  AudioCDChild *cdchild;
 
67
  Mode mode_;
 
68
  SampleDisplay *sampleDisplay_;
 
69
 
 
70
  Gtk::Entry*  markerPos_;
 
71
  Gtk::Label*  cursorPos_;
 
72
  Gtk::Entry*  selectionStartPos_;
 
73
  Gtk::Entry*  selectionEndPos_;
 
74
 
 
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);
 
84
 
 
85
  void trackInfo();
 
86
  void cutTrackData();
 
87
  void pasteTrackData();
 
88
 
 
89
  void addTrackMark();
 
90
  void addIndexMark();
 
91
  void addPregap();
 
92
  void removeTrackMark();
 
93
 
 
94
  void appendSilence();
 
95
  void insertSilence();
 
96
 
 
97
  void appendTrack();
 
98
  void appendFile();
 
99
  void insertFile();
 
100
 
 
101
  int getMarker(unsigned long *sample);
 
102
  void markerSet();
 
103
 
 
104
  void selectionSet();
 
105
 
 
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);
 
109
 
 
110
};
 
111
 
 
112
#endif
 
113