Closed unbored closed 2 weeks ago
Thanks. This isn't working on old Lilypond 2.18 (fails to compile), but then old Lilypond 2.20 is currently failing with a Scheme error if there are grace notes in the input (I'm not sure why yet); I'm seriously thinking we should just change the minimum Lilypond version to 2.22 so that we don't have to keep worrying about so many old versions. On the Mac: Lilypond 2.22 can be installed on Mac OS 10.7 from 2011; it's only 2.24 that can't be installed on old Macs. On popular Linux: Lilypond 2.22 is in Ubuntu 22.04 LTS. A few people might still be running Ubuntu 20.04 LTS, which has Lilypond 2.20 and doesn't EOL until April 2025, but I expect that number to be very small, because if they're doing "only upgrade when we have to" then they'll probably have upgraded from 14.04 to 18.04 in 2019 and then from 18.04 to 22.04 in 2023, skipping 20.04. So it's probably small enough to say "if you're stuck on 20.04, use an old version of jianpu-ly for now" and set the main jianpu-ly to require Lilypond 2.22 or higher.
oh what am I saying: we already have a "grace notes requires Lilypond 2.22+" warning, I just didn't put it into \version
and should have done. Maybe we should just set the minimum requirement to 2.20 then.
If the compile failure occurs when there is a tweak of Rest.stencil
or Rest.text
, we have an alternative solution by replacing the placeholder "r" with a normal pitch like "c" in jianpu part.
yes but that means extending the use_rest_hack
and inRestHack
logic to cope with other note values and non-beamed situations (because any time we use a note instead of a rest, if there are lyrics we have to do something to make sure a word is not assigned to that rest). Dropping 2.18 is probably easier: I can think of reasons why people are still stuck on 2.20 (because old Ubuntu LTS) but I'd be surprised if anyone's still stuck on 2.18 now (and if they are, they can use an old jianpu-ly version, just like with 2.14 through 2.16 which jianpu-ly dropped some time ago)
"0" and dash followed displays abnormally because
\tweak NoteHead.stencil
doesn't apply on rests. Also add explicit positioning of articulations "^\" and "_\"