diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-06-24 21:22:00 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-06-24 21:22:00 +0000 |
commit | db55b149eb6b65bc3efa723ebe266f1035bb702f (patch) | |
tree | 7335adba1e762a3ab80a732655e6d7b932c59b67 /gtk2_ardour/canvas-note-event.cc | |
parent | 806a22fefe8bc79c0307a6c3f6bfbde1185e7574 (diff) |
change the way MIDI note colors are defined (2 3-point color ranges, one for selected, one for unselected); change default scroll action on selected midi notes to "fine" adjustment rather than "coarse" (now alt-scroll)
git-svn-id: svn://localhost/ardour2/branches/3.0@7302 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/canvas-note-event.cc')
-rw-r--r-- | gtk2_ardour/canvas-note-event.cc | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/gtk2_ardour/canvas-note-event.cc b/gtk2_ardour/canvas-note-event.cc index c85cdc39d2..f660f8e8ba 100644 --- a/gtk2_ardour/canvas-note-event.cc +++ b/gtk2_ardour/canvas-note-event.cc @@ -172,17 +172,17 @@ CanvasNoteEvent::set_selected(bool selected) { if (!_note) { return; - } else if (selected) { - set_fill_color(UINT_INTERPOLATE(base_color(), - ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(), 0.5)); - set_outline_color(calculate_outline( - ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get())); + } + + _selected = selected; + set_fill_color (base_color ()); + + if (_selected) { + set_outline_color(calculate_outline(ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get())); } else { - set_fill_color(base_color()); set_outline_color(calculate_outline(base_color())); } - _selected = selected; } #define SCALE_USHORT_TO_UINT8_T(x) ((x) / 257) @@ -201,19 +201,21 @@ CanvasNoteEvent::base_color() case TrackColor: { Gdk::Color color = _region.midi_stream_view()->get_region_color(); - return RGBA_TO_UINT( - SCALE_USHORT_TO_UINT8_T(color.get_red()), - SCALE_USHORT_TO_UINT8_T(color.get_green()), - SCALE_USHORT_TO_UINT8_T(color.get_blue()), - opacity); + return UINT_INTERPOLATE (RGBA_TO_UINT( + SCALE_USHORT_TO_UINT8_T(color.get_red()), + SCALE_USHORT_TO_UINT8_T(color.get_green()), + SCALE_USHORT_TO_UINT8_T(color.get_blue()), + opacity), + ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(), 0.5); } case ChannelColors: - return UINT_RGBA_CHANGE_A(CanvasNoteEvent::midi_channel_colors[_note->channel()], - opacity); + return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (CanvasNoteEvent::midi_channel_colors[_note->channel()], + opacity), + ARDOUR_UI::config()->canvasvar_MidiNoteSelected.get(), 0.5); default: - return meter_style_fill_color(_note->velocity()); + return meter_style_fill_color(_note->velocity(), selected()); }; return 0; |