*
* A newer, better canvas should remove the need for all the ugly here.
*/
-class CanvasNoteEvent : public sigc::trackable, public InteractiveItem {
+class CanvasNoteEvent : virtual public sigc::trackable, public InteractiveItem {
public:
typedef Evoral::Note<double> NoteType;
CanvasNoteEvent(
virtual ~CanvasNoteEvent();
+ virtual void show() = 0;
+ virtual void hide() = 0;
virtual bool on_event(GdkEvent* ev);
bool selected() const { return _selected; }
void show_velocity();
void hide_velocity();
- /**
- * This slot is called, when a new channel is selected for the single event
- * */
+ /** 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();
const boost::shared_ptr<NoteType> note() const { return _note; }
- inline static uint32_t meter_style_fill_color(uint8_t vel)
- {
+ inline static uint32_t meter_style_fill_color(uint8_t vel) {
if (vel < 64) {
return UINT_INTERPOLATE(
ARDOUR_UI::config()->canvasvar_MidiNoteMeterColorBase.get(),
}
/// calculate outline colors from fill colors of notes
- inline static uint32_t calculate_outline(uint32_t color)
- {
+ inline static uint32_t calculate_outline(uint32_t color) {
return UINT_INTERPOLATE(color, 0x000000ff, 0.5);
}
- /// dividing the hue circle in 16 parts, hand adjusted for equal look, courtesy Thorsten Wilms
+ /// hue circle divided into 16 equal-looking parts, courtesy Thorsten Wilms
static const uint32_t midi_channel_colors[16];
protected: