X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Finclude%2Faudio-item.hh;h=3230e5ce4839bac468aea840ccf05e02076ad5b9;hb=834acb0fc9ecc4bf5e7726f5ed0229a52be0ae6a;hp=44ac8c2378d948ec080e2ff1a67032990a5b0db6;hpb=bdf4ab13203502e7ec7cf9cf5896527643a07c1f;p=lilypond.git diff --git a/lily/include/audio-item.hh b/lily/include/audio-item.hh index 44ac8c2378..3230e5ce48 100644 --- a/lily/include/audio-item.hh +++ b/lily/include/audio-item.hh @@ -1,7 +1,7 @@ /* audio-item.hh -- declare Audio_items - (c) 1996--2005 Jan Nieuwenhuizen + (c) 1996--2007 Jan Nieuwenhuizen */ #ifndef AUDIO_ITEM_HH @@ -11,17 +11,15 @@ #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 *get_column () const; + virtual void render (); + private: Audio_item (Audio_item const &); Audio_item &operator = (Audio_item const &); @@ -30,11 +28,24 @@ private: 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,28 +58,30 @@ 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); + Audio_note (Pitch p, Moment m, bool tie_event, Pitch transposition); void tie_to (Audio_note *); Pitch pitch_; Moment length_mom_; - int transposing_; + Pitch transposing_; + Audio_note *tied_; + bool tie_event_; }; class Audio_piano_pedal : public Audio_item { public: - String type_string_; + string type_string_; Direction dir_; }; @@ -81,16 +94,16 @@ public: MARKER, CUE_POINT }; - Audio_text (Audio_text::Type type, String text_string); + 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_; }; @@ -104,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