diff options
author | Carl Hetherington <carl@carlh.net> | 2011-05-16 18:18:13 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-05-16 18:18:13 +0000 |
commit | 739030372838d0eb71481ed8a4750fe9df6f2945 (patch) | |
tree | 39d33c6e0112bab5e9c53d0545e18d3f0ca3c079 /gtk2_ardour/midi_time_axis.cc | |
parent | 29dd7bbac783b3f28527c7aa5a7a1fbe94e84e08 (diff) |
Make MIDI channel selector button colours more distinct (#3772).
git-svn-id: svn://localhost/ardour2/branches/3.0@9524 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_time_axis.cc')
-rw-r--r-- | gtk2_ardour/midi_time_axis.cc | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc index 2f809ce2e1..7b080dd97d 100644 --- a/gtk2_ardour/midi_time_axis.cc +++ b/gtk2_ardour/midi_time_axis.cc @@ -226,6 +226,8 @@ MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session* sess, _percussion_mode_item->set_active (_note_mode == Percussive); } } + + set_color_mode (_color_mode, true); } void @@ -759,17 +761,17 @@ MidiTimeAxisView::build_color_mode_menu() RadioMenuItem::Group mode_group; items.push_back (RadioMenuElem (mode_group, _("Meter Colors"), - sigc::bind (sigc::mem_fun (*this, &MidiTimeAxisView::set_color_mode), MeterColors))); + sigc::bind (sigc::mem_fun (*this, &MidiTimeAxisView::set_color_mode), MeterColors, false))); _meter_color_mode_item = dynamic_cast<RadioMenuItem*>(&items.back()); _meter_color_mode_item->set_active(_color_mode == MeterColors); items.push_back (RadioMenuElem (mode_group, _("Channel Colors"), - sigc::bind (sigc::mem_fun (*this, &MidiTimeAxisView::set_color_mode), ChannelColors))); + sigc::bind (sigc::mem_fun (*this, &MidiTimeAxisView::set_color_mode), ChannelColors, false))); _channel_color_mode_item = dynamic_cast<RadioMenuItem*>(&items.back()); _channel_color_mode_item->set_active(_color_mode == ChannelColors); items.push_back (RadioMenuElem (mode_group, _("Track Color"), - sigc::bind (sigc::mem_fun (*this, &MidiTimeAxisView::set_color_mode), TrackColor))); + sigc::bind (sigc::mem_fun (*this, &MidiTimeAxisView::set_color_mode), TrackColor, false))); _channel_color_mode_item = dynamic_cast<RadioMenuItem*>(&items.back()); _channel_color_mode_item->set_active(_color_mode == TrackColor); @@ -788,19 +790,21 @@ MidiTimeAxisView::set_note_mode(NoteMode mode) } void -MidiTimeAxisView::set_color_mode(ColorMode mode) +MidiTimeAxisView::set_color_mode (ColorMode mode, bool force) { - if (_color_mode != mode) { - if (mode == ChannelColors) { - _channel_selector.set_channel_colors(CanvasNoteEvent::midi_channel_colors); - } else { - _channel_selector.set_default_channel_color(); - } - - _color_mode = mode; - xml_node->add_property ("color-mode", enum_2_string(_color_mode)); - _view->redisplay_track(); + if (_color_mode == mode && !force) { + return; } + + if (mode == ChannelColors) { + _channel_selector.set_channel_colors(CanvasNoteEvent::midi_channel_colors); + } else { + _channel_selector.set_default_channel_color(); + } + + _color_mode = mode; + xml_node->add_property ("color-mode", enum_2_string(_color_mode)); + _view->redisplay_track(); } void |