2 midi-chunk.hh -- declare Midi_chunk
4 source file of the GNU LilyPond music typesetter
6 (c) 2007 Han-Wen Nienhuys <hanwen@lilypond.org>
13 #include "lily-proto.hh"
14 #include "virtual-methods.hh"
15 #include "std-vector.hh"
24 Midi_event (int delta, Midi_item *midi);
28 string to_string () const;
35 variable sized MIDI data
40 void set (string header_string, string data_string, string footer_string);
41 virtual string to_string () const;
42 virtual string data_string () const;
43 DECLARE_CLASSNAME(Midi_chunk);
44 virtual ~Midi_chunk ();
47 string footer_string_;
48 string header_string_;
51 class Midi_header : public Midi_chunk
54 DECLARE_CLASSNAME(Midi_header);
56 Midi_header (int format, int tracks, int clocks_per_4);
59 class Midi_track : public Midi_chunk
63 DECLARE_CLASSNAME(Midi_track);
65 vector<Midi_event*> events_;
70 void add (int, Midi_item *midi);
71 virtual string data_string () const;
74 #endif /* MIDI_CHUNK_HH */