summaryrefslogtreecommitdiff
path: root/libs/ardour/session_state.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-05-08 20:39:39 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-06-29 14:18:11 -0400
commitbebb03a0a4cf2f524dace6b5a61fc8da0b56adcb (patch)
tree8b85c83a2696bb8f150d53cf6a8106edfd3ed03f /libs/ardour/session_state.cc
parentc46ec135e57e4e71d3e296503ee61b4ea527b0eb (diff)
add in more Tracks-related auto-(re)connect changes, all conditionalized by Profile
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r--libs/ardour/session_state.cc39
1 files changed, 23 insertions, 16 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index a124f4fc12..267eaa0928 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -507,10 +507,12 @@ Session::create (const string& session_template, BusProfile* bus_profile)
out << in.rdbuf();
_is_new = false;
- /* Copy plugin state files from template to new session */
- std::string template_plugins = Glib::build_filename (session_template, X_("plugins"));
- copy_recurse (template_plugins, plugins_dir ());
-
+ if (!ARDOUR::Profile->get_trx()) {
+ /* Copy plugin state files from template to new session */
+ std::string template_plugins = Glib::build_filename (session_template, X_("plugins"));
+ copy_recurse (template_plugins, plugins_dir ());
+ }
+
return 0;
} else {
@@ -538,8 +540,9 @@ Session::create (const string& session_template, BusProfile* bus_profile)
RouteList rl;
ChanCount count(DataType::AUDIO, bus_profile->master_out_channels);
- if (bus_profile->master_out_channels) {
- boost::shared_ptr<Route> r (new Route (*this, _("Master"), Route::MasterOut, DataType::AUDIO));
+ // 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"), Route::MasterOut, DataType::AUDIO));
if (r->init ()) {
return -1;
}
@@ -563,16 +566,20 @@ Session::create (const string& session_template, BusProfile* bus_profile)
add_routes (rl, false, false, false);
}
- /* this allows the user to override settings with an environment variable.
- */
-
- if (no_auto_connect()) {
- bus_profile->input_ac = AutoConnectOption (0);
- bus_profile->output_ac = AutoConnectOption (0);
- }
-
- Config->set_input_auto_connect (bus_profile->input_ac);
- Config->set_output_auto_connect (bus_profile->output_ac);
+ // Waves Tracks: Skip this. Always use autoconnection for Tracks
+ if (!ARDOUR::Profile->get_trx()) {
+
+ /* this allows the user to override settings with an environment variable.
+ */
+
+ if (no_auto_connect()) {
+ bus_profile->input_ac = AutoConnectOption (0);
+ bus_profile->output_ac = AutoConnectOption (0);
+ }
+
+ Config->set_input_auto_connect (bus_profile->input_ac);
+ Config->set_output_auto_connect (bus_profile->output_ac);
+ }
}
if (Config->get_use_monitor_bus() && bus_profile) {