Am Mo., 29. März 2021 um 09:31 Uhr schrieb Calvin Ransom <calvinjran...@gmail.com>: > > I found this code for creating ranges of multimeasure rests. > I ran convert.ly and it did not work correctly. > Here is the code after running it through convert.ly: > \version "2.22.0" > \layout { > \override Score.BarNumber.break-visibility = ##(#t #t #t) > } > > fancyMultiMeasureRestNumber = { > \applyOutput Voice.MultiMeasureRestNumber > #(lambda (g c p) > (let* ((currentBarNumber (ly:context-property c 'currentBarNumber)) > (mmr-length > (ly:moment-main > (ly:prob-property (ly:grob-property g 'cause) 'length)))) > (ly:grob-set-property! g 'text > #{ > \markup > \center-column { > #(number->string mmr-length) > %% value found by try and error > \translate #'(0 . -7.5) > \with-dimensions #empty-interval #empty-interval > \halign #CENTER > \line > #(list (number->string currentBarNumber) > " - " > (number->string (1- (+ currentBarNumber mmr-length)))) > } > #}))) > \compressEmptyMeasures > } > > { > c'1 > \fancyMultiMeasureRestNumber R1*14 > c'1 > } > > %{ > convert-ly (GNU LilyPond) 2.22.0 convert-ly: Processing `'... > Applying conversion: 2.19.46, 2.19.49, 2.20.0, 2.21.0, 2.21.2, 2.22.0 > %} > %%%%%%%%%%%%%%%%%%%%%%%%%%% > > When I try to engrave it I get the following error: > > Processing > `C:/Users/calvi/AppData/Local/Temp/frescobaldi-1mq0e1iz/tmp1w3mgm6e/document.ly' > > Parsing... > > Interpreting > music...C:/Users/calvi/AppData/Local/Temp/frescobaldi-1mq0e1iz/tmp1w3mgm6e/document.ly:12:15: > In expression (ly:Prob-property (ly:grob-property g #) (quote length)): > > C:/Users/calvi/AppData/Local/Temp/frescobaldi-1mq0e1iz/tmp1w3mgm6e/document.ly:12:15: > Unbound variable: ly:Prob-property > > Exited with return code 1. > > > I don't really know where to start in fixing this > > > Regards, > > > Calvin Ransom
No idea why Frescobaldi complains about ly:Prob-property, i.e. with upcase "P", afaict, it's not in the code... Anyway, there were some internal changes in the relationship of MultiMeasureRest and MultiMeasureRestNumber. convert-ly can't be expected to cope with them. Here a fixed version: \version "2.22.0" \layout { \override Score.BarNumber.break-visibility = ##(#t #t #t) } fancyMultiMeasureRestNumber = { \applyOutput Voice.MultiMeasureRestNumber #(lambda (g c p) (let* ((currentBarNumber (ly:context-property c 'currentBarNumber)) (mmr (ly:grob-parent g X)) (mmr-length (ly:moment-main (ly:prob-property (ly:grob-property mmr 'cause) 'length)))) (ly:grob-set-property! g 'text #{ \markup \center-column { #(number->string mmr-length) %% value found by try and error \translate #'(0 . -7.5) \with-dimensions #empty-interval #empty-interval \halign #CENTER \line #(list (number->string currentBarNumber) " - " (number->string (1- (+ currentBarNumber mmr-length)))) } #}))) \compressEmptyMeasures } { c'1 \fancyMultiMeasureRestNumber R1*14 c'1 } Cheers, Harm