2 // midiitem.hh -- part of LilyPond
4 // copyright 1997 Jan Nieuwenhuizen <jan@digicash.com>
13 static String int2varlength_str( int i );
14 virtual void output_midi( Midi_stream& midi_stream_r );
15 virtual String str() = 0;
18 struct Midi_note : public Midi_item {
20 int const c0_pitch_i_c_ = 60;
24 Generate a note-event on a channel pitch.
26 @param #melreq_l# the pitch. If null, then output a silent C
29 Midi_note( Melodic_req* melreq_l, int channel_i, bool on_b );
38 struct Midi_duration : public Midi_item {
40 Midi_duration( Real seconds_f );
47 struct Midi_chunk : Midi_item {
51 void add( String str );
52 void set( String header_str, String data_str, String footer_str );
61 struct Midi_header : Midi_chunk {
63 Midi_header( int format_i, int tracks_i, int tempo_i );
66 struct Midi_track : Midi_chunk {
69 Midi_track( int number_i );
71 void add( int delta_time_i, String event );
72 // void add( Moment delta_time_moment, Midi_item& mitem_r );
73 void add( Moment delta_time_moment, Midi_item* mitem_l );
76 #endif // MIDI_ITEM_HH //