X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpiano_roll_header.h;h=bb87d36e4dd341917dc9b929a5545d18650e1d25;hb=82be348d429b97f3e223b3a5b1c6807d23fcdaa0;hp=141e7663f5de6114e2577d13b62c63782545580b;hpb=2db91c126edc8fcaeda711d35369970576715719;p=ardour.git diff --git a/gtk2_ardour/piano_roll_header.h b/gtk2_ardour/piano_roll_header.h index 141e7663f5..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,18 +94,23 @@ 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; - ARDOUR::Byte _event[3]; + uint8_t _event[3]; Cairo::RefPtr cc; bool _active_notes[128]; uint8_t _highlighted_note; 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__ */