X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Finclude%2Fmusical-request.hh;h=17f5446ea2b670ed3fdc080444965b287dfd8c52;hb=d9b43b93f2c885409bafdb157138158f65cc49aa;hp=1fd514cde2e9cff882db2e43c1cce035be4eb717;hpb=1d7d22c0171288be6009b68e611beaed18be993c;p=lilypond.git diff --git a/lily/include/musical-request.hh b/lily/include/musical-request.hh index 1fd514cde2..17f5446ea2 100644 --- a/lily/include/musical-request.hh +++ b/lily/include/musical-request.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--1999 Han-Wen Nienhuys + (c) 1997--2002 Han-Wen Nienhuys */ @@ -13,104 +13,91 @@ #include "lily-proto.hh" #include "request.hh" #include "duration.hh" -#include "musical-pitch.hh" - +#include "pitch.hh" +#include "array.hh" /** a request with a duration. This request is used only used as a base class. */ class Rhythmic_req : public virtual Request { public: - Duration duration_; - virtual void do_print () const; - - - bool do_equal_b (Request*) const; + bool do_equal_b (Request const*) const; void compress (Moment); virtual Moment length_mom () const; static int compare (Rhythmic_req const&,Rhythmic_req const&); - VIRTUAL_COPY_CONS(Music); + VIRTUAL_COPY_CONS (Music); }; class Skip_req : public Rhythmic_req { public: - VIRTUAL_COPY_CONS(Music); + VIRTUAL_COPY_CONS (Music); }; -struct Abbreviation_req : public Request { - VIRTUAL_COPY_CONS (Abbreviation_req); - Abbreviation_req (); - int type_i_; - virtual void do_print () const; +struct Tremolo_req : public Request { + VIRTUAL_COPY_CONS (Music); + Tremolo_req (); + + void set_type (int); + int get_type () const; }; -/** a syllable or lyric is a string with rhythm. +/** + a syllable or lyric is a string with rhythm. */ -class Lyric_req : public Rhythmic_req { -public: - virtual void do_print () const; - String text_str_; - VIRTUAL_COPY_CONS(Music); +class Lyric_req : public Rhythmic_req +{ +protected: + VIRTUAL_COPY_CONS (Music); }; -class Articulation_req : public G_script_req +class Articulation_req : public Script_req { public: - String articulation_str_; + String get_articulation_str (); protected: - virtual void do_print () const; - VIRTUAL_COPY_CONS(Music); -}; + virtual bool do_equal_b (Request const*) const; -class Text_script_req : public G_script_req { -public: - String text_str_; + VIRTUAL_COPY_CONS (Music); +}; - // should be generic property of some kind.. - String style_str_; +class Text_script_req : public Script_req +{ protected: - VIRTUAL_COPY_CONS(Music); - virtual void do_print () const; + VIRTUAL_COPY_CONS (Music); + virtual bool do_equal_b (Request const*) const; }; /// request which has some kind of pitch struct Melodic_req :virtual Request { - Musical_pitch pitch_; - static int compare (Melodic_req const&,Melodic_req const&); protected: - /// transpose. #delta# is relative to central c. - virtual void transpose (Musical_pitch delta); - virtual bool do_equal_b (Request*) const; - virtual void do_print () const; - VIRTUAL_COPY_CONS(Music); -}; + virtual bool do_equal_b (Request const*) const; -/// specify tonic of a chord -struct Tonic_req : public Melodic_req -{ - VIRTUAL_COPY_CONS(Music); + VIRTUAL_COPY_CONS (Music); }; -/// Put a note of specified type, height, and with accidental on the staff. -class Note_req : public Rhythmic_req, virtual public Melodic_req { -public: - - /// force/supress printing of accidental. +/* + Put a note of specified type, height, and with accidental on the staff. + /// force/supress printing of accidental. bool forceacc_b_; /// Cautionary, i.e. parenthesized accidental. bool cautionary_b_; - Note_req(); + + */ +class Note_req : public Rhythmic_req, virtual public Melodic_req { +public: + + Note_req (); protected: - virtual void do_print () const; - bool do_equal_b (Request*) const; - VIRTUAL_COPY_CONS(Music); + + bool do_equal_b (Request const*) const; + VIRTUAL_COPY_CONS (Music); }; /** @@ -118,77 +105,61 @@ Put a rest on the staff. Why a request? It might be a good idea to not typeset t */ class Rest_req : public Rhythmic_req { public: - VIRTUAL_COPY_CONS(Music); + VIRTUAL_COPY_CONS (Music); }; -/** - Part: typeset a measure with the number of measures rest - Score: typeset all individual measures ass full rests - */ -class Multi_measure_rest_req : public Rhythmic_req { -public: - VIRTUAL_COPY_CONS(Music); +/// an extender line +class Extender_req : public Request { +public: + VIRTUAL_COPY_CONS (Music); }; +/// a centred hyphen +class Hyphen_req : public Request { +public: + VIRTUAL_COPY_CONS (Music); +}; -/** - Start / stop an abbreviation beam at this note. +/** is anyone playing a note? + Used for communication between Music & Lyrics */ -class Abbreviation_beam_req : public Span_req { +class Busy_playing_req : public Request +{ public: - VIRTUAL_COPY_CONS(Abbreviation_beam_req); - - Abbreviation_beam_req (); - - int type_i_; + VIRTUAL_COPY_CONS (Music); }; -/// a slur -class Slur_req : public Span_req { -public: - VIRTUAL_COPY_CONS(Music); - -}; - -/// an extender line -class Extender_req : public Request { +/** + instruct lyric context to alter typesetting (unimplemented). */ +class Melisma_req : public Span_req +{ public: - VIRTUAL_COPY_CONS(Music); - + VIRTUAL_COPY_CONS (Music); }; -class Dynamic_req : public virtual Request { +/** + Helping req to signal start of a melisma from within a context, and + to */ +class Melisma_playing_req : public Request +{ public: - VIRTUAL_COPY_CONS(Music); + VIRTUAL_COPY_CONS (Music); }; -class Absolute_dynamic_req : public Dynamic_req { +class Arpeggio_req : public Request +{ public: - String loudness_str_; - String loudness_str () const; - Absolute_dynamic_req(); - -protected: - virtual void do_print () const; - virtual bool do_equal_b (Request*) const; - VIRTUAL_COPY_CONS(Music); + VIRTUAL_COPY_CONS (Music); }; -class Span_dynamic_req : public Dynamic_req, public Span_req { +class Glissando_req : public Request +{ public: - - /// Grow or shrink the volume: 1=cresc, -1 = decresc - Direction dynamic_dir_; - - Span_dynamic_req(); -protected: - virtual bool do_equal_b (Request*) const; - virtual void do_print () const; - VIRTUAL_COPY_CONS(Music); + VIRTUAL_COPY_CONS (Music); }; #endif // MUSICALREQUESTS_HH