I'm glad you asked! The program is intended to have a performance
mode: you
enter a set of requirements and restrictions on the command-line
(this is the
creative part!) and then see what it produces.
The program then does some combinatorial number-crunching, which
can take a
long time to complete - in some cases unrealistically long.
However, it uses
Python generators, so that each small unit of output (i.e., bar) is
yielded
immediately and then forgotten about, and we begin to see output
straight
away. Without this feature, some of the larger operations would
simply fill
the memory and never complete. This way, it can begin to "perform"
immediately.
Of course, it is possible to play midi files (or scores) produced
by Lilypond
at the end of the process, but that may be much later, or never.
To date, I've been using the sox synth to play the results, but
that's pretty
limited; and then by triggering some piano samples, but I realized
I was
re-inventing midi; and since my program already includes a function
to
convert my numerical representation of music into Lilypond-friendly
strings,
the midi data is already being produced.
If only I could get my hands on it!
Did you try to pipe the MIDI file through "tail -f" ?
That part seems to work, even if I don't know if the "engraving during
input" can work.
Greetlings from Lake Constance
---
fiëé visuëlle
Henning Hraban Ramm
http://www.fiee.net
http://angerweit.tikon.ch/lieder/
https://www.cacert.org (I'm an assurer)
_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user