For pieces I write I often use the format where the \time is presented
as a number and a notehead. I have used the same code to do this for
many a year withour a problem. However with the update to lilypond
version 2.22.0 the solution is broken and returns a fatal error
'make-note-markup' and 'expected: duration, found: "2"
I have run the code through convert-ly, no changes were needed. I
compiled on an older pc with an older version of lilypond without
problems. So it seems there is some difference between 2.20.0 and 2.22.0
that breaks the code.
This is the code:
#(define-public (format-time-sig-note grob)
(let* ((frac (ly:grob-property grob 'fraction))
(num (if (pair? frac) (car frac) 4))
(den (if (pair? frac) (cdr frac) 4))
(m (markup #:override '(baseline-skip . 0.5)
#:center-column (#:number (number->string num)
#:override '(style .
default)
#:note (number->string
den) DOWN))))
(grob-interpret-markup grob m)))
this is the command to invoke that code, I normally put in in the global
section
\override Staff.TimeSignature.stencil = #format-time-sig-note
and then
\time 1/2 (or whatever I need)
I use this very often and would like it to be replaced or fixed so I can
use this again.
Does anyone know how?
Thanks, Ursus