lilypond-0.1.27
[lilypond.git] / hdr / midiwalker.hh
blob839ba11a7f893848d31e68fe0b25664ce49112ec
1 /*
2 midiwalker.hh -- declare Midi_walker
4 (c) 1996,97 Han-Wen Nienhuys, Jan Nieuwenhuizen <jan@digicash.com>
5 */
7 #ifndef MIDIWALKER_HH
8 #define MIDIWALKER_HH
10 #include "proto.hh"
11 #include "grouping.hh"
12 #include "staffwalker.hh"
13 #include "pcursor.hh"
14 #include "pqueue.hh"
17 /**
18 a simple walker which collects midi stuff, and then outputs.
20 Should derive from Staff_walker
22 class Midi_walker : public PCursor<Staff_column*> {
23 Midi_track *track_l_;
24 PQueue<Melodic_req*, Moment> stop_notes;
25 Moment last_moment_;
27 /* *************** */
28 void do_stop_notes(Moment);
30 void output_event(Midi_item&, Moment);
31 public:
33 Midi_walker(Staff*, Midi_track*);
34 void process_requests();
35 ~Midi_walker();
39 #endif // MIDIWALKER_HH