Hi folks,
I'm thinking if it could be possible to create an "engraving mode" where
not one of a number of alternative readings is *selected* but where
these alternatives are printed on top of each other, using various colors.
The idea is for the scholarLY package
(https://github.com/openlilylib/scholarly) to support a step in the
process of scholarly editing called "collation", where all differing
readings of secondary sources against a master source are determined.
The result of this process is then used as a starting point to
constitute the "edited text".
A common approach to this is to take a copy of the master source as the
basis, compare this to the alternative sources grob by grob and manually
write any difference into the master source with colored pencils
corresponding to the given source. (Anything that ends up *without* any
such annotation can be considered established text, all colored spots
have to be discussed).
scholarLY has a module `choice` that allows the encoding of such
alternative readings and to choose the source whose readings are to be
selected for a given rendering. What I would now like to add is an
option to that process that allows to overlay the alternatives instead
of skipping them. There are many issues with that, of course, for
example how to indicate that an alternative source does *not* have a
specific element, say an articulation or a dynamic, others are rather
easy to visualize. But what I would like to know if it is possible *at
all* is to simply print stuff on top of each other, skipping any
collision avoidance.
Consider the examples that the master source reads a c'' while the
alternative has a d'' in the same place. I'd like to print that d'' in
blue, halfway hiding the c''. Same with alternative dynamics, printing a
\f over a \p, or articulations. Of course I'll have to create some kind
of polyphonic construct to achieve that ( c'' \f \p won't work of course).
I think it could be possible to use a callback and manually create
combined stencils, which may eventually be the only way to achieve what
I need. But before going down that route I'd like to get some opinions
whether there might be easier approaches.
Best
Urs
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user