Hi Harm,
consider the following:
musicI = {}
musicII = {}
Obviouslyly:music-length returns #<Mom 0> for both:
#(pretty-print (ly:music-length musicI))
#(pretty-print (ly:music-length musicII))
Why the result of below is different:
#(pretty-print
(ly:moment-div (ly:music-length musicI) (ly:music-length musicII)))
-> #<Mom 0>
#(pretty-print
(ly:moment-div ZERO-MOMENT ZERO-MOMENT))
-> #<Mom nanGinfinity>
Probably Dan will be able to say more about this; I just want to give a
maybe concise data point:
\version "2.22" music = {} #(define ZERO (ly:music-length music))
#(pretty-print (equal? ZERO ZERO-MOMENT)) #(pretty-print (ly:moment-div
ZERO ZERO-MOMENT)) #(pretty-print (ly:moment-div ZERO ZERO))
#(pretty-print (ly:moment-div ZERO-MOMENT ZERO)) #(pretty-print
(ly:moment-div ZERO-MOMENT ZERO-MOMENT))
yields with 2.22.1:
#t #<Mom 0> #<Mom 0> #<Mom 0> #<Mom 0> and with 2.26.0: #t #<Mom
infinityGinfinity> #<Mom 0> #<Mom 0> #<Mom nanGinfinity>
Lukas