From b0176c21fbd1cda8633afa5461ac5a3c57770237 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 4 Nov 2021 09:50:34 -0600 Subject: [PATCH] triggerbox: skeleton for requests sent to a TriggerBox (to change state) --- libs/ardour/ardour/triggerbox.h | 17 +++++++++++++++++ libs/ardour/triggerbox.cc | 1 + 2 files changed, 18 insertions(+) diff --git a/libs/ardour/ardour/triggerbox.h b/libs/ardour/ardour/triggerbox.h index 5149b3ef51..17a408fb96 100644 --- a/libs/ardour/ardour/triggerbox.h +++ b/libs/ardour/ardour/triggerbox.h @@ -429,6 +429,23 @@ class LIBARDOUR_API TriggerBox : public Processor static TriggerMidiMapMode _midi_map_mode; static std::atomic _pending_scene; static std::atomic _active_scene; + + struct Request { + enum Type { + Use, + Reload, + }; + + Type type; + + union { + Trigger* trigger; + }; + }; + + typedef PBD::RingBuffer RequestBuffer; + RequestBuffer requests; + }; namespace Properties { diff --git a/libs/ardour/triggerbox.cc b/libs/ardour/triggerbox.cc index af79df88b7..184e6877c3 100644 --- a/libs/ardour/triggerbox.cc +++ b/libs/ardour/triggerbox.cc @@ -1335,6 +1335,7 @@ TriggerBox::TriggerBox (Session& s, DataType dt) , up_next (0) , currently_playing (0) , _stop_all (false) + , requests (1024) { /* default number of possible triggers. call ::add_trigger() to increase */