I think this should be pretty much in line with the demands of the code in the LaTeX package.
On the one hand this commit is a reflection of my improved Scheme coding knowledge.
On the other (and presumably more important) hand this makes fundamental changes and applies several enhancments:
All annotation properties are now exported as key=value items in an optional argument (as opposed to some properties being exported as mandatory ones). This will totally break existing environments!
The overall code is more streamlined
The handling of known property value types and known keys is improved, and it is more straightforward to add special handlers for additional types and keys
ly:music? values are now exported using \displayLilyMusic This makes it possible to access the content using lyluatex
unknown types are simply written out as is (as opposed to unusable warning texts)
the lilyglyphs version of the beat string is now generated in addition to the regular one if the option is set to ##t
Example file:
\version "2.19.80"
\include "oll-core/package.ily"
\loadModule scholarly.annotate
\setOption scholarly.annotate.export-targets #'(latex)
\new Staff = "Erste Stimme" {
r16
\musicalIssue \with {
author = "Urs Liska"
message = "Huh?"
alternative = { c' d' e' }
}
NoteHead
c'8.
\criticalRemark \with {
message = "WTF"
}
Beam
d'8 [ e' ]
}
I think this should be pretty much in line with the demands of the code in the LaTeX package.
On the one hand this commit is a reflection of my improved Scheme coding knowledge. On the other (and presumably more important) hand this makes fundamental changes and applies several enhancments:
\displayLilyMusic
This makes it possible to access the content using lyluatex##t
Example file:
results in the following output: