SerializedRCUManager<RouteList> routes;
- void add_routes (RouteList&, bool auto_connect, bool save);
+ void add_routes (RouteList&, bool input_auto_connect, bool output_auto_connect, bool save);
uint32_t destructive_index;
boost::shared_ptr<Route> XMLRouteFactory (const XMLNode&, int);
}
rl.push_back (r);
- add_routes (rl, false, false);
+ add_routes (rl, false, false, false);
assert (_monitor_out);
failed:
if (!new_routes.empty()) {
- add_routes (new_routes, true, true);
+ add_routes (new_routes, true, true, true);
if (instrument) {
for (RouteList::iterator r = new_routes.begin(); r != new_routes.end(); ++r) {
failed:
if (!new_routes.empty()) {
- add_routes (new_routes, true, true);
+ add_routes (new_routes, true, true, true);
}
return ret;
failure:
if (!ret.empty()) {
- add_routes (ret, false, true);
+ add_routes (ret, false, true, true); // autoconnect outputs only
}
return ret;
out:
if (!ret.empty()) {
- add_routes (ret, true, true);
+ add_routes (ret, true, true, true);
IO::enable_connecting ();
}
}
void
-Session::add_routes (RouteList& new_routes, bool auto_connect, bool save)
+Session::add_routes (RouteList& new_routes, bool input_auto_connect, bool output_auto_connect, bool save)
{
ChanCount existing_inputs;
ChanCount existing_outputs;
}
}
- if (auto_connect) {
- auto_connect_route (r, existing_inputs, existing_outputs, true);
+ if (input_auto_connect || output_auto_connect) {
+ auto_connect_route (r, existing_inputs, existing_outputs, true, input_auto_connect);
}
}
}
if (!rl.empty()) {
- add_routes (rl, false, false);
+ add_routes (rl, false, false, false);
}
/* this allows the user to override settings with an environment variable.
new_routes.push_back (route);
}
- add_routes (new_routes, false, false);
+ add_routes (new_routes, false, false, false);
return 0;
}