Am So., 3. Mai 2020 um 14:41 Uhr schrieb David Kastrup <d...@gnu.org>: > > Paul Scott <waterho...@ultrasw.com> writes: > > > I installed 2.19.84 and I believe I just answered the first question > > below: Apparently \compressFullBarRests has been deleted from Lily > > and now we have \compressMMRests which has different functionality. > > > > I guessing convert-ly won't handle this and that any time I want to > > redo any of my hundreds of pieces (not original compositions) I will > > have to edit them for the new functionality of \compressMMRests. > > I have no idea why people "guess convert-ly won't handle this" and break > into a rant rather than actually trying. > > > OTOH I may be able to get the old definition of \compressFullBarRests > > and put in my several \include files. > > Or you could let convert-ly replace it with \compressEmptyMeasures . > > -- > David Kastrup >
Hi Paul, David already wrote about convert-ly... Let me provide some test-code and the relevant output of it for 2.19.84, 2.20.0 and 2.21.0 #(use-modules (srfi srfi-39) (scm display-lily)) #(define (make-display-pair expr) (list expr (if (defined? expr) (let ((evaled-expr (primitive-eval expr))) (if (procedure? evaled-expr) evaled-expr (music->lily-string evaled-expr) )) (format #f "undefined in ~a" (lilypond-version))))) #(format #t "For ~a:\n~y" (lilypond-version) (list (make-display-pair 'compressMMRests) (make-display-pair 'compressFullBarRests) (make-display-pair 'expandFullBarRests) (make-display-pair 'compressEmptyMeasures) (make-display-pair 'expandEmptyMeasures))) ################### For 2.19.84: ((compressMMRests #<Music function #<procedure #f (music)>>) (compressFullBarRests "\\set Score.skipBars = ##t ") (expandFullBarRests "\\set Score.skipBars = ##f ") (compressEmptyMeasures "undefined in 2.19.84") (expandEmptyMeasures "undefined in 2.19.84")) ######################### For 2.20.0: ((compressMMRests #<Music function #<procedure #f (music)>>) (compressFullBarRests "\\set Score.skipBars = ##t ") (expandFullBarRests "\\set Score.skipBars = ##f ") (compressEmptyMeasures "undefined in 2.20.0") (expandEmptyMeasures "undefined in 2.20.0")) ################### For 2.21.1: ((compressMMRests #<Music function #<procedure #f (music)>>) (compressFullBarRests "undefined in 2.21.1") (expandFullBarRests "undefined in 2.21.1") (compressEmptyMeasures "\\set Score.skipBars = ##t ") (expandEmptyMeasures "\\set Score.skipBars = ##f ")) ################ As you can see compressMMRests is always a music-fuction _requiring_ a music-argument. Thus there's no chance any of your initial examples ever worked! The first example omits any music-argument, thus the error. The second example gives s1*28 as a musical argument, thus the function compressMMRests sees no MultiMeasureRest and ofcourse does nothing with s1*28 Did you confuse compressMMRests with compressFullBarRests (up to 2.20.0) and/or compressEmptyMeasures (since 2.21.0)? Cheers, Harm