+MAKE_SCHEME_CALLBACK (Music_sequence, maximum_length_callback, 1);
+SCM
+Music_sequence::maximum_length_callback (SCM m)
+{
+ Music *me = unsmob<Music> (m);
+ return maximum_length (me->get_property ("elements")).smobbed_copy ();
+}
+
+MAKE_SCHEME_CALLBACK (Music_sequence, event_chord_length_callback, 1);
+SCM
+Music_sequence::event_chord_length_callback (SCM m)
+{
+ Music *me = unsmob<Music> (m);
+ Duration *d = unsmob<Duration> (me->get_property ("duration"));
+ // Preset duration is used in chord repetitions.
+ if (d)
+ {
+ Moment mom = d->get_length ();
+ return mom.smobbed_copy ();
+ }
+ return maximum_length (me->get_property ("elements")).smobbed_copy ();
+}
+
+MAKE_SCHEME_CALLBACK (Music_sequence, cumulative_length_callback, 1);
+SCM
+Music_sequence::cumulative_length_callback (SCM m)
+{
+ Music *me = unsmob<Music> (m);
+ return cumulative_length (me->get_property ("elements")).smobbed_copy ();
+}
+
+MAKE_SCHEME_CALLBACK (Music_sequence, minimum_start_callback, 1);
+SCM
+Music_sequence::minimum_start_callback (SCM m)
+{
+ Music *me = unsmob<Music> (m);
+ return minimum_start (me->get_property ("elements")).smobbed_copy ();
+}
+
+MAKE_SCHEME_CALLBACK (Music_sequence, first_start_callback, 1);
+SCM
+Music_sequence::first_start_callback (SCM m)
+{
+ Music *me = unsmob<Music> (m);
+ return first_start (me->get_property ("elements")).smobbed_copy ();
+}
+