X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcanvas-note-event.h;h=c1795c330e4a766870153030bf3eb48e5e20ea43;hb=71a4796dc3dbf8a7fe1df5c5d7acea388b40eae0;hp=05046a388ff366832df1aaefc5d860c8b8fdfb06;hpb=806a22fefe8bc79c0307a6c3f6bfbde1185e7574;p=ardour.git 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 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