]> git.donarmstrong.com Git - lilypond.git/blob - mi2mu/include/midi-track.hh
release: 0.0.41
[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         ~Midi_track();
14
15         void add_event( Moment mom, Midi_event* midi_event_p );
16         Moment end_mom();
17         String name_str();
18         void output_mudela( Lily_stream& lily_stream_r );
19         Moment next_begin_mom( Moment now_mom );
20         Moment next_end_mom( Moment now_mom );
21         void process();
22         void set_tempo( int useconds_i );
23         void set_time( int num_i, int den_i, int clocks_i, int count_32_i );
24         Track_column* tcol_l( Moment mom );
25
26         String copyright_str_;
27         String instrument_str_;
28         String name_str_;
29         Midi_tempo* midi_tempo_p_;
30         Midi_time* midi_time_p_;
31
32 private:
33         void add_begin_at( PointerList<Midi_voice*>& open_voices_r, Moment mom );
34         Midi_voice* get_free_midi_voice_l( Moment mom );
35         void remove_end_at( PointerList<Midi_voice*>& open_voices_r, Moment mom );
36         IPointerList<Track_column*> tcol_p_list_;
37         IPointerList<Midi_voice*> midi_voice_p_list_;
38         int number_i_;
39
40 };
41
42 #endif // MIDI_TRACK_HH
43