]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/repeated-music.hh
* Another grand 2003 update.
[lilypond.git] / lily / include / repeated-music.hh
index beca7dc1d053728839767e5f269b180d684069c0..b2873e1e2a990161a9e52e782144814dfd262da8 100644 (file)
@@ -3,7 +3,7 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1999--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
 
    
    BODY A B C
 
-   is called "semi" folded.  This is common notation
+   is called volta.  This is common notation
 
    BODY A BODY B BODY C
 
    is called unfolded.  Useful for MIDI.
 
-
    If the number of repeats is smaller than the number of alternatives, then
    the excess alternatives are ignored for all timing purposes.
 
@@ -51,31 +50,30 @@ class Repeated_music : public Music
 {
 public:
   Music * body () const;
-  Music_sequence * alternatives () const;
-  String type_;
-  
-  bool fold_b_;
-  /// if FOLD_B_ is false, semifold this.
-  bool volta_fold_b_;
+  SCM alternatives () const;
 
   /// how often do we repeat?
-  int repeats_i_;
-  virtual Musical_pitch to_relative_octave (Musical_pitch);
-
-  /// The duration of this piece of music
-  virtual Moment length_mom () const;
-  Moment body_length_mom () const;
-  Moment alternatives_length_mom () const;
-
+  int repeat_count ( ) const;
+  virtual Pitch to_relative_octave (Pitch);
+
+  Moment body_get_length () const;
+  Moment alternatives_get_length (bool fold) const;
+  Moment alternatives_volta_get_length () const;  
+
+  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));    
+  
   /// Transpose, with the interval central C to #p#
-  virtual void transpose (Musical_pitch p);
+  virtual void transpose (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&);
+  VIRTUAL_COPY_CONS (Music);
+  Repeated_music ();
+  Repeated_music (SCM);
 };