]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/repeated-music.hh
Run grand replace for 2015.
[lilypond.git] / lily / include / repeated-music.hh
index 61c966182300a54c1d8af9fa4ec1eddaff6674c2..e0e7cdf3769c54d070310610740cff6693947508 100644 (file)
@@ -1,17 +1,26 @@
-/*   
-  repeated-music.hh -- declare Repeated_music
-  
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
- */
-
-#ifndef RepEATED_MUSIC_HH
-#define RepEATED_MUSIC_HH
+/*
+  This file is part of LilyPond, the GNU music typesetter.
 
 
-#include "music.hh"
+  Copyright (C) 1999--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+  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 <http://www.gnu.org/licenses/>.
+*/
 
 
+#ifndef REPEATED_MUSIC_HH
+#define REPEATED_MUSIC_HH
+
+#include "music.hh"
 
 /**
    Musical repeats.
 
 /**
    Musical repeats.
    There are three modes of representing this  music:
 
    BODY A
    There are three modes of representing this  music:
 
    BODY A
-        B
-       C
+   B
+   C
 
    is called "folded". Mostly used for lyrics.
 
 
    is called "folded". Mostly used for lyrics.
 
-   
+
    BODY A B C
 
    is called volta.  This is common notation
    BODY A B C
 
    is called volta.  This is common notation
 
    If the number of repeats is bigger than the number of alternatives, then
    the first alternative is assumed to be repeated.
 
    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:
 {
 public:
-  Music * body () const;
-  Music_sequence * 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);
+  /* How often do we repeat? */
+  static int repeat_count (Music *);
+  DECLARE_SCHEME_CALLBACK (relative_callback, (SCM, SCM));
 
 
-  Moment body_length_mom () const;
-  Moment alternatives_length_mom (bool fold) const;
-  Moment alternatives_volta_length_mom () 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 (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 (Pitch p);
-
-  /// Scale the music in time by #factor#.
-  virtual void compress (Moment factor);
-  VIRTUAL_COPY_CONS (Music);
-  Repeated_music ();
-  Repeated_music (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 */