From 1af0e7cc4fc2918c418006609da7da28f88b061b Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 17 Mar 2022 12:18:42 -0600 Subject: [PATCH] triggerbox: provide ::shutdown_from_fwd() method This does the internal shutdown of a Trigger that is shared between a normal shutdown and when stopping for a locate/stop. There's no output to buffers possible. This method/design may need to change if/when we add declicking for various conditions --- libs/ardour/ardour/triggerbox.h | 1 + libs/ardour/triggerbox.cc | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/ardour/ardour/triggerbox.h b/libs/ardour/ardour/triggerbox.h index 0ef852a9ff..e274f18299 100644 --- a/libs/ardour/ardour/triggerbox.h +++ b/libs/ardour/ardour/triggerbox.h @@ -345,6 +345,7 @@ class LIBARDOUR_API Trigger : public PBD::Stateful { it says: start immediately */ void startup (BufferSet&, pframes_t dest_offset, Temporal::BBT_Offset const & start_quantization = Temporal::BBT_Offset (9, 3,0)); + void shutdown_from_fwd (); virtual void shutdown (BufferSet& bufs, pframes_t dest_offset); virtual void jump_start (); virtual void jump_stop (BufferSet& bufs, pframes_t dest_offset); diff --git a/libs/ardour/triggerbox.cc b/libs/ardour/triggerbox.cc index 1663dce66c..5a16bf2869 100644 --- a/libs/ardour/triggerbox.cc +++ b/libs/ardour/triggerbox.cc @@ -739,7 +739,7 @@ Trigger::_startup (BufferSet& bufs, pframes_t dest_offset, Temporal::BBT_Offset } void -Trigger::shutdown (BufferSet& bufs, pframes_t dest_offset) +Trigger::shutdown_from_fwd () { _state = Stopped; _playout = false; @@ -750,6 +750,12 @@ Trigger::shutdown (BufferSet& bufs, pframes_t dest_offset) send_property_change (ARDOUR::Properties::running); } +void +Trigger::shutdown (BufferSet& /*bufs*/, pframes_t /*dest_offset*/) +{ + shutdown_from_fwd (); +} + void Trigger::jump_start() {