openbook
openbook copied to clipboard
Consider dropping outside dependencies and just using LilyPond
You seem to be using a lot of different tools to do things you can do within LilyPond directly.
Have you never seen a multi-directory, multi-file LilyPond project that can be built a number different ways? Here's an example: https://github.com/mrbeany/shipping-containers
It's from an art-album I did a while back. I wanted it to be easy to re-use, so it only depends upon LilyPond. It can be built one of five different ways out-of-the-box (Fakebook, SATB, MIDIs, A4 Songbook and Letter Songbook), plus any of the pieces of sheet music can be built adhoc.
I mean, a basic LilyPond templating/Mako replacement can be done by using LilyPond variables and a common "LilyPondLogic.lyi" include. That common file can check for global variables and adjust things right there.
I've seen the issues users have with some of the dependencies. I'm sure you have other people who would be potential users, but they get frustrated without commenting. You can get rid of all of the dependency issues.
It's a LilyPond project. There's no reason for outside dependencies.
Will consider if I find that I can do everything I do with mako with lilypond.
From what I've seen, I don't think lilypond can sufficiently handle what @veltzer is trying to do here.
Your project still is hardlinking to files. I was trying to figure out how to dynamically read file directories and select files via lilypond/guile and asked on the lilypond user mailing list, but gave up.
I'm playing around with lilypond myself to see what dependencies can be eliminated, but I would imagine it still being something like lilypond + bash + scripting language at the minimum.
Actually, after playing more with lilypond-sandbox
, it does seem possible to do everything there.
But that would require us to learn Guile/Scheme.
Maybe I'll do that in the future, but for now I found it much easier just to use lilypond + rust for preprocessing in my fork.