lilypond-0.0.40
[lilypond.git] / mi2mu / include / midi-track.hh
blob22e110b2e530395f26913f4c2cf780d30b9111d7
1 //
2 // midi-track.hh -- declare midi_track
3 //
4 // copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
6 #ifndef MIDI_TRACK_HH
7 #define MIDI_TRACK_HH
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 );
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 );
23 String copyright_str_;
24 String instrument_str_;
25 String name_str_;
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_;
37 #endif // MIDI_TRACK_HH