ardour
region_editor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2001 Paul Davis
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 
18 */
19 
20 #ifndef __gtk_ardour_region_edit_h__
21 #define __gtk_ardour_region_edit_h__
22 
23 #include <map>
24 
25 #include <gtkmm/label.h>
26 #include <gtkmm/entry.h>
27 #include <gtkmm/box.h>
28 #include <gtkmm/togglebutton.h>
29 #include <gtkmm/button.h>
30 #include <gtkmm/arrow.h>
31 #include <gtkmm/frame.h>
32 #include <gtkmm/table.h>
33 #include <gtkmm/adjustment.h>
34 #include <gtkmm/separator.h>
35 #include <gtkmm/spinbutton.h>
36 #include <gtkmm/listviewtext.h>
37 
38 
39 #include "pbd/signals.h"
40 
41 #include "audio_clock.h"
42 #include "ardour_dialog.h"
43 #include "region_editor.h"
44 
45 namespace ARDOUR {
46  class Region;
47  class Session;
48 }
49 
50 class ClockGroup;
51 
52 class RegionEditor : public ArdourDialog
53 {
54  public:
56  virtual ~RegionEditor ();
57 
58  protected:
59  virtual void region_changed (const PBD::PropertyChange&);
60 
61  Gtk::Table _table;
63 
64  private:
66 
67  void connect_editor_events ();
68 
69  Gtk::Label name_label;
70  Gtk::Entry name_entry;
71  Gtk::ToggleButton audition_button;
72 
73  Gtk::Label position_label;
74  Gtk::Label end_label;
75  Gtk::Label length_label;
76  Gtk::Label sync_relative_label;
77  Gtk::Label sync_absolute_label;
78  Gtk::Label start_label;
79 
81 
88 
91 
92  void bounds_changed (const PBD::PropertyChange&);
93  void name_changed ();
94 
95  void audition_state_changed (bool);
96 
97  void activation ();
98 
99  void name_entry_changed ();
100  void position_clock_changed ();
101  void end_clock_changed ();
102  void length_clock_changed ();
105 
106  void audition_button_toggled ();
107 
108  gint bpressed (GdkEventButton* ev, Gtk::SpinButton* but, void (RegionEditor::*pmf)());
109  gint breleased (GdkEventButton* ev, Gtk::SpinButton* but, void (RegionEditor::*pmf)());
110 
111  bool on_delete_event (GdkEventAny *);
112  void handle_response (int);
113 
115 
116  Gtk::Label _sources_label;
117  Gtk::ListViewText _sources;
118 };
119 
120 #endif /* __gtk_ardour_region_edit_h__ */
AudioClock start_clock
Definition: region_editor.h:87
Gtk::Label name_label
Definition: region_editor.h:69
virtual ~RegionEditor()
bool spin_arrow_grab
PBD::ScopedConnection audition_connection
Definition: region_editor.h:90
Gtk::Label position_label
Definition: region_editor.h:73
Gtk::Label sync_absolute_label
Definition: region_editor.h:77
PBD::ScopedConnection state_connection
Definition: region_editor.h:89
RegionEditor(ARDOUR::Session *, boost::shared_ptr< ARDOUR::Region >)
void position_clock_changed()
Gtk::Entry name_entry
Definition: region_editor.h:70
void length_clock_changed()
Gtk::Label end_label
Definition: region_editor.h:74
bool on_delete_event(GdkEventAny *)
Gtk::ToggleButton audition_button
Definition: region_editor.h:71
void name_changed()
void handle_response(int)
Gtk::Label length_label
Definition: region_editor.h:75
Definition: amp.h:29
void audition_state_changed(bool)
AudioClock end_clock
Definition: region_editor.h:83
AudioClock sync_offset_absolute_clock
sync offset relative to the start of the timeline
Definition: region_editor.h:86
void name_entry_changed()
void end_clock_changed()
ClockGroup * _clock_group
Definition: region_editor.h:80
Gtk::Table _table
Definition: region_editor.h:61
void bounds_changed(const PBD::PropertyChange &)
boost::shared_ptr< ARDOUR::Region > _region
Definition: region_editor.h:65
Gtk::Label _sources_label
gint bpressed(GdkEventButton *ev, Gtk::SpinButton *but, void(RegionEditor::*pmf)())
AudioClock sync_offset_relative_clock
sync offset relative to the start of the region
Definition: region_editor.h:85
AudioClock length_clock
Definition: region_editor.h:84
Gtk::Label sync_relative_label
Definition: region_editor.h:76
Gtk::ListViewText _sources
Gtk::Label start_label
Definition: region_editor.h:78
void sync_offset_absolute_clock_changed()
void connect_editor_events()
AudioClock position_clock
Definition: region_editor.h:82
gint breleased(GdkEventButton *ev, Gtk::SpinButton *but, void(RegionEditor::*pmf)())
virtual void region_changed(const PBD::PropertyChange &)
void audition_button_toggled()
void sync_offset_relative_clock_changed()