]> git.donarmstrong.com Git - lilypond.git/blob - mi2mu/include/midi-track-parser.hh
patch::: 0.1.19.jcn1: tik
[lilypond.git] / mi2mu / include / midi-track-parser.hh
1 /*
2   midi-track-parser.hh -- declare 
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
7 */
8
9
10 #ifndef MIDI_TRACK_PARSER_HH
11 #define MIDI_TRACK_PARSER_HH
12
13 #include "proto.hh"
14 #include "plist.hh"
15 #include "moment.hh"
16 #include "mi2mu-proto.hh"
17 #include "midi-parser.hh"
18
19 class Midi_track_parser : public Midi_parser
20 {
21 public:
22
23   Midi_track_parser (Midi_parser_info* info_l, int i);
24   ~Midi_track_parser ();
25
26   Moment at_mom ();
27   Mudela_staff* parse (Mudela_column* col_l);
28
29 private:
30   bool eot ();
31   void note_end (Mudela_column* col_l, int channel_i, int pitch_i, int aftertouch_i );
32   void note_end_all (Mudela_column* col_l) ;
33   void parse_delta_time ();
34   Mudela_item* parse_event (Mudela_column* col_l);
35   void parse_header ();
36
37   Moment at_mom_;
38   Byte running_byte_;
39   Link_list<Mudela_note*> open_note_l_list_;
40   Mudela_staff* mudela_staff_p_;
41   Midi_parser_info* track_info_p_;
42 };
43
44 #endif // MIDI_TRACK_PARSER_HH