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.h | |
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.h')
-rw-r--r-- | gtk2_ardour/canvas-note-event.h | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/gtk2_ardour/canvas-note-event.h b/gtk2_ardour/canvas-note-event.h index 05046a388f..c1795c330e 100644 --- a/gtk2_ardour/canvas-note-event.h +++ b/gtk2_ardour/canvas-note-event.h @@ -103,18 +103,32 @@ class CanvasNoteEvent : virtual public sigc::trackable const boost::shared_ptr<NoteType> note() const { return _note; } MidiRegionView& region_view() const { return _region; } - inline static uint32_t meter_style_fill_color(uint8_t vel) { - if (vel < 64) { - return UINT_INTERPOLATE( - ARDOUR_UI::config()->canvasvar_MidiNoteMeterColorBase.get(), - ARDOUR_UI::config()->canvasvar_MidiNoteMeterColorMid.get(), + inline static uint32_t meter_style_fill_color(uint8_t vel, bool selected) { + if (selected) { + if (vel < 64) { + return UINT_INTERPOLATE( + ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorBase.get(), + ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorMid.get(), (vel / (double)63.0)); - } else { - return UINT_INTERPOLATE( - ARDOUR_UI::config()->canvasvar_MidiNoteMeterColorMid.get(), - ARDOUR_UI::config()->canvasvar_MidiNoteMeterColorTop.get(), + } else { + return UINT_INTERPOLATE( + ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorMid.get(), + ARDOUR_UI::config()->canvasvar_SelectedMidiNoteColorTop.get(), ((vel-64) / (double)63.0)); - } + } + } else { + if (vel < 64) { + return UINT_INTERPOLATE( + ARDOUR_UI::config()->canvasvar_MidiNoteColorBase.get(), + ARDOUR_UI::config()->canvasvar_MidiNoteColorMid.get(), + (vel / (double)63.0)); + } else { + return UINT_INTERPOLATE( + ARDOUR_UI::config()->canvasvar_MidiNoteColorMid.get(), + ARDOUR_UI::config()->canvasvar_MidiNoteColorTop.get(), + ((vel-64) / (double)63.0)); + } + } } /// calculate outline colors from fill colors of notes |