X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fmidi_channel_selector.cc;h=a5b03773582b5c48489756a325276d294f8d4166;hb=9a45e0fde9eb6297ea4cc246aa2ef5d085ebe49b;hp=9502a6879b56d629060214201f1134ea433136c4;hpb=4dc63966f0872efe768dad61eb9b8785d06b92d1;p=ardour.git
diff --git a/gtk2_ardour/midi_channel_selector.cc b/gtk2_ardour/midi_channel_selector.cc
index 9502a6879b..a5b0377358 100644
--- a/gtk2_ardour/midi_channel_selector.cc
+++ b/gtk2_ardour/midi_channel_selector.cc
@@ -38,7 +38,7 @@
#include "midi_channel_selector.h"
#include "rgb_macros.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace std;
using namespace Gtk;
@@ -367,28 +367,21 @@ MidiChannelSelectorWindow::build ()
vpacker->set_spacing (6);
vpacker->set_border_width (12);
- l = manage (new Label (string_compose (("%1: %2"), _("MIDI Channel Control"), track->name())));
+ l = manage (new Label (string_compose ("%1", _("Inbound"))));
l->set_use_markup (true);
- l->set_alignment (0.5, 0.0);
-
- vpacker->pack_start (*l, true, true);
-
- l = manage (new Label (string_compose ("%1", _("Inbound"))));
- l->set_use_markup (true);
- vpacker->pack_start (*l);
-
+ vpacker->pack_start (*l, true, true);
vpacker->pack_start (capture_all_button);
capture_all_button.signal_toggled().connect (sigc::bind (sigc::mem_fun (*this, &MidiChannelSelectorWindow::capture_mode_toggled), AllChannels));
-
+
vpacker->pack_start (capture_filter_button);
capture_filter_button.signal_toggled().connect (sigc::bind (sigc::mem_fun (*this, &MidiChannelSelectorWindow::capture_mode_toggled), FilterChannels));
-
+
vpacker->pack_start (capture_force_button);
capture_force_button.signal_toggled().connect (sigc::bind (sigc::mem_fun (*this, &MidiChannelSelectorWindow::capture_mode_toggled), ForceChannel));
vpacker->pack_start (capture_mask_box);
-
+
capture_controls = manage (new HBox);
capture_controls->set_spacing (6);
@@ -410,16 +403,19 @@ MidiChannelSelectorWindow::build ()
vpacker->pack_start (*capture_controls);
+ Gtk::HSeparator *hseparator2 = manage(new Gtk::HSeparator);
+ vpacker->pack_start (*hseparator2, false, false, 6);
+
l = manage (new Label (string_compose ("%1", _("Playback"))));
l->set_use_markup (true);
vpacker->pack_start (*l);
vpacker->pack_start (playback_all_button);
playback_all_button.signal_toggled().connect (sigc::bind (sigc::mem_fun (*this, &MidiChannelSelectorWindow::playback_mode_toggled), AllChannels));
-
+
vpacker->pack_start (playback_filter_button);
playback_filter_button.signal_toggled().connect (sigc::bind (sigc::mem_fun (*this, &MidiChannelSelectorWindow::playback_mode_toggled), FilterChannels));
-
+
vpacker->pack_start (playback_force_button);
playback_force_button.signal_toggled().connect (sigc::bind (sigc::mem_fun (*this, &MidiChannelSelectorWindow::playback_mode_toggled), ForceChannel));
@@ -496,7 +492,7 @@ MidiChannelSelectorWindow::invert_capture_mask ()
track->set_capture_channel_mask (~track->get_capture_channel_mask());
}
}
-
+
void
MidiChannelSelectorWindow::set_playback_selected_channels (uint16_t mask)
{
@@ -510,7 +506,7 @@ MidiChannelSelectorWindow::set_playback_selected_channels (uint16_t mask)
playback_buttons[i]->set_active ((1<set_active ((1<set_sensitive (false);
}
}
-
+
if (mode != ForceChannel) {
set_playback_selected_channels (track->get_playback_channel_mask());
}
@@ -650,6 +646,8 @@ MidiChannelSelectorWindow::playback_mode_changed ()
}
}
+ playback_mask_changed(); // update buttons
+
last_drawn_playback_mode = mode;
}
@@ -703,10 +701,10 @@ MidiChannelSelectorWindow::capture_mode_changed ()
if (capture_buttons.empty()) {
Gtkmm2ext::container_clear (capture_mask_box);
-
+
ToggleButton* tb;
RadioButtonGroup group;
-
+
for (uint32_t n = 0; n < 16; ++n) {
char buf[3];
snprintf (buf, sizeof (buf), "%d", n+1);
@@ -736,7 +734,7 @@ MidiChannelSelectorWindow::capture_mode_changed ()
tb->set_sensitive (false);
}
}
-
+
if (mode != ForceChannel) {
set_capture_selected_channels (track->get_capture_channel_mask());
}
@@ -748,6 +746,8 @@ MidiChannelSelectorWindow::capture_mode_changed ()
}
}
+ capture_mask_changed (); // udpate buttons
+
last_drawn_capture_mode = mode;
}
@@ -803,7 +803,7 @@ MidiChannelSelectorWindow::capture_mode_toggled (ChannelMode mode)
so we take action only if the button is active (i.e it is the one
just clicked on)
*/
-
+
switch (mode) {
case AllChannels:
if (capture_all_button.get_active()) {
@@ -833,7 +833,7 @@ MidiChannelSelectorWindow::playback_mode_toggled (ChannelMode mode)
so we take action only if the button is active (i.e it is the one
just clicked on)
*/
-
+
switch (mode) {
case AllChannels:
if (playback_all_button.get_active()) {
@@ -860,7 +860,7 @@ MidiChannelSelectorWindow::set_channel_colors (const uint32_t new_channel_colors
char color_normal[8];
char color_active[8];
-
+
snprintf(color_normal, 8, "#%x", UINT_INTERPOLATE(new_channel_colors[n], 0x000000ff, 0.6));
snprintf(color_active, 8, "#%x", new_channel_colors[n]);