As suspected the post below wasn't delivered (at least not yet)
due to the large attachments.
Hi,
I noticed that over time openLilyLib pops up more and more on
the lists, but mostly as a sort of dubious secret toolkit which
only a few illuminati know about and whose purpose and potential
isn't obvious to everyone else.
In recent weeks (as you'll have noticed) I had the wonderful
opportunity to work on it on a partially paid basis: I had to
implement some functionality and was in essence paid to work on
that for 7x8 hours. What had to be created amounted to "half" an
openLilyLib package, so I decided to aim at the whole thing,
working of course more than these seven full days but also
achieving substantially more. But maybe most important is that I
managed to write comprehensive manuals along the way. They are
authored in Markdown (which is good) but so far only work in a
Markdown=>Pandoc=>LuaLaTeX=>PDF chain (which is less
good because it should also be possible to produce HTML sites).
But they do exist, and if the list rules allow you will see them
attached to this post.
I would like to take this as an opportunity to "announce"
openLilyLib and open it up for a more broad testing. Jan-Peter's
comment made me realize that it's high time to do so since as
far as I know anybody who has plunged into using it wouldn't
want to live without anymore, and so it should finally become
somewhat more public - also hoping to get some more
contributions back in return with the goal of moving towards
something that can actually be "released".
What "is" openLilyLib?
openLilyLib serves two independent goals: On the one hand it is
a platform for providing "packages" that extend LilyPond's
functionality by specific purposes (e.g. "managing breaks",
"grid-based approach to managing music", "comtemporary wind
notation" (fictional) or similar). On the other hand it provides
numerous little building-blocks that can be used to modularize
the development of advanced functionality. Which is basically a
side-effect of the first goal.
How is it structured?
openLilyLib is a collection of repositories maintained on
Github, but anyone could also keep private repositories as
openLilyLib packages. The core package is oll-core (https://github.com/openlilylib/oll-core)
that provides the technical infrastructure. Some information on
how to install oll-core and other packages can be found
temporarily on the Wiki page https://github.com/openlilylib/oll-core/wiki.
One of the next tasks will be to also write an oll-core manual,
but I had to decide to do other things first.
What new stuff is now available?
I have worked on four modules (a package may contain modules
with more specific functionality):
- stylesheets.span
\tagSpan, a function to tag music "as something" and providing
an interface to styling the music
- scholarly.editorial-markup
\editorialMarkup, a wrapper around \tagSpan, specifically
designed for use in scholarly editions, modeled after parts of
MEI
- scholarly.choice
\choice, giving the possibility to encode alternative versions
of some music, annotating it and choosing the music to be
engraved
- scholarly.annotate
This has been around for some years now and can be used for
maintaining a critical commentary directly within and
musically linked to the score document. The code has been
thoroughly reviewed and integrated with the above three
modules.
I have also newly created a (Lua)LaTeX package that is
fine-tuned to typeset critical reports from annotate's output.
But this is *completely* undocumented so far and wouldn't lend
itself to being reviewed right now. But anyone interested may
have a look at https://github.com/uliska/lycritrprt
as well.
I would love to get some feedback based on the manuals and on
the code. All the examples in the manuals are directly linked
from example files in the repositories.
How to get them? As described on the Wiki page one needs the
repositories of oll-core, stylesheets and scholarly within a
common root directory and add that to LilyPond's include path.
The repositories are at https://github.com/openlilylib/oll-core,
https://github.com/openlilylib/scholarly
and https://github.com/openlilylib/stylesheets.
People who can clone these with Git should checkout the v0.6.0
branch for scholarly, people who want to *download* should do so
from exactly this page: https://github.com/openlilylib/scholarly/tree/v0.6.0
(the gree button in the upper right area of the screen).
Best
Urs