protected:
virtual void button_toggled(Gtk::ToggleButton* button, uint8_t button_nr) = 0;
- Gtk::Label _button_labels[4][4];
+ Gtk::Label _button_labels[4][4];
Gtkmm2ext::StatefulToggleButton _buttons[4][4];
- int _recursion_counter;
- bool was_clicked (GdkEventButton*);
+ int _recursion_counter;
+
+ bool was_clicked (GdkEventButton*);
};
class SingleMidiChannelSelector : public MidiChannelSelector
}
}
- HBox* midi_controls_hbox = manage(new HBox());
MIDI::Name::MidiPatchManager& patch_manager = MIDI::Name::MidiPatchManager::instance();
ARDOUR_UI::instance()->set_tip (_model_selector, _("External MIDI Device"));
ARDOUR_UI::instance()->set_tip (_custom_device_mode_selector, _("External Device Mode"));
- midi_controls_hbox->pack_start(_channel_selector, true, false);
+ _midi_controls_box.set_homogeneous(false);
+
if (!patch_manager.all_models().empty()) {
+ _midi_controls_box.resize(3, 3);
_midi_controls_box.set_border_width (5);
- _midi_controls_box.pack_start(_model_selector, true, false);
- _midi_controls_box.pack_start(_custom_device_mode_selector, true, false);
+ _midi_controls_box.attach(_channel_selector, 1, 2, 0, 1);
+ _midi_controls_box.attach(*(new Label(" ", false)), 0, 1, 1, 2);
+ _midi_controls_box.attach(*(new Label(" ", false)), 2, 3, 1, 2);
+ _midi_controls_box.attach(_model_selector, 1, 2, 1, 2);
+ _midi_controls_box.attach(_custom_device_mode_selector, 1, 2, 2, 3);
+ } else {
+ _midi_controls_box.attach(_channel_selector, 1, 2, 0, 1);
}
- _midi_controls_box.pack_start(*midi_controls_hbox, true, true);
-
controls_vbox.pack_start(_midi_controls_box, false, false);
// restore channel selector settings
Gtk::RadioMenuItem* _meter_color_mode_item;
Gtk::RadioMenuItem* _channel_color_mode_item;
Gtk::RadioMenuItem* _track_color_mode_item;
- Gtk::VBox _midi_controls_box;
+ Gtk::Table _midi_controls_box;
MidiMultipleChannelSelector _channel_selector;
Gtk::ComboBoxText _model_selector;
Gtk::ComboBoxText _custom_device_mode_selector;