X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Faudio-item.hh;h=a277b53a28cea3ce74fea7acacdda23d561b2fa5;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=a8dfbcbc177e3b1c6939542828dcad3fddb389a2;hpb=332da9f4d25f9f63a3222efc87fae06b0c7abbdd;p=lilypond.git diff --git a/lily/include/audio-item.hh b/lily/include/audio-item.hh index a8dfbcbc17..a277b53a28 100644 --- a/lily/include/audio-item.hh +++ b/lily/include/audio-item.hh @@ -1,8 +1,8 @@ /* audio-item.hh -- declare Audio_items - (c) 1996--2004 Jan Nieuwenhuizen - */ + (c) 1996--2008 Jan Nieuwenhuizen +*/ #ifndef AUDIO_ITEM_HH #define AUDIO_ITEM_HH @@ -11,30 +11,41 @@ #include "moment.hh" #include "pitch.hh" -/** - - Any piece of audio information. We need virtual constructors, let's - try decentralised factory for specific audio implemenations. - */ class Audio_item : public Audio_element { public: Audio_item (); - Audio_column* audio_column_; + Audio_column *audio_column_; + Audio_column *get_column () const; + + virtual void render (); private: - Audio_item (Audio_item const&); - Audio_item& operator = ( Audio_item const&); + Audio_item (Audio_item const &); + Audio_item &operator = (Audio_item const &); }; class Audio_dynamic : public Audio_item { public: - Audio_dynamic (Real volume); + Audio_dynamic (); Real volume_; }; +class Audio_span_dynamic : public Audio_element +{ +public: + Direction grow_dir_; + vector dynamics_; + + + virtual void render (); + void add_absolute (Audio_dynamic*); + Audio_span_dynamic (); +}; + + class Audio_key : public Audio_item { public: @@ -47,51 +58,52 @@ public: class Audio_instrument : public Audio_item { public: - Audio_instrument (String instrument_string); + Audio_instrument (string instrument_string); - String str_; + string str_; }; - + class Audio_note : public Audio_item { -public: - Audio_note (Pitch p, Moment m, int transposing_i = 0); +public: + Audio_note (Pitch p, Moment m, bool tie_event, Pitch transposition); - void tie_to (Audio_note*); + void tie_to (Audio_note *); Pitch pitch_; Moment length_mom_; - Moment delayed_mom_; - Moment delayed_until_mom_; - int transposing_; - Audio_note* tied_; + Pitch transposing_; + + Audio_note *tied_; + bool tie_event_; }; class Audio_piano_pedal : public Audio_item { public: - String type_string_; + string type_string_; Direction dir_; }; class Audio_text : public Audio_item { public: - enum Type { - TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC, - MARKER, CUE_POINT - }; - - Audio_text (Audio_text::Type type, String text_string); + enum Type + { + TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC, + MARKER, CUE_POINT + }; + + Audio_text (Audio_text::Type type, string text_string); Type type_; - String text_string_; + string text_string_; }; class Audio_tempo : public Audio_item { public: - Audio_tempo (int per_minute_4_i); + Audio_tempo (int per_minute_4); int per_minute_4_; }; @@ -105,5 +117,9 @@ public: int one_beat_; }; +int moment_to_ticks (Moment); +Real moment_to_real (Moment); +Moment remap_grace_duration (Moment); + #endif // AUDIO_ITEM_HH