Zoom session when the mouse pointer is moved up and down during a playhead drag.
[ardour2.git] / gtk2_ardour / note_player.h
blob7df4af4445d1e93d1ff9f4d72dd8f5ab00ef99bc
1 #ifndef __gtk2_ardour_note_player_h__
2 #define __gtk2_ardour_note_player_h__
4 #include <vector>
5 #include <boost/shared_ptr.hpp>
6 #include <sigc++/trackable.h>
8 #include "evoral/Note.hpp"
10 namespace ARDOUR {
11 class MidiTrack;
14 class NotePlayer : public sigc::trackable {
15 public:
16 typedef Evoral::Note<Evoral::MusicalTime> NoteType;
18 NotePlayer (boost::shared_ptr<ARDOUR::MidiTrack>);
19 ~NotePlayer () {}
21 void add (boost::shared_ptr<NoteType>);
22 void play ();
23 void off ();
25 static bool _off (NotePlayer*);
27 private:
28 typedef std::vector<boost::shared_ptr<NoteType> > NoteList;
30 boost::shared_ptr<ARDOUR::MidiTrack> track;
31 NoteList notes;
34 #endif /* __gtk2_ardour_note_player_h__ */