hide strict-i/o UI for Mixbus

This commit is contained in:
Robin Gareus 2016-04-15 14:53:18 +02:00
parent ed3eddaf19
commit 6f4ccfcd3b
3 changed files with 20 additions and 12 deletions

View File

@ -164,13 +164,18 @@ AddRouteDialog::AddRouteDialog ()
++n;
/* New Route's Routing is.. */
l = manage (new Label (_("Output Ports:"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
table2->attach (*l, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0);
table2->attach (strict_io_combo, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
ARDOUR_UI_UTILS::set_tooltip (strict_io_combo,
_("With strict-i/o enabled, Effect Processors will not modify the number of channels on a track. The number of output channels will always match the number of input channels."));
++n;
if (Profile->get_mixbus ()) {
strict_io_combo.set_active (1);
} else {
l = manage (new Label (_("Output Ports:"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
table2->attach (*l, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0);
table2->attach (strict_io_combo, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
ARDOUR_UI_UTILS::set_tooltip (strict_io_combo,
_("With strict-i/o enabled, Effect Processors will not modify the number of channels on a track. The number of output channels will always match the number of input channels."));
++n;
}
options_box->pack_start (*table2, false, true);
vbox->pack_start (*options_box, false, true);

View File

@ -1591,11 +1591,13 @@ 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())));
if (!Profile->get_mixbus ()) {
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());

View File

@ -32,6 +32,7 @@
#include "ardour/audioengine.h"
#include "ardour/plugin.h"
#include "ardour/port.h"
#include "ardour/profile.h"
#include "ardour/session.h"
#include "plugin_pin_dialog.h"
@ -776,7 +777,7 @@ PluginPinDialog::darea_expose_event (GdkEventExpose* ev)
cairo_set_source_rgba (cr, 1., 1., 1., 1.);
pango_cairo_show_layout (cr, layout->gobj ());
if (_pi->strict_io ()) {
if (_pi->strict_io () && !Profile->get_mixbus ()) {
layout->set_text (_("Strict I/O"));
layout->get_pixel_size (text_width, text_height);
const double sx0 = _margin_x + .5 * (_innerwidth - text_width);