From df3b8efbb96daf3458768739fc9098d39a5a4899 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 31 Jan 2023 18:38:33 -0700 Subject: [PATCH] triggerbox: fix stop-all-cue marker under very specific conditions If the stop takes effect on a process cycle boundary, do not just blindly pick the next trigger; instead using the same logic as if the stop was not on the boundary. --- libs/ardour/triggerbox.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/ardour/triggerbox.cc b/libs/ardour/triggerbox.cc index adceb15b96..73d1bfedb9 100644 --- a/libs/ardour/triggerbox.cc +++ b/libs/ardour/triggerbox.cc @@ -4438,7 +4438,13 @@ TriggerBox::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp */ if (nframes == 0 && _currently_playing->state() == Trigger::Stopped) { - (void) handle_stopped_trigger (bufs, dest_offset); + if (!_stop_all && !_currently_playing->explicitly_stopped()) { + std::cerr << "stopped, do handle thing\n"; + (void) handle_stopped_trigger (bufs, dest_offset); + } else { + _currently_playing = 0; + PropertyChanged (Properties::currently_playing); + } } }