add in more Tracks-related auto-(re)connect changes, all conditionalized by Profile

This commit is contained in:
Paul Davis 2015-05-08 20:39:39 -04:00
parent c46ec135e5
commit bebb03a0a4
2 changed files with 30 additions and 17 deletions

View file

@ -853,7 +853,13 @@ Session::auto_connect_master_bus ()
if (!_master_out || !Config->get_auto_connect_standard_busses() || _monitor_out) {
return;
}
// Waves Tracks: Do not connect master bas for Tracks if AutoConnectMaster option is not set
// In this case it means "Multi Out" output mode
if (ARDOUR::Profile->get_trx() && !(Config->get_output_auto_connect() & AutoConnectMaster) ) {
return;
}
/* if requested auto-connect the outputs to the first N physical ports.
*/

View file

@ -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) {