20 #ifndef __gtk_ardour_note_base_h__
21 #define __gtk_ardour_note_base_h__
23 #include <boost/shared_ptr.hpp>
25 #include "canvas/types.h"
36 template<
typename T>
class Note;
62 void set_item (ArdourCanvas::Item *);
67 virtual void show() = 0;
68 virtual void hide() = 0;
77 virtual void move_event(
double dx,
double dy) = 0;
95 virtual ArdourCanvas::Coord
x0 ()
const = 0;
96 virtual ArdourCanvas::Coord
y0 ()
const = 0;
97 virtual ArdourCanvas::Coord
x1 ()
const = 0;
98 virtual ArdourCanvas::Coord
y1 ()
const = 0;
109 }
else if (vel < 64) {
113 (vel / (
double)63.0));
118 ((vel-64) / (
double)63.0));
ArdourCanvas::Color color(const std::string &, bool *failed=0) const
virtual ArdourCanvas::Coord x1() const =0
static const uint32_t midi_channel_colors[16]
hue circle divided into 16 equal-looking parts, courtesy Thorsten Wilms
void on_channel_selection_change(uint16_t selection)
static uint32_t calculate_outline(uint32_t color, bool selected=false)
calculate outline colors from fill colors of notes
static PBD::Signal1< void, NoteBase * > NoteBaseDeleted
virtual ArdourCanvas::Coord x0() const =0
virtual ArdourCanvas::Coord y1() const =0
virtual ArdourCanvas::Coord y0() const =0
NoteBase(MidiRegionView ®ion, bool, const boost::shared_ptr< NoteType > note=boost::shared_ptr< NoteType >())
virtual void set_outline_color(uint32_t c)=0
MidiRegionView & region_view() const
ArdourCanvas::Item * item() const
float mouse_x_fraction() const
static uint32_t meter_style_fill_color(uint8_t vel, bool selected)
void set_selected(bool yn)
virtual void set_fill_color(uint32_t c)=0
ArdourCanvas::Item * _item
const boost::shared_ptr< NoteType > note() const
float mouse_y_fraction() const
ArdourCanvas::Text * _text
Evoral::Note< Evoral::Beats > NoteType
virtual void move_event(double dx, double dy)=0
bool event_handler(GdkEvent *)
bool mouse_near_ends() const
virtual void set_ignore_events(bool ignore)=0
ArdourCanvas::Color color_mod(std::string const &color, std::string const &modifier) const
static UIConfiguration * config()
#define UINT_INTERPOLATE(c1, c2, t)
const boost::shared_ptr< NoteType > _note
void on_channel_change(uint8_t channel)
virtual bool big_enough_to_trim() const
void set_item(ArdourCanvas::Item *)
void set_mouse_fractions(GdkEvent *)
LIBARDOUR_API PBD::PropertyDescriptor< bool > color