diff options
author | Hans Baier <hansfbaier@googlemail.com> | 2008-12-25 09:28:57 +0000 |
---|---|---|
committer | Hans Baier <hansfbaier@googlemail.com> | 2008-12-25 09:28:57 +0000 |
commit | c3636a8c61401c2e487313566348e0f6d1fab990 (patch) | |
tree | 5644ecea7aff1f36061270cf11b407c0e99c23c2 /gtk2_ardour/midi_channel_selector.cc | |
parent | acf19ca513dcb76448288d139f01f1815a8080b3 (diff) |
* Made MIDI channel coloring work in the track channel selector
* added loudspeaker button to MIDI toolbar
git-svn-id: svn://localhost/ardour2/branches/3.0@4347 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_channel_selector.cc')
-rw-r--r-- | gtk2_ardour/midi_channel_selector.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gtk2_ardour/midi_channel_selector.cc b/gtk2_ardour/midi_channel_selector.cc index 281c6f5e2d..4415a65f65 100644 --- a/gtk2_ardour/midi_channel_selector.cc +++ b/gtk2_ardour/midi_channel_selector.cc @@ -21,6 +21,7 @@ #include "midi_channel_selector.h" #include "gtkmm/separator.h" #include "i18n.h" +#include "rgb_macros.h" using namespace std; using namespace Gtk; @@ -63,6 +64,32 @@ MidiChannelSelector::~MidiChannelSelector() { } +void +MidiChannelSelector::set_channel_colors(const uint32_t new_channel_colors[16]) +{ + for (int row = 0; row < 4; ++row) { + for (int column = 0; column < 4; ++column) { + char color_normal[8]; + char color_active[8]; + snprintf(color_normal, 8, "#%x", UINT_INTERPOLATE(new_channel_colors[row * 4 + column], 0x000000ff, 0.6)); + snprintf(color_active, 8, "#%x", new_channel_colors[row * 4 + column]); + _buttons[row][column].modify_bg(STATE_NORMAL, Gdk::Color(color_normal)); + _buttons[row][column].modify_bg(STATE_ACTIVE, Gdk::Color(color_active)); + } + } +} + +void +MidiChannelSelector::set_default_channel_color() +{ + for (int row = 0; row < 4; ++row) { + for (int column = 0; column < 4; ++column) { + _buttons[row][column].unset_bg(STATE_NORMAL); + _buttons[row][column].unset_bg(STATE_ACTIVE); + } + } +} + SingleMidiChannelSelector::SingleMidiChannelSelector(uint8_t active_channel) : MidiChannelSelector() { |