With the imminent release of LilyPond 2.24, I thought it would be good to (once again) raise the topic of OpenLilyLib. There has been some recent movement on this (thanks to Jean and Andrew) to get the code mostly working with recent LilyPond versions and Guile 2.
I have also just pushed a bunch of commits to resolve (as far as I can tell) the remaining errors and warnings, at least in the usage examples included in the repositories. (See pull requests below.) I believe there is still an important role for OpenLilyLib - the edition-engraver in particular is an integral part of my own usage of LilyPond - and it would seem to me to be a much better vehicle than the LSR for anything more complex than small code examples. The recent discussions on the lilypond-user list regarding the \alignTo function and Jean's lyric spacing code would indicate that these would be prime contenders for inclusion. It would be good to get a feel from users how much this resource is used, and which bits are most important to maintain. Following are my impressions of the current problems with openlilylib and a proposal to (begin to) address them. ## Problems - unclear documentation - too many repositories, duplicated and out-of-date content - un-maintained code ## Proposal 1. Centralize into main 'entry-point' repository using git submodules containing newest, working code. This will contain clear instructions as to how to install `openlilylib`. 2. Update, fix or remove non-working code from this core set 3. Only target current stable LilyPond from 2.24.0 onwards (update to 2.23.81 for now) ### Core repositories I propose to include these as git submodules. - `oll-core` :: core functions - `edition-engraver`, and these packages that depend on it - `breaks`, `page-layout`, `partial-compilation` - `analysis` :: graphical highlighting of musical analysis - `ji` :: just intonation - `notation-fonts` :: manage font selection - `oll-misc` :: various helper functions - `stylesheets` :: hierarchical stylesheets - `scholarly` :: toolbox for annotating scores ### Older repositories - propose to deprecate AFAICT these are deprecated and/or unused. I propose they are "officially" dropped unless there are any regular users who are able to maintain them. - `openlilylib` :: very deprecated - turn this into the 'entry-point' repository - `LO-ly` :: moved to https://github.com/OOoLilyPond - `bezier` :: slur-attachment function and improved `\shape` - `contemporary` :: nothing here - `gridly` :: music editing in independent segments - `grob-tools` :: moved to `oll-core` - `lalily-templates` :: template package - `lilypond-export` :: export to other formats - `snippets` :: mostly moved to `oll-misc` - `templates` :: templates and predefined instruments ## Pull requests - https://github.com/openlilylib/oll-misc/pull/10 - https://github.com/openlilylib/scholarly/pull/73 - https://github.com/openlilylib/analysis/pull/17 -- Mark Knoop