summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-03-06 00:03:46 +0100
committerRobin Gareus <robin@gareus.org>2019-03-06 00:03:46 +0100
commit6a7750a55d7a8c812ad723735904540513940852 (patch)
treef002bd48e9e02b5b238938579ffb234eb460f168
parent8b5437301b8510339cce87c0c11c1dc9ec8d92a4 (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.cc10
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);
}