2 audio-item.hh -- declare Audio_items
4 (c) 1996--2007 Jan Nieuwenhuizen <janneke@gnu.org>
10 #include "audio-element.hh"
16 Any piece of audio information. We need virtual constructors, let's
17 try decentralised factory for specific audio implemenations.
19 class Audio_item : public Audio_element
23 Audio_column *audio_column_;
24 Audio_column *get_column () const;
26 virtual void render ();
29 Audio_item (Audio_item const &);
30 Audio_item &operator = (Audio_item const &);
33 class Audio_dynamic : public Audio_item
41 class Audio_span_dynamic : public Audio_element
45 vector<Audio_dynamic*> dynamics_;
48 virtual void render ();
49 void add_absolute (Audio_dynamic*);
50 Audio_span_dynamic ();
54 class Audio_key : public Audio_item
57 Audio_key (int acc, bool major);
63 class Audio_instrument : public Audio_item
66 Audio_instrument (string instrument_string);
71 class Audio_note : public Audio_item
74 Audio_note (Pitch p, Moment m, bool tie_event, Pitch transposition);
76 void tie_to (Audio_note *);
86 class Audio_piano_pedal : public Audio_item
93 class Audio_text : public Audio_item
98 TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC,
102 Audio_text (Audio_text::Type type, string text_string);
108 class Audio_tempo : public Audio_item
111 Audio_tempo (int per_minute_4_i);
116 class Audio_time_signature : public Audio_item
119 Audio_time_signature (int beats, int one_beat);
125 int moment_to_ticks (Moment);
126 Real moment_to_real (Moment);
127 Moment remap_grace_duration (Moment);
129 #endif // AUDIO_ITEM_HH