2 audio-item.hh -- declare Audio_items
4 (c) 1996, 1997--2000 Jan Nieuwenhuizen <janneke@gnu.org>
11 #include "lily-proto.hh"
13 #include "audio-element.hh"
15 #include "musical-pitch.hh"
17 #include "drul-array.hh"
20 Any piece of audio information.
21 We need virtual conclassors,
22 let's try decentralised factory for specific audio implemenations.
25 class Audio_item
: public Audio_element
30 Audio_column
* audio_column_l_
;
33 virtual void do_print () const;
36 Audio_item (Audio_item
const&);
37 Audio_item
& operator=( Audio_item
const&);
40 class Audio_dynamic
: public Audio_item
43 Audio_dynamic (int volume
);
48 class Audio_key
: public Audio_item
51 Audio_key (Key_def
const& key
);
56 class Audio_instrument
: public Audio_item
59 Audio_instrument (String instrument_str
);
64 class Audio_note
: public Audio_item
67 Audio_note (Musical_pitch p
, Moment m
, int transposing_i
= 0);
69 void tie_to (Audio_note
*);
74 Moment delayed_until_mom_
;
79 class Audio_text
: public Audio_item
83 TEXT
= 1, COPYRIGHT
, TRACK_NAME
, INSTRUMENT_NAME
, LYRIC
,
87 Audio_text (Audio_text::Type type
, String text_str
);
93 class Audio_tempo
: public Audio_item
96 Audio_tempo (int per_minute_4_i
);
101 class Audio_tie
: public Audio_item
105 void set_note (Direction
, Audio_note
*);
106 Drul_array
<Audio_note
*> note_l_drul_
;
109 class Audio_time_signature
: public Audio_item
112 Audio_time_signature (int beats
, int one_beat
);
118 #endif // AUDIO_ITEM_HH