]> git.donarmstrong.com Git - lilypond.git/blob - midi2ly/include/midi-track-parser.hh
patch::: 1.5.18.moh1: [PATCH] 1.4 Lyric alignment
[lilypond.git] / midi2ly / 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--1998 Jan Nieuwenhuizen <janneke@gnu.org>
7 */
8
9
10 #ifndef MIDI_TRACK_PARSER_HH
11 #define MIDI_TRACK_PARSER_HH
12
13 #include "flower-proto.hh"
14 #include "cons.hh"
15 #include "rational.hh"
16 #include "midi2ly-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   Rational at_mom ();
27   Lilypond_staff* parse (Lilypond_column* col_l);
28
29 private:
30   bool eot ();
31   void note_end (Lilypond_column* col_l, int channel_i, int pitch_i, int aftertouch_i );
32   void note_end_all (Lilypond_column* col_l) ;
33   void parse_delta_time ();
34   Lilypond_item* parse_event (Lilypond_column* col_l);
35   void parse_header ();
36
37   Rational at_mom_;
38   Byte running_byte_;
39   Cons_list<Lilypond_note> open_note_l_list_;
40   Lilypond_staff* lilypond_staff_p_;
41   Midi_parser_info* track_info_p_;
42 };
43
44 #endif // MIDI_TRACK_PARSER_HH