2 audio-item.hh -- declare Audio_items
4 (c) 1996, 1997--1999 Jan Nieuwenhuizen <janneke@gnu.org>
10 #include "lily-proto.hh"
12 #include "audio-element.hh"
14 #include "musical-pitch.hh"
16 #include "drul-array.hh"
19 Any piece of audio information.
20 We need virtual conclassors,
21 let's try decentralised factory for specific audio implemenations.
24 class Audio_item : public Audio_element
29 Audio_column* audio_column_l_;
32 virtual void do_print () const;
35 Audio_item (Audio_item const&);
36 Audio_item& operator=( Audio_item const&);
39 class Audio_key : public Audio_item
42 Audio_key (Key_def const& key);
47 class Audio_instrument : public Audio_item
50 Audio_instrument (String instrument_str);
55 class Audio_note : public Audio_item
58 Audio_note (Musical_pitch p, Moment m, int transposing_i = 0);
65 class Audio_text : public Audio_item
69 TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC,
73 Audio_text (Audio_text::Type type, String text_str);
79 class Audio_tempo : public Audio_item
82 Audio_tempo (int per_minute_4_i);
87 class Audio_tie : public Audio_item
91 void set_note (Direction, Audio_note*);
92 Drul_array<Audio_note*> note_l_drul_;
95 class Audio_time_signature : public Audio_item
98 Audio_time_signature (int beats, int one_beat);
104 #endif // AUDIO_ITEM_HH