diff --git a/gtk2_ardour/triggerbox_ui.h b/gtk2_ardour/triggerbox_ui.h index 1ac839946a..fcc954b966 100644 --- a/gtk2_ardour/triggerbox_ui.h +++ b/gtk2_ardour/triggerbox_ui.h @@ -45,26 +45,17 @@ namespace ArdourCanvas class Polygon; } -class TriggerReference -{ -public: - TriggerReference (ARDOUR::TriggerBox& b, uint32_t s) : box (b), slot (s) {} - boost::shared_ptr trigger() const { return box.trigger (slot); } - - ARDOUR::TriggerBox& box; - uint32_t slot; -}; - class TriggerEntry : public ArdourCanvas::Rectangle { public: - TriggerEntry (ArdourCanvas::Item* item, TriggerReference rf); + TriggerEntry (ArdourCanvas::Item* item, ARDOUR::TriggerReference rf); ~TriggerEntry (); boost::shared_ptr trigger () const { return tref.trigger(); } + ARDOUR::TriggerReference trigger_reference() const { return tref; } ArdourCanvas::Rectangle* play_button; ArdourCanvas::Rectangle* name_button; diff --git a/libs/ardour/ardour/triggerbox.h b/libs/ardour/ardour/triggerbox.h index e210291c26..12524be70b 100644 --- a/libs/ardour/ardour/triggerbox.h +++ b/libs/ardour/ardour/triggerbox.h @@ -648,6 +648,18 @@ class LIBARDOUR_API TriggerBox : public Processor static std::atomic active_trigger_boxes; }; +class TriggerReference +{ +public: + TriggerReference () : box (0), slot (0) {} + TriggerReference (ARDOUR::TriggerBox& b, uint32_t s) : box (&b), slot (s) {} + + boost::shared_ptr trigger() const { assert (box); return box->trigger (slot); } + + ARDOUR::TriggerBox* box; + uint32_t slot; +}; + namespace Properties { LIBARDOUR_API extern PBD::PropertyDescriptor use_follow; LIBARDOUR_API extern PBD::PropertyDescriptor running;