2 (define (denominator-tuplet-formatter mus)
3 (number->string (ly-get-mus-property mus 'denominator)))
5 (define (fraction-tuplet-formatter mus)
6 (string-append (number->string (ly-get-mus-property mus 'numerator))
8 (number->string (ly-get-mus-property mus 'denominator))
11 (define (unfold-repeats music)
15 Han-Wen Nienhuys wrote:
17 > It shouldn't be hard to write a Scheme function to replace all repeats
18 > with unfold repeats.
20 > Left to the reader as an exercise.
22 With thanks to Han-Wen:
26 (let* ((es (ly-get-mus-property music 'elements))
27 (e (ly-get-mus-property music 'element))
28 (body (ly-get-mus-property music 'body))
29 (alts (ly-get-mus-property music 'alternatives))
30 (n (ly-music-name music)))
32 (if (equal? n "Repeated_music")
35 music 'length Repeated_music::unfolded_music_length)
37 music 'iterator-ctor Unfolded_repeat_iterator::constructor)))
42 (map unfold-repeats es)))
47 (unfold-repeats alts)))
52 (unfold-repeats body)))