[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
„Anonymous” properties, deafening engravers and font features
From: |
Valentin Petzel |
Subject: |
„Anonymous” properties, deafening engravers and font features |
Date: |
Thu, 18 Nov 2021 21:51:59 +0100 |
Hello,
I have three ideas for maybe useful features for Lilypond:
First, Lilypond is very strict about what values grob/context properties can
take. While this is generally a good thing it can be hindering, as properties
are more or less hard coded. So I suggest that maybe we could have some sort
of identifier for „custom” properties that skip the type check. This would be
useful for extended scripting where we want to store arbitrary information.
For example we might have Staves that should behave differently if certain
other Staves are present. E.g. if we have some splitted staves and we want to
have voices behave differently depending on whether they are in a separate
staff or in the common staff. So for this it would be nice if we could simply
save information in the Staff context that tells us things like how many
different Parts we currently have in the Staff, for example.
For example we could handle properties that begin with „custom” as custom
properties, so we could say \override Staff.custom-my-property = something.
Second it would be very useful if we could somehow give engravers some sort of
filtering option that would allow us to make them not to listen to certain
events, so that we’d basically be able to disable/enable engravers outside of
withing the score, or even disable engravers for certain Types of events or
for events that fit some condition (like having a certain tag).
Third: Using font-features with Lilypond is a bit weird, as using \override
#' (font-features featureA featureB bla bla . ()) will override any previously
applied font-features. So I suggest adding markup functions addFontFeature and
removeFontFeature like in the appended example to make this easier.
What are your takes on this?
Cheers,
Valentin
font-features.ly
Description: Text Data
signature.asc
Description: This is a digitally signed message part.
- „Anonymous” properties, deafening engravers and font features,
Valentin Petzel <=