X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Frepeated-music.hh;h=35a4aaa6e088afa743e39dce30f92f56585e8a6c;hb=1daa96e1881e50d9abcca1f8f81cd7259da30ab6;hp=e84b1d2fbc8e9f1be45439e644cc8b587d6bb52b;hpb=a54fef48345564ae701839c525379939c840638d;p=lilypond.git diff --git a/lily/include/repeated-music.hh b/lily/include/repeated-music.hh index e84b1d2fbc..35a4aaa6e0 100644 --- a/lily/include/repeated-music.hh +++ b/lily/include/repeated-music.hh @@ -1,18 +1,27 @@ -/* - repeated-music.hh -- declare Repeated_music - - source file of the GNU LilyPond music typesetter - - (c) 1999--2004 Han-Wen Nienhuys - - */ +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 1999--2012 Han-Wen Nienhuys + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . +*/ #ifndef REPEATED_MUSIC_HH #define REPEATED_MUSIC_HH #include "music.hh" - /** Musical repeats. @@ -25,12 +34,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,32 +53,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: - Repeated_music (); - Repeated_music (SCM); - VIRTUAL_COPY_CONSTRUCTOR (Music, Repeated_music); - - Music *body () const; - SCM alternatives () const; + static Music *body (Music *); + static SCM alternatives (Music *); /* How often do we repeat? */ - int repeat_count () const; - virtual Pitch to_relative_octave (Pitch); + static int repeat_count (Music *); + DECLARE_SCHEME_CALLBACK (relative_callback, (SCM, SCM)); - Moment body_get_length () const; - Moment alternatives_get_length (bool fold) const; - Moment alternatives_volta_get_length () const; + 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 (folded_music_length, (SCM)); DECLARE_SCHEME_CALLBACK (minimum_start, (SCM)); - DECLARE_SCHEME_CALLBACK (first_start, (SCM)); + DECLARE_SCHEME_CALLBACK (first_start, (SCM)); }; - #endif /* REPEATED_MUSIC_HH */