X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Ftime_info_box.h;h=ac4cc98ea5a2881ddd0ebfc169da4d762cd983ea;hb=cf61fb07b80fafd76275eacdddddf78522caf42e;hp=a1da519aed5ee96742766370e848cee3c96aa388;hpb=e77b5261d2811a1ad139afc29250e3a3337c455d;p=ardour.git diff --git a/gtk2_ardour/time_info_box.h b/gtk2_ardour/time_info_box.h index a1da519aed..ac4cc98ea5 100644 --- a/gtk2_ardour/time_info_box.h +++ b/gtk2_ardour/time_info_box.h @@ -24,13 +24,14 @@ #include #include +#include + +#include "gtkmm2ext/cairo_packer.h" #include "ardour/ardour.h" #include "ardour/session_handle.h" -class CairoEditableText; -class CairoCell; -class CairoTextCell; +#include "ardour_button.h" namespace ARDOUR { class Session; @@ -39,7 +40,7 @@ namespace ARDOUR { class AudioClock; -class TimeInfoBox : public Gtk::Table, public ARDOUR::SessionHandlePtr +class TimeInfoBox : public CairoHPacker, public ARDOUR::SessionHandlePtr { public: TimeInfoBox (); @@ -47,10 +48,10 @@ class TimeInfoBox : public Gtk::Table, public ARDOUR::SessionHandlePtr void set_session (ARDOUR::Session*); - protected: - bool on_expose_event (GdkEventExpose*); - private: + Gtk::Table left; + Gtk::Table right; + AudioClock* selection_start; AudioClock* selection_end; AudioClock* selection_length; @@ -60,13 +61,25 @@ class TimeInfoBox : public Gtk::Table, public ARDOUR::SessionHandlePtr Gtk::Label selection_title; Gtk::Label punch_title; + bool syncing_selection; + bool syncing_punch; void punch_changed (ARDOUR::Location*); void punch_location_changed (ARDOUR::Location*); void watch_punch (ARDOUR::Location*); PBD::ScopedConnectionList punch_connections; + PBD::ScopedConnectionList editor_connections; + + ArdourButton punch_in_button; + ArdourButton punch_out_button; void selection_changed (); + + void sync_selection_mode (AudioClock*); + void sync_punch_mode (AudioClock*); + + bool clock_button_release_event (GdkEventButton* ev, AudioClock* src); + void track_mouse_mode (); };