summaryrefslogtreecommitdiff
path: root/libs/ardour/session_state.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r--libs/ardour/session_state.cc29
1 files changed, 6 insertions, 23 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index b0b8a46a4b..051eca4b68 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -659,33 +659,16 @@ Session::create (const string& session_template, BusProfile* bus_profile)
if (bus_profile) {
RouteList rl;
ChanCount count(DataType::AUDIO, bus_profile->master_out_channels);
+ if (bus_profile->master_out_channels) {
+ int rv = add_master_bus (count);
- // Waves Tracks: always create master bus for Tracks
- if (ARDOUR::Profile->get_trx() || bus_profile->master_out_channels) {
- boost::shared_ptr<Route> r (new Route (*this, _("Master"), PresentationInfo::MasterOut, DataType::AUDIO));
- if (r->init ()) {
- return -1;
+ if (rv) {
+ return rv;
}
- BOOST_MARK_ROUTE(r);
-
- {
- Glib::Threads::Mutex::Lock lm (AudioEngine::instance()->process_lock ());
- r->input()->ensure_io (count, false, this);
- r->output()->ensure_io (count, false, this);
- }
-
- rl.push_back (r);
-
+ if (Config->get_use_monitor_bus())
+ add_monitor_section ();
}
-
- if (!rl.empty()) {
- add_routes (rl, false, false, false, PresentationInfo::max_order);
- }
- }
-
- if (Config->get_use_monitor_bus() && bus_profile) {
- add_monitor_section ();
}
return 0;