X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Frepeated-music.hh;h=ee79243e6ea625c88a56b170cf270214d1be390f;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=b222111fe4368b3dbc5712c2b1743505551428d0;hpb=8da6cef580cce3365b219f6aca429b434cb60fcf;p=lilypond.git diff --git a/lily/include/repeated-music.hh b/lily/include/repeated-music.hh index b222111fe4..ee79243e6e 100644 --- a/lily/include/repeated-music.hh +++ b/lily/include/repeated-music.hh @@ -1,17 +1,15 @@ -/* +/* repeated-music.hh -- declare Repeated_music - + source file of the GNU LilyPond music typesetter - - (c) 1999--2000 Han-Wen Nienhuys - - */ -#ifndef RepEATED_MUSIC_HH -#define RepEATED_MUSIC_HH + (c) 1999--2008 Han-Wen Nienhuys +*/ -#include "music.hh" +#ifndef REPEATED_MUSIC_HH +#define REPEATED_MUSIC_HH +#include "music.hh" /** Musical repeats. @@ -25,12 +23,12 @@ There are three modes of representing this music: BODY A - B - C + B + C is called "folded". Mostly used for lyrics. - + BODY A B C is called volta. This is common notation @@ -44,35 +42,26 @@ If the number of repeats is bigger than the number of alternatives, then the first alternative is assumed to be repeated. - */ -class Repeated_music : public Music +class Repeated_music { public: - Music * body () const; - Music_sequence * alternatives () const; - - /// how often do we repeat? - int repeat_count( ) const; - virtual Musical_pitch to_relative_octave (Musical_pitch); - - Moment body_length_mom () const; - Moment alternatives_length_mom (bool fold) const; - - DECLARE_SCHEME_CALLBACK(unfolded_music_length, (SCM)); - DECLARE_SCHEME_CALLBACK(volta_music_length, (SCM)); - DECLARE_SCHEME_CALLBACK(folded_music_length, (SCM)); - - /// Transpose, with the interval central C to #p# - virtual void transpose (Musical_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&); + static Music *body (Music *); + static SCM alternatives (Music *); + + /* How often do we repeat? */ + static int repeat_count (Music *); + DECLARE_SCHEME_CALLBACK (relative_callback, (SCM, SCM)); + + static Moment body_get_length (Music *); + static Moment alternatives_get_length (Music *, bool fold); + static Moment alternatives_volta_get_length (Music *); + + 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)); }; - -#endif /* RepEATED_MUSIC_HH */ +#endif /* REPEATED_MUSIC_HH */