Hi Knut and everyone,
Great to see your work which seems like a nice improvement. I just have
some thoughts on the implementation / use of properties.
We are just talking about grob properties and not context properties
right? In that case no need to also create context properties as you do
in your patch, since the grob properties are sufficient.
What about a way to do this with fewer than 3 separate grob properties?
LyricExtender.minimum-length
LyricExtender.no-extender
LyricExtender.force-extender
If I understand correctly, only 1 of 3 kinds of behavior can be in
effect at a given point:
1. no extensions
2. forced extensions
3. automatically added extension depending on a 'minimum-length' number
So why not one grob property (name to be determined) that can be a
boolean or a number:
LyricExtender.extenders = ##f % no extensions
LyricExtender.extenders = ##t % forced extensions
LyricExtender.extenders = 2 % a number, auto extensions
For example, it could be set to a number and then use \once to set it to
##t to force (or ##f to suppress) a given extender.
Another possibility (2 properties) might be:
LyricExtender.stencil = ##f % no extensions
LyricExtender.force-extender = ##t % forced extensions
LyricExtender.minimum-length = 2 % auto extensions (if force-extender
is not ##t and stencil is not ##f)
Am I missing something? What do you think?
Cheers,
-Paul
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel