extend strict-i/o to include route outputs.
[ardour.git] / gtk2_ardour / mixer_strip.cc
index 553f44a10ded181014a2bd52ad33d8b4e2eef92e..72ed56698254b9a438d9890fb5bbc1a2d9619ded 100644 (file)
@@ -1355,6 +1355,8 @@ MixerStrip::update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width widt
                set_tooltip (&output_button, tooltip_cstr);
        }
 
+       delete [] tooltip_cstr;
+
        if (each_io_has_one_connection) {
                if (total_connection_count == ardour_connection_count) {
                        // all connections are to the same track in ardour
@@ -1587,6 +1589,12 @@ MixerStrip::build_route_ops_menu ()
        i->set_sensitive(! _session->transport_rolling());
        i->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &RouteUI::set_route_active), !_route->active(), false));
 
+       items.push_back (SeparatorElem());
+       items.push_back (CheckMenuElem (_("Strict I/O")));
+       i = dynamic_cast<Gtk::CheckMenuItem *> (&items.back());
+       i->set_active (_route->strict_io());
+       i->signal_activate().connect (sigc::hide_return (sigc::bind (sigc::mem_fun (*_route, &Route::set_strict_io), !_route->strict_io())));
+
        items.push_back (SeparatorElem());
 
        items.push_back (MenuElem (_("Adjust Latency..."), sigc::mem_fun (*this, &RouteUI::adjust_latency)));
@@ -1596,10 +1604,8 @@ MixerStrip::build_route_ops_menu ()
        denormal_menu_item = dynamic_cast<Gtk::CheckMenuItem *> (&items.back());
        denormal_menu_item->set_active (_route->denormal_protection());
 
-       if (!Profile->get_sae()) {
-               items.push_back (SeparatorElem());
-               items.push_back (MenuElem (_("Remote Control ID..."), sigc::mem_fun (*this, &RouteUI::open_remote_control_id_dialog)));
-       }
+       items.push_back (SeparatorElem());
+       items.push_back (MenuElem (_("Remote Control ID..."), sigc::mem_fun (*this, &RouteUI::open_remote_control_id_dialog)));
 
        if (_route) {
                /* note that this relies on selection being shared across editor and