X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fregion_editor.h;h=b584a9b0b8e5bb4e5d92979b8ecfb859c5c5fa83;hb=b6c3e5537269e53bb145300e7724e8b89dfb74d6;hp=0db191513fda5770221cb2d1f72a88944598d675;hpb=e493b2b7c4fbbbfc457f02babf9546289b430177;p=ardour.git diff --git a/gtk2_ardour/region_editor.h b/gtk2_ardour/region_editor.h index 0db191513f..b584a9b0b8 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__ @@ -23,156 +22,99 @@ #include -#include -#include -#include +#include +#include +#include +#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 ClockGroup; -class AudioRegionEditor : public ArdourDialog +class RegionEditor : public ArdourDialog { public: - AudioRegionEditor (ARDOUR::Session&, ARDOUR::AudioRegion&, AudioRegionView& rv); - ~AudioRegionEditor (); + RegionEditor (ARDOUR::Session*, boost::shared_ptr); + virtual ~RegionEditor (); + + protected: + virtual void region_changed (const PBD::PropertyChange&); + + Gtk::Table _table; + int _table_row; 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::Label envelope_active_button_label; - Gtk::Label envelope_view_button_label; - - 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::Label audition_label; - - Gtk::VBox upper_vbox; - 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; + ClockGroup* _clock_group; + + 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 (); - - gint focus_change (GdkEventFocus *); + + 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 (); + gint bpressed (GdkEventButton* ev, Gtk::SpinButton* but, void (RegionEditor::*pmf)()); + gint breleased (GdkEventButton* ev, Gtk::SpinButton* but, void (RegionEditor::*pmf)()); - 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)()); + bool on_delete_event (GdkEventAny *); + void handle_response (int); bool spin_arrow_grab; + + Gtk::Label _sources_label; + Gtk::ListViewText _sources; }; #endif /* __gtk_ardour_region_edit_h__ */