From 4d15bf9f18f437af8e0b0da1e059324eb2f203c2 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 24 Dec 2021 14:11:06 -0700 Subject: [PATCH] triggerbox: move TriggerReference object into ARDOUR::Triggerbox Also, change box handle to a pointer so that we can have a default (empty) constructor. --- gtk2_ardour/triggerbox_ui.h | 13 ++----------- libs/ardour/ardour/triggerbox.h | 12 ++++++++++++ 2 files changed, 14 insertions(+), 11 deletions(-) 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;