Jan Nieuwenhuizen <jann...@gnu.org> writes: > David Kastrup writes: > >>> - develop a GUI fro easy tweaking >> >> That would be interesting. > > Plug: http://lilypond.org/schikkers-list/
It links to a Lilypond report with a non-existing link. One can go to the general Lilypond report page and click on the direct article link in order to get an SQL error. Anyway, I guess Schikker's list would become more interesting if Lilypond was able to save the typesetting and layout optimization state at the start of a page. Which is point of contradictory since the actual start of page is determined in colloboration with global optimization following afterwards, so one can go for reasonably frequent snapshots instead. Now here is one way to do this in a ridiculously primitive manner: decide on a refresh time you consider tolerable. Start a lilypond process, and a timer task that fires a timer signal with the refresh rate. When the timer fires, fork the process, suspend the child, record all open file positions, and continue with the process. Now if you edit the main source file and say refresh, take the position of the first change in the file and look up the last suspended child that has not yet seen the changed file position, throw away all suspended children after that child, fork a new one and let the compilation commence from where you left off. Of course this requires that Lilypond does most of the hard processing while reading the input, and produces output as soon as it can. And one should likely check what one can do to let guile help more with fork's copy-on-write page semantics than it likely does (I can imagine that the average garbage collection is not particularly copy-on-write-friendly). -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user