X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Flocation_ui.h;h=84c6fa9fc5b0fb419d63be98c21ab3f1c034085c;hb=b691ba816f3080d0f8029beac6d0ff4c4c3a1900;hp=ea6b80f3a4f562396c8840e34c49e039dead60bc;hpb=aae367b63c9b619db1e40f27dc334c6987219481;p=ardour.git diff --git a/gtk2_ardour/location_ui.h b/gtk2_ardour/location_ui.h index ea6b80f3a4..84c6fa9fc5 100644 --- a/gtk2_ardour/location_ui.h +++ b/gtk2_ardour/location_ui.h @@ -42,6 +42,8 @@ namespace ARDOUR { class Location; } +class ClockGroup; + class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr { public: @@ -55,7 +57,8 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr void set_number (int); void focus_name(); - + void set_clock_group (ClockGroup&); + sigc::signal remove_requested; sigc::signal redraw_ranges; @@ -86,6 +89,8 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr AudioClock length_clock; Gtk::CheckButton cd_check_button; Gtk::CheckButton hide_check_button; + Gtk::CheckButton lock_check_button; + Gtk::CheckButton glue_check_button; Gtk::Button remove_button; @@ -95,11 +100,12 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr Gtk::Label performer_label; - Gtk::Entry performer_entry; + Gtk::Entry performer_entry; Gtk::Label composer_label; - Gtk::Entry composer_entry; + Gtk::Entry composer_entry; Gtk::CheckButton scms_check_button; Gtk::CheckButton preemph_check_button; + ClockGroup* _clock_group; guint32 i_am_the_modifier; int number; @@ -109,7 +115,7 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr void performer_entry_changed (); void composer_entry_changed (); - void set_button_pressed (LocationPart part); + void to_playhead_button_pressed (LocationPart part); void go_button_pressed (LocationPart part); void clock_changed (LocationPart part); @@ -117,6 +123,8 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr void cd_toggled (); void hide_toggled (); + void lock_toggled (); + void glue_toggled (); void remove_button_pressed (); void scms_toggled (); @@ -127,6 +135,10 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr void name_changed (ARDOUR::Location *); void location_changed (ARDOUR::Location *); void flags_changed (ARDOUR::Location *, void *src); + void lock_changed (ARDOUR::Location *); + void position_lock_style_changed (ARDOUR::Location *); + + void set_clock_sensitivity (); PBD::ScopedConnectionList connections; }; @@ -138,6 +150,7 @@ class LocationUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr ~LocationUI (); void set_session (ARDOUR::Session *); + void set_clock_mode (AudioClock::Mode); void add_new_location(); void add_new_range(); @@ -150,22 +163,17 @@ class LocationUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr void session_going_away (); - Gtk::VBox location_vpacker; - LocationEditRow loop_edit_row; LocationEditRow punch_edit_row; Gtk::VBox loop_punch_box; - Gtk::ScrolledWindow loop_punch_scroller; Gtk::VPaned loc_range_panes; - Gtk::Frame loc_frame; Gtk::VBox loc_frame_box; Gtk::Button add_location_button; Gtk::ScrolledWindow location_rows_scroller; Gtk::VBox location_rows; - Gtk::Frame range_frame; Gtk::VBox range_frame_box; Gtk::Button add_range_button; Gtk::ScrolledWindow range_rows_scroller; @@ -186,7 +194,10 @@ class LocationUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr void location_removed (ARDOUR::Location *); void location_added (ARDOUR::Location *); + void locations_changed (ARDOUR::Locations::Change); void map_locations (ARDOUR::Locations::LocationList&); + + ClockGroup* _clock_group; }; class LocationUIWindow : public ArdourDialog