X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Frepeated-music.hh;h=b2873e1e2a990161a9e52e782144814dfd262da8;hb=2745cbd907f8216a4cc1fc5f488ae19efdfdbd10;hp=89384b9af7f1758452d08ef05267d526245a3044;hpb=ad7defd5f5a3d0151a711555c2d680c56ef559c7;p=lilypond.git diff --git a/lily/include/repeated-music.hh b/lily/include/repeated-music.hh index 89384b9af7..b2873e1e2a 100644 --- a/lily/include/repeated-music.hh +++ b/lily/include/repeated-music.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1999--2000 Han-Wen Nienhuys + (c) 1999--2003 Han-Wen Nienhuys */ @@ -33,13 +33,12 @@ BODY A B C - is called "semi" folded. This is common notation + is called volta. This is common notation BODY A BODY B BODY C is called unfolded. Useful for MIDI. - If the number of repeats is smaller than the number of alternatives, then the excess alternatives are ignored for all timing purposes. @@ -50,36 +49,31 @@ class Repeated_music : public Music { public: - bool fold_b_; - /// if FOLD_B_ is false, semifold this. - bool volta_fold_b_; + Music * body () const; + SCM alternatives () const; /// how often do we repeat? - int repeats_i_; - - Music * repeat_body_p_; - Music_sequence * alternatives_p_; - - virtual Musical_pitch to_relative_octave (Musical_pitch); - - /// The duration of this piece of music - virtual Moment length_mom () const; - - Moment alternatives_length_mom () const; - - void print() const; + int repeat_count ( ) const; + virtual Pitch to_relative_octave (Pitch); + + Moment body_get_length () const; + Moment alternatives_get_length (bool fold) const; + Moment alternatives_volta_get_length () const; + + DECLARE_SCHEME_CALLBACK (unfolded_music_length, (SCM)); + DECLARE_SCHEME_CALLBACK (volta_music_length, (SCM)); + DECLARE_SCHEME_CALLBACK (folded_music_length, (SCM)); + DECLARE_SCHEME_CALLBACK (minimum_start, (SCM)); + DECLARE_SCHEME_CALLBACK (first_start, (SCM)); + /// Transpose, with the interval central C to #p# - virtual void transpose (Musical_pitch p); + virtual void transpose (Pitch p); /// Scale the music in time by #factor#. virtual void compress (Moment factor); - VIRTUAL_COPY_CONS(Music); - - Repeated_music (Music*, int , Music_sequence*); - Repeated_music (Repeated_music const&); - ~Repeated_music (); -protected: - virtual void do_print() const; + VIRTUAL_COPY_CONS (Music); + Repeated_music (); + Repeated_music (SCM); };