Hacker News new | ask | show | jobs
by cesaref 1563 days ago
My wife writes choral music with Sibelius.

One of the problems she has is versioning, and it's pretty obvious that something like LilyPond + source control would be a massive benefit to her for managing the creative process, as pieces are rehearsed and modified/corrected it turns into a versioning problem with various performers unsure which copy of the piece they are working from.

I should really look into this, especially what printing support looks like (she typically prints double sided on A3 so that it folds correctly into a music folder), and what support for playback looks like.

It's a pretty cool project, I really have been meaning to investigate it, so maybe it's time to pull down a copy and kick the tyres.

2 comments

Minimally you can look at the pdf tools / toolkit and "imposition".

Basically, Lilypond has like a zillion different output formats and page sizes:

https://lilypond.org/doc/v2.22/Documentation/notation/paper-...

...then you can take one or more *.pdf as a linear set of sheets and run it through some imposition (booklet) tooling.

https://stackoverflow.com/questions/465271/gluing-imposition...

https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

https://pypi.org/project/pdfimpose/

It wouldn't be terribly hard to whip up a Makefile and/or a few shell scripts which would "do the right thing" 99.9% of the time.

eg:

build.sh => make && xdg-open ./output.pdf

commit.sh => git add -u * && git commit -m '$DATE' && git push origin

add-new-files.sh => git add * && git commit -m '$DATE - new files' && git push origin || notify-send "HEELLLPP!"

booklet.sh => make && pdfimpose $OPTIONS ./output.pdf -o booklet.pdf && xdg-open ./booklet.pdf

Good Luck, Have Fun! :-)

This is fairly trivially handled. All the commercial packages easily allow putting a last modification time stamp on the page footer, or something like that.