The (define-styling-function) macro helps by figuring out the style-type, i.e. the way the modification has to be applied to the music. However, we need more support to help with creating more complex scenarios.
Apart from the application style-type we have other categories:
- grob target
functions may have to apply different styles/overrides/elements to different grob types.
- custom properties
functions may have to behave differently responding to additional properties. Typical example: c' \editorialMarkup emendation \with { type = addition } \( (span class is emendation, but there are different types of emendation which are visualized differently).
In fact this amounts to a three-dimensional matrix of combinations (tweak-slur-addition) that can't reasonably be realized within a complex conditional within a single music function. So we need to think about a way to put the different alternatives in lookup tables or the like.
The
(define-styling-function)macro helps by figuring out thestyle-type, i.e. the way the modification has to be applied to the music. However, we need more support to help with creating more complex scenarios.Apart from the application
style-typewe have other categories:functions may have to apply different styles/overrides/elements to different grob types.
functions may have to behave differently responding to additional properties. Typical example:
c' \editorialMarkup emendation \with { type = addition } \((span class isemendation, but there are different types of emendation which are visualized differently).In fact this amounts to a three-dimensional matrix of combinations (tweak-slur-addition) that can't reasonably be realized within a complex conditional within a single music function. So we need to think about a way to put the different alternatives in lookup tables or the like.