summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/route_ui.cc')
-rw-r--r--gtk2_ardour/route_ui.cc42
1 files changed, 27 insertions, 15 deletions
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index 0da6bde4f0..b6c81717a2 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -1716,27 +1716,39 @@ void
RouteUI::open_remote_control_id_dialog ()
{
ArdourDialog dialog (_("Remote Control ID"));
+ SpinButton* spin = 0;
- uint32_t const limit = _session->ntracks() + _session->nbusses () + 4;
+ dialog.get_vbox()->set_border_width (18);
- HBox* hbox = manage (new HBox);
- hbox->set_spacing (6);
- hbox->pack_start (*manage (new Label (_("Remote control ID:"))));
- SpinButton* spin = manage (new SpinButton);
- spin->set_digits (0);
- spin->set_increments (1, 10);
- spin->set_range (0, limit);
- spin->set_value (_route->remote_control_id());
- hbox->pack_start (*spin);
- dialog.get_vbox()->pack_start (*hbox);
-
- dialog.add_button (Stock::CANCEL, RESPONSE_CANCEL);
- dialog.add_button (Stock::APPLY, RESPONSE_ACCEPT);
+ if (Config->get_remote_model() == UserOrdered) {
+ uint32_t const limit = _session->ntracks() + _session->nbusses () + 4;
+
+ HBox* hbox = manage (new HBox);
+ hbox->set_spacing (6);
+ hbox->pack_start (*manage (new Label (_("Remote control ID:"))));
+ spin = manage (new SpinButton);
+ spin->set_digits (0);
+ spin->set_increments (1, 10);
+ spin->set_range (0, limit);
+ spin->set_value (_route->remote_control_id());
+ hbox->pack_start (*spin);
+ dialog.get_vbox()->pack_start (*hbox);
+
+ dialog.add_button (Stock::CANCEL, RESPONSE_CANCEL);
+ dialog.add_button (Stock::APPLY, RESPONSE_ACCEPT);
+ } else {
+ Label* l = manage (new Label());
+ l->set_markup (string_compose (_("Remote Control IDs are currently determined by track/bus ordering in %1\n\n\n"
+ "<span size=\"small\" style=\"italic\">Use the User Interaction tab of the Preferences window if you want to change this</span>"),
+ (Config->get_remote_model() == MixerOrdered ? _("the mixer") : ("the editor"))));
+ dialog.get_vbox()->pack_start (*l);
+ dialog.add_button (Stock::OK, RESPONSE_CANCEL);
+ }
dialog.show_all ();
int const r = dialog.run ();
- if (r == RESPONSE_ACCEPT) {
+ if (r == RESPONSE_ACCEPT && spin) {
_route->set_remote_control_id (spin->get_value_as_int ());
}
}