diff options
author | Robin Gareus <robin@gareus.org> | 2019-03-06 00:03:46 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-03-06 00:03:46 +0100 |
commit | 6a7750a55d7a8c812ad723735904540513940852 (patch) | |
tree | f002bd48e9e02b5b238938579ffb234eb460f168 | |
parent | 8b5437301b8510339cce87c0c11c1dc9ec8d92a4 (diff) |
Tweak, optimize route setup
Speed up route creation: add_processor() takes a process-lock
and calls configure_processors() but this is done explicitly at the
end of init() already.
-rw-r--r-- | libs/ardour/route.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 9997e72ba2..89ab442e18 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -187,7 +187,8 @@ Route::init () */ _amp.reset (new Amp (_session, X_("Fader"), _gain_control, true)); - add_processor (_amp, PostFader); + _amp->activate (); + _amp->set_owner (this); _polarity.reset (new PolarityProcessor (_session, _phase_control)); _polarity->activate(); @@ -244,10 +245,13 @@ Route::init () panner_shell()->select_panner_by_uri ("http://ardour.org/plugin/panner_balance"); } - /* now that we have _meter, its safe to connect to this */ - + /* now set up processor chain and invisible processors */ { Glib::Threads::Mutex::Lock lx (AudioEngine::instance()->process_lock ()); + { + Glib::Threads::RWLock::WriterLock lm (_processor_lock); + _processors.push_back (_amp); + } configure_processors (0); } |