X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fcanvas-note-event.h;h=9546141d8bc32fa1bfabd03fdc66c695cbe15716;hb=3b4beb03b2a92ebfd1a9610b822360135c18038d;hp=305988667dc3e11514b4f353bcd7ab03514cf054;hpb=0bf3eb77591afc4aa8d0d6b5efa72273f02b109e;p=ardour.git diff --git a/gtk2_ardour/canvas-note-event.h b/gtk2_ardour/canvas-note-event.h index 305988667d..9546141d8b 100644 --- a/gtk2_ardour/canvas-note-event.h +++ b/gtk2_ardour/canvas-note-event.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2007 Paul Davis + Copyright (C) 2007 Paul Davis Author: Dave Robillard This program is free software; you can redistribute it and/or modify @@ -66,35 +66,40 @@ public: virtual void hide() = 0; virtual bool on_event(GdkEvent* ev); + bool valid() const { return _valid; } + void invalidate (); + void validate (); + bool selected() const { return _selected; } void selected(bool yn); - void move_event(double dx, double dy); - + virtual void move_event(double dx, double dy) = 0; + uint32_t base_color(); - + void show_velocity(); void hide_velocity(); - + /** Channel changed for this specific event */ void on_channel_change(uint8_t channel); /** Channel selection changed */ void on_channel_selection_change(uint16_t selection); - + void show_channel_selector(); void hide_channel_selector(); virtual void set_outline_color(uint32_t c) = 0; virtual void set_fill_color(uint32_t c) = 0; - + virtual double x1() = 0; virtual double y1() = 0; virtual double x2() = 0; virtual double y2() = 0; 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( @@ -108,12 +113,12 @@ public: ((vel-64) / (double)63.0)); } } - + /// calculate outline colors from fill colors of notes inline static uint32_t calculate_outline(uint32_t color) { return UINT_INTERPOLATE(color, 0x000000ff, 0.5); } - + /// hue circle divided into 16 equal-looking parts, courtesy Thorsten Wilms static const uint32_t midi_channel_colors[16]; @@ -128,6 +133,7 @@ protected: const boost::shared_ptr _note; bool _own_note; bool _selected; + bool _valid; }; } // namespace Gnome