X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faudio_region_editor.h;h=4d8c9de9bc2b11345953135474b08e2bc2a6c225;hb=abf1f286d49482ade939da7e49863a3d63048b42;hp=f4c99917d8606c4ca13985fefad0b894a7bec5c8;hpb=f6fdd8dcbf41f864e9f0cc32dabe81fe3533ddfe;p=ardour.git diff --git a/gtk2_ardour/audio_region_editor.h b/gtk2_ardour/audio_region_editor.h index f4c99917d8..4d8c9de9bc 100644 --- a/gtk2_ardour/audio_region_editor.h +++ b/gtk2_ardour/audio_region_editor.h @@ -34,8 +34,9 @@ #include #include -#include -#include + +#include "pbd/signals.h" +#include "pbd/crossthread.h" #include "audio_clock.h" #include "ardour_dialog.h" @@ -50,75 +51,34 @@ class AudioRegionView; class AudioRegionEditor : public RegionEditor { - public: - AudioRegionEditor (ARDOUR::Session*, boost::shared_ptr, AudioRegionView& rv); +public: + AudioRegionEditor (ARDOUR::Session*, boost::shared_ptr); ~AudioRegionEditor (); - private: - boost::shared_ptr _region; - AudioRegionView& _region_view; - - void connect_editor_events (); + void peak_amplitude_thread (); - Gtk::Label name_label; - Gtk::Entry name_entry; - Gtk::HBox name_hbox; +private: - Gtk::HBox top_row_hbox; - Gtk::HBox top_row_button_hbox; + void region_changed (PBD::PropertyChange const &); - Gtk::ToggleButton audition_button; - - Gtk::HBox lower_hbox; + void gain_changed (); + void gain_adjustment_changed (); - Gtk::Table time_table; + boost::shared_ptr _audio_region; - Gtk::Label position_label; - Gtk::Label end_label; - Gtk::Label length_label; - Gtk::Label sync_relative_label; - Gtk::Label sync_absolute_label; - Gtk::Label start_label; Gtk::Label gain_label; - - AudioClock position_clock; - AudioClock end_clock; - AudioClock length_clock; - 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; Gtk::Adjustment gain_adjustment; Gtk::SpinButton gain_entry; - Gtk::HSeparator sep3; - Gtk::VSeparator sep1; - Gtk::VSeparator sep2; - - void region_changed (ARDOUR::Change); - void bounds_changed (ARDOUR::Change); - void name_changed (); - void gain_changed (); - - void audition_state_changed (bool); - - void activation (); - - void name_entry_changed (); - void position_clock_changed (); - void end_clock_changed (); - void length_clock_changed (); - void sync_offset_absolute_clock_changed (); - void sync_offset_relative_clock_changed (); - void gain_adjustment_changed (); - - void audition_button_toggled (); - - 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 *); + Gtk::Label _peak_amplitude_label; + Gtk::Entry _peak_amplitude; - bool spin_arrow_grab; + void signal_peak_thread (); + pthread_t _peak_amplitude_thread_handle; + void peak_amplitude_found (double); + PBD::Signal1 PeakAmplitudeFound; + PBD::ScopedConnection _peak_amplitude_connection; + CrossThreadChannel _peak_channel; }; #endif /* __gtk_ardour_audio_region_edit_h__ */