lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is lilypond suitable for big composition projects?


From: Urs Liska
Subject: Re: Is lilypond suitable for big composition projects?
Date: Thu, 22 Mar 2018 20:03:17 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0



Am 22.03.2018 um 17:31 schrieb jtruc34:
Yes, I'm already using the trick \set Score.skipTypesetting = ##f, but it is
not so convenient.

You could look into these two packages:
https://github.com/openlilylib/partial-compilation
(which is unfortunately totally undocumented, but you can have a look at https://git.openlilylib.org/bfsc/das-trunkne-lied/blob/master/score/fullscore.ly for an example with the different options commented)
This basically is a wrapper around the \skipTypesetting approach.

The problem with this is that with skipTypesetting the whole score still has to be *parsed*, which already take significant time with long scores.

One way around this is to store music in shorter parts and only parse those that you want to compile. Something along the lines of

% file 1
music = {}
% file 2
music = {}

Then load the files you want and concatenate the music variables. This way you can really shorten the compilation time. Obviously this is a complex approach.
https://github.com/openlilylib/gridly goes in that direction.

On the very far horizon there is an idea to parse the music once, keep LilyPond running with the parsed music stored as music expressions and retrieve only those that you need to recompile. Kind of science fiction, but not really, it's mainly a matter of resources ... "Implement a System to Handle Scores System by System" on http://lilypond.org/google-summer-of-code.html would be a first step in that direction.

This is mainly to give some context and show you that you're not alone with that wish ;-)
Unfortunately it's not very concrete and helpful

Best
Urs



reply via email to

[Prev in Thread] Current Thread [Next in Thread]