Flush processor (re-activate) on route active change
(flush reverb tails etc) PS. That comment "from RT audio thread" was wrong. Route::flush_processors () is called from flush_all_inserts() from Session::non_realtime_stop() which is not in rt-context. Besides, the processor-lock regardless of the process_lock.
This commit is contained in:
parent
515c0687b4
commit
d6b36a13a1
@ -3614,10 +3614,6 @@ Route::silent_roll (pframes_t nframes, framepos_t /*start_frame*/, framepos_t /*
|
||||
void
|
||||
Route::flush_processors ()
|
||||
{
|
||||
/* XXX shouldn't really try to take this lock, since
|
||||
this is called from the RT audio thread.
|
||||
*/
|
||||
|
||||
Glib::Threads::RWLock::ReaderLock lm (_processor_lock);
|
||||
|
||||
for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) {
|
||||
@ -4167,6 +4163,7 @@ Route::set_active (bool yn, void* src)
|
||||
_active = yn;
|
||||
_input->set_active (yn);
|
||||
_output->set_active (yn);
|
||||
flush_processors ();
|
||||
active_changed (); // EMIT SIGNAL
|
||||
_session.set_dirty ();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user