+void
+ARDOUR_UI::session_add_midi_bus (
+ RouteGroup* route_group,
+ uint32_t how_many,
+ const string& name_template,
+ bool strict_io,
+ PluginInfoPtr instrument)
+{
+ RouteList routes;
+
+ if (_session == 0) {
+ warning << _("You cannot add a track without a session already loaded.") << endmsg;
+ return;
+ }
+
+ try {
+ routes = _session->new_midi_route (route_group, how_many, name_template, instrument);
+ if (routes.size() != how_many) {
+ error << string_compose(P_("could not create %1 new Midi Bus", "could not create %1 new Midi Busses", how_many), how_many) << endmsg;
+ }
+
+ }
+ catch (...) {
+ display_insufficient_ports_message ();
+ return;
+ }
+
+ if (strict_io) {
+ for (RouteList::iterator i = routes.begin(); i != routes.end(); ++i) {
+ (*i)->set_strict_io (true);
+ }
+ }
+}