mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-29 00:13:10 +01:00
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
1 changed files with 1 additions and 4 deletions
|
|
@ -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…
Add table
Add a link
Reference in a new issue