X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Faudio-item.hh;h=a277b53a28cea3ce74fea7acacdda23d561b2fa5;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=9b59283804b7aadf1f175db801a36b611b265f90;hpb=1d0c1b5899beabc7bc8a1f7b75a3387de08b9e92;p=lilypond.git diff --git a/lily/include/audio-item.hh b/lily/include/audio-item.hh index 9b59283804..a277b53a28 100644 --- a/lily/include/audio-item.hh +++ b/lily/include/audio-item.hh @@ -1,109 +1,111 @@ /* audio-item.hh -- declare Audio_items - (c) 1996--2000 Jan Nieuwenhuizen - */ + (c) 1996--2008 Jan Nieuwenhuizen +*/ #ifndef AUDIO_ITEM_HH #define AUDIO_ITEM_HH - #include -#include "lily-proto.hh" -#include "string.hh" #include "audio-element.hh" -#include "key-def.hh" -#include "musical-pitch.hh" #include "moment.hh" -#include "drul-array.hh" +#include "pitch.hh" -/** - Any piece of audio information. - We need virtual conclassors, - 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; - Audio_column* audio_column_l_; - -protected: - virtual void do_print () 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: - Audio_key (Key_def const& key); + Audio_key (int acc, bool major); - Key_def key_; + int accidentals_; + bool major_; }; class Audio_instrument : public Audio_item { public: - Audio_instrument (String instrument_str); + Audio_instrument (string instrument_string); - String str_; + string str_; }; - + class Audio_note : public Audio_item { -public: - Audio_note (Musical_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 *); - Musical_pitch pitch_; + Pitch pitch_; Moment length_mom_; - Moment delayed_mom_; - Moment delayed_until_mom_; - int transposing_i_; - Audio_note* tied_; + Pitch transposing_; + + Audio_note *tied_; + bool tie_event_; }; -class Audio_text : public Audio_item +class Audio_piano_pedal : 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_str); - - Type type_; - String text_str_; + string type_string_; + Direction dir_; }; -class Audio_tempo : public Audio_item +class Audio_text : public Audio_item { public: - Audio_tempo (int per_minute_4_i); + enum Type + { + TEXT = 1, COPYRIGHT, TRACK_NAME, INSTRUMENT_NAME, LYRIC, + MARKER, CUE_POINT + }; - int per_minute_4_i_; + Audio_text (Audio_text::Type type, string text_string); + + Type type_; + string text_string_; }; -class Audio_tie : public Audio_item +class Audio_tempo : public Audio_item { public: - Audio_tie (); - void set_note (Direction, Audio_note*); - Drul_array note_l_drul_; + Audio_tempo (int per_minute_4); + + int per_minute_4_; }; class Audio_time_signature : public Audio_item @@ -111,9 +113,13 @@ class Audio_time_signature : public Audio_item public: Audio_time_signature (int beats, int one_beat); - int beats_i_; - int one_beat_i_; + int beats_; + int one_beat_; }; +int moment_to_ticks (Moment); +Real moment_to_real (Moment); +Moment remap_grace_duration (Moment); + #endif // AUDIO_ITEM_HH