]> git.donarmstrong.com Git - lilypond.git/blob - mi2mu/include/midi-track.hh
partial: 0.0.40.jcn
[lilypond.git] / mi2mu / include / midi-track.hh
1 //
2 // midi-track.hh -- declare midi_track
3 //
4 // copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
5
6 #ifndef MIDI_TRACK_HH
7 #define MIDI_TRACK_HH
8
9 /// (midi_track)
10 class Midi_track {
11 public:
12         Midi_track( int number_i, String copyright_str, String track_name_str, String instrument_str );
13
14         void add_event( Moment mom, Midi_event* midi_event_p );
15         Moment end_mom();
16         String name_str();
17         void output_mudela( Lily_stream& lily_stream_r );
18         Moment next_begin_mom( Moment now_mom );
19         Moment next_end_mom( Moment now_mom );
20         void process();
21         Track_column* tcol_l( Moment mom );
22
23         String copyright_str_;
24         String instrument_str_;
25         String name_str_;
26
27 private:
28         void add_begin_at( PointerList<Midi_voice*>& open_voices_r, Moment mom );
29         Midi_voice* get_free_midi_voice_l( Moment mom );
30         void remove_end_at( PointerList<Midi_voice*>& open_voices_r, Moment mom );
31         IPointerList<Track_column*> tcol_p_list_;
32         IPointerList<Midi_voice*> midi_voice_p_list_;
33         int number_i_;
34
35 };
36
37 #endif // MIDI_TRACK_HH
38