]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/repeated-music.hh
Fix 399 again.
[lilypond.git] / lily / include / repeated-music.hh
index b222111fe4368b3dbc5712c2b1743505551428d0..92a278e90ce519d2b3a728d15041c1e33aa26c41 100644 (file)
@@ -1,17 +1,15 @@
-/*   
+/*
   repeated-music.hh -- declare Repeated_music
   repeated-music.hh -- declare Repeated_music
-  
+
   source file of the GNU LilyPond music typesetter
   source file of the GNU LilyPond music typesetter
-  
-  (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-  
- */
 
 
-#ifndef RepEATED_MUSIC_HH
-#define RepEATED_MUSIC_HH
+  (c) 1999--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+*/
 
 
-#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:
-  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 */