From 1fa42dcb95118b73db5729245b2e85a6257df7b2 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 23 Sep 2024 20:47:00 -0600 Subject: [PATCH] provide rec-enable state for TriggerBoxen --- libs/ardour/ardour/triggerbox.h | 5 +++++ libs/ardour/track.cc | 5 ++++- libs/ardour/triggerbox.cc | 8 ++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/libs/ardour/ardour/triggerbox.h b/libs/ardour/ardour/triggerbox.h index 8e91795780..00bfb118e7 100644 --- a/libs/ardour/ardour/triggerbox.h +++ b/libs/ardour/ardour/triggerbox.h @@ -759,6 +759,10 @@ class LIBARDOUR_API TriggerBox : public Processor, public std::enable_shared_fro static void set_cue_recording (bool yn); static PBD::Signal0 CueRecordingChanged; + void set_record_enabled (bool yn); + bool record_enabled() const { return _record_enabled; } + PBD::Signal0 RecEnableChanged; + void run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes, bool result_required); void run_cycle (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes); bool can_support_io_configuration (const ChanCount& in, ChanCount& out); @@ -907,6 +911,7 @@ class LIBARDOUR_API TriggerBox : public Processor, public std::enable_shared_fro bool _locate_armed; bool _cancel_locate_armed; bool _fast_forwarding; + bool _record_enabled; PBD::PCGRand _pcg; diff --git a/libs/ardour/track.cc b/libs/ardour/track.cc index 98762323bb..40b30fe9d7 100644 --- a/libs/ardour/track.cc +++ b/libs/ardour/track.cc @@ -418,7 +418,10 @@ Track::update_input_meter () void Track::record_enable_changed (bool, Controllable::GroupControlDisposition) { - _disk_writer->set_record_enabled (_record_enable_control->get_value()); + bool yn = _record_enable_control->get_value(); + + _disk_writer->set_record_enabled (yn); + _triggerbox->set_record_enabled (yn); } void diff --git a/libs/ardour/triggerbox.cc b/libs/ardour/triggerbox.cc index 766455af00..cdd30963b3 100644 --- a/libs/ardour/triggerbox.cc +++ b/libs/ardour/triggerbox.cc @@ -3270,6 +3270,7 @@ TriggerBox::TriggerBox (Session& s, DataType dt) , _locate_armed (false) , _cancel_locate_armed (false) , _fast_forwarding (false) + , _record_enabled (false) , requests (1024) { set_display_to_user (false); @@ -3294,6 +3295,13 @@ TriggerBox::TriggerBox (Session& s, DataType dt) _session.config.ParameterChanged.connect_same_thread (*this, boost::bind (&TriggerBox::parameter_changed, this, _1)); } +void +TriggerBox::set_record_enabled (bool yn) +{ + _record_enabled = yn; + RecEnableChanged (); /* EMIT SIGNAL */ +} + void TriggerBox::set_cue_recording (bool yn) {