triggerbox: do not use follow action if Trigger::_use_follow is not set
This commit is contained in:
parent
347a17cdb2
commit
2688c02e0e
@ -2129,12 +2129,19 @@ TriggerBox::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp
|
||||
*/
|
||||
|
||||
if (_currently_playing->state() == Trigger::Stopped) {
|
||||
|
||||
if (!_stop_all && !_currently_playing->explicitly_stopped()) {
|
||||
|
||||
DEBUG_TRACE (DEBUG::Triggers, string_compose ("%1 has stopped, need next...\n", _currently_playing->name()));
|
||||
|
||||
if (_currently_playing->use_follow()) {
|
||||
int n = determine_next_trigger (_currently_playing->index());
|
||||
|
||||
if (n < 0) {
|
||||
break; /* no triggers to come next, break out * of nframes loop */
|
||||
DEBUG_TRACE (DEBUG::Triggers, string_compose ("%1 finished, no next trigger\n", _currently_playing->name()));
|
||||
_currently_playing = 0;
|
||||
PropertyChanged (Properties::currently_playing);
|
||||
break; /* no triggers to come next, break out of nframes loop */
|
||||
}
|
||||
DEBUG_TRACE (DEBUG::Triggers, string_compose ("switching to next trigger %1\n", _currently_playing->name()));
|
||||
_currently_playing = all_triggers[n];
|
||||
@ -2147,6 +2154,15 @@ TriggerBox::run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_samp
|
||||
/* leave nframes loop */
|
||||
break;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
_currently_playing = 0;
|
||||
PropertyChanged (Properties::currently_playing);
|
||||
DEBUG_TRACE (DEBUG::Triggers, "currently playing was stopped, but stop_all was set, leaving nf loop\n");
|
||||
/* leave nframes loop */
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
pframes_t frames_covered;
|
||||
|
Loading…
Reference in New Issue
Block a user