]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/repeated-music.hh
Release: update news.
[lilypond.git] / lily / include / repeated-music.hh
index e84b1d2fbc8e9f1be45439e644cc8b587d6bb52b..35a4aaa6e088afa743e39dce30f92f56585e8a6c 100644 (file)
@@ -1,18 +1,27 @@
-/*   
-  repeated-music.hh -- declare Repeated_music
-  
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
- */
+/*
+  This file is part of LilyPond, the GNU music typesetter.
+
+  Copyright (C) 1999--2012 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"
 
 
 #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:
-  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? */
 
   /* 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 (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 (minimum_start, (SCM));
-  DECLARE_SCHEME_CALLBACK (first_start, (SCM));    
+  DECLARE_SCHEME_CALLBACK (first_start, (SCM));
 };
 
 };
 
-
 #endif /* REPEATED_MUSIC_HH */
 #endif /* REPEATED_MUSIC_HH */