- int repeats_i_;
- Music* repeat_p_;
-// Music_list* alternative_p_;
- Sequential_music* alternative_p_;
-
-// Repeated_music (Music*, int n, Music_list*);
- Repeated_music (Music*, int n, Sequential_music*);
- Repeated_music (Repeated_music const& s);
- virtual ~Repeated_music ();
-
- virtual void do_print () const;
- virtual void transpose (Musical_pitch p);
- virtual Moment duration () const;
-
- VIRTUAL_COPY_CONS(Music);
+ 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));