X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fregion_editor.h;h=8fdb56321142d4bf8460740f85c87e5d7b99f958;hb=e3b0cb086d2cec5f28a24fed16fd62e06080fe1a;hp=65b0bbaa9478322a7e845a71e18d5c5cfc93126d;hpb=4ae64c91058a25423a9e1f533edfcda559736b1b;p=ardour.git diff --git a/gtk2_ardour/region_editor.h b/gtk2_ardour/region_editor.h index 65b0bbaa94..8fdb563211 100644 --- a/gtk2_ardour/region_editor.h +++ b/gtk2_ardour/region_editor.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2001 Paul Davis + Copyright (C) 2001 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,7 +15,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #ifndef __gtk_ardour_region_edit_h__ @@ -31,154 +30,80 @@ #include #include #include -#include #include #include #include #include -#include + +#include "pbd/signals.h" #include "audio_clock.h" #include "ardour_dialog.h" +#include "region_editor.h" namespace ARDOUR { - class AudioRegion; + class Region; class Session; } -class AudioRegionView; - -class AudioRegionEditor : public ArdourDialog +class RegionEditor : public ArdourDialog { public: - AudioRegionEditor (ARDOUR::Session&, ARDOUR::AudioRegion&, AudioRegionView& rv); - ~AudioRegionEditor (); + RegionEditor (ARDOUR::Session*, boost::shared_ptr); + + protected: + virtual void region_changed (const PBD::PropertyChange&); + + Gtk::Table _table; private: - ARDOUR::Session& _session; - ARDOUR::AudioRegion& _region; - AudioRegionView& _region_view; + boost::shared_ptr _region; void connect_editor_events (); Gtk::Label name_label; Gtk::Entry name_entry; - Gtk::HBox name_hbox; - - Gtk::HBox top_row_hbox; - Gtk::HBox top_row_button_hbox; - - Gtk::ToggleButton lock_button; - Gtk::ToggleButton mute_button; - Gtk::ToggleButton opaque_button; - Gtk::ToggleButton envelope_active_button; - Gtk::ToggleButton envelope_view_button; - - Gtk::Button raise_button; - Gtk::Arrow raise_arrow; - Gtk::Button lower_button; - Gtk::Arrow lower_arrow; - Gtk::Frame layer_frame; - Gtk::Label layer_value_label; - Gtk::Label layer_label; - Gtk::HBox layer_hbox; - - Gtk::ToggleButton audition_button; - - Gtk::HBox lower_hbox; - - Gtk::Table time_table; + Gtk::ToggleButton audition_button; - Gtk::Label start_label; + Gtk::Label position_label; Gtk::Label end_label; Gtk::Label length_label; - Gtk::Alignment start_alignment; - Gtk::Alignment end_alignment; - Gtk::Alignment length_alignment; + Gtk::Label sync_relative_label; + Gtk::Label sync_absolute_label; + Gtk::Label start_label; - AudioClock start_clock; + AudioClock position_clock; AudioClock end_clock; AudioClock length_clock; - AudioClock sync_offset_clock; - - Gtk::Table envelope_loop_table; - Gtk::Button loop_button; - Gtk::Label loop_label; - Gtk::Label envelope_label; - - Gtk::Table fade_in_table; - Gtk::Label fade_in_label; - Gtk::Alignment fade_in_label_align; - Gtk::Label fade_in_active_button_label; - Gtk::ToggleButton fade_in_active_button; - Gtk::Label fade_in_length_label; - - Gtk::Adjustment fade_in_length_adjustment; - Gtk::SpinButton fade_in_length_spinner; - - Gtk::Table fade_out_table; - Gtk::Label fade_out_label; - Gtk::Alignment fade_out_label_align; - Gtk::Label fade_out_active_button_label; - Gtk::ToggleButton fade_out_active_button; - Gtk::Label fade_out_length_label; - - Gtk::Adjustment fade_out_length_adjustment; - Gtk::SpinButton fade_out_length_spinner; - - Gtk::HSeparator sep3; - Gtk::VSeparator sep1; - Gtk::VSeparator sep2; - - void region_changed (ARDOUR::Change); - void bounds_changed (ARDOUR::Change); + AudioClock sync_offset_relative_clock; ///< sync offset relative to the start of the region + AudioClock sync_offset_absolute_clock; ///< sync offset relative to the start of the timeline + AudioClock start_clock; + + PBD::ScopedConnection state_connection; + PBD::ScopedConnection audition_connection; + + void bounds_changed (const PBD::PropertyChange&); void name_changed (); - void opacity_changed (); - void mute_changed (); - void envelope_active_changed (); - void lock_changed (); - void layer_changed (); - - void fade_in_length_adjustment_changed (); - void fade_out_length_adjustment_changed (); - void fade_in_changed (); - void fade_out_changed (); + void audition_state_changed (bool); void activation (); void name_entry_changed (); - void start_clock_changed (); + void position_clock_changed (); void end_clock_changed (); void length_clock_changed (); - - gint envelope_active_button_press (GdkEventButton *); - gint envelope_active_button_release (GdkEventButton *); + void sync_offset_absolute_clock_changed (); + void sync_offset_relative_clock_changed (); void audition_button_toggled (); - void envelope_view_button_toggled (); - void lock_button_clicked (); - void mute_button_clicked (); - void opaque_button_clicked (); - void raise_button_clicked (); - void lower_button_clicked (); - - void fade_in_active_toggled (); - void fade_out_active_toggled (); - void fade_in_active_changed (); - void fade_out_active_changed (); - - void fade_in_realized (); - void fade_out_realized (); - - void start_editing_fade_in (); - void start_editing_fade_out (); - void stop_editing_fade_in (); - void stop_editing_fade_out (); - - gint bpressed (GdkEventButton* ev, Gtk::SpinButton* but, void (AudioRegionEditor::*pmf)()); - gint breleased (GdkEventButton* ev, Gtk::SpinButton* but, void (AudioRegionEditor::*pmf)()); + + gint bpressed (GdkEventButton* ev, Gtk::SpinButton* but, void (RegionEditor::*pmf)()); + gint breleased (GdkEventButton* ev, Gtk::SpinButton* but, void (RegionEditor::*pmf)()); + + bool on_delete_event (GdkEventAny *); + void handle_response (int); bool spin_arrow_grab; };