X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpiano_roll_header.h;h=bb87d36e4dd341917dc9b929a5545d18650e1d25;hb=5fef65538040fbac1b9edd1847a269aa925a49c9;hp=986a7fafc9a31787ede126ed6e51fda322b36960;hpb=5c60257b4aa9c31c25c6afea95208e4fffc8465b;p=ardour.git diff --git a/gtk2_ardour/piano_roll_header.h b/gtk2_ardour/piano_roll_header.h index 986a7fafc9..bb87d36e4d 100644 --- a/gtk2_ardour/piano_roll_header.h +++ b/gtk2_ardour/piano_roll_header.h @@ -1,5 +1,6 @@ /* - Copyright (C) 2008 Paul Davis + Copyright (C) 2008 Paul Davis + Author: Audan Holland ?? This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +20,7 @@ #ifndef __ardour_piano_roll_header_h__ #define __ardour_piano_roll_header_h__ -#include +#include "ardour/types.h" #include @@ -29,6 +30,7 @@ namespace ARDOUR { class MidiTimeAxisView; class MidiStreamView; +class PublicEditor; class PianoRollHeader : public Gtk::DrawingArea { public: @@ -51,12 +53,17 @@ public: Color(); Color(double _r, double _g, double _b); inline void set(const Color& c); - + double r; double g; double b; }; + sigc::signal SetNoteSelection; + sigc::signal AddNoteSelection; + sigc::signal ToggleNoteSelection; + sigc::signal ExtendNoteSelection; + private: static Color white; static Color white_highlight; @@ -87,6 +94,8 @@ private: void send_note_on(uint8_t note); void send_note_off(uint8_t note); + void reset_clicked_note(uint8_t, bool invalidate = true); + MidiStreamView& _view; uint8_t _event[3]; @@ -97,9 +106,11 @@ private: uint8_t _clicked_note; double _grab_y; bool _dragging; - + double _note_height; double _black_note_width; + + PublicEditor& editor() const; }; #endif /* __ardour_piano_roll_header_h__ */