Hello Paolo,

> Is there a way to make this snippet compatible with all LilyPond
> versions starting from 2.19.84?

You could do something like this

```
requireVersion =
#(define-scheme-function (version then else)
   (string? scheme? scheme?)
   (define (list< x y)
     (if (null? x)
         #f
         (cond ((< (car x) (car y)) #t)
               ((> (car x) (car y)) #f)
               (else (list< (cdr x) (cdr y))))))
   (let* ((split (string-split version #\.))
          (nversion (map string->number split))
          (tversion (ly:version)))
     (if (list< tversion nversion)
         else
         then)))

{
  \set Score.proportionalNotationDuration = \requireVersion "2.25.23" #1/32 
#(ly:make-moment 1 32)
  c' c' c'
}
```

to set a different value depending on the Lilypond version.

Cheers,
Valentin

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to