lilypond-user
[Top][All Lists]
Advanced

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

Re: Arbitrary MIDI


From: Cam
Subject: Re: Arbitrary MIDI
Date: Sun, 23 Feb 2020 15:35:15 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1



On 2020-02-23 10:17 a.m., David Kastrup wrote:
Cam <address@hidden> writes:

On 2020-02-22 9:22 p.m., David Kastrup wrote:
Cam <address@hidden> writes:

Is there any way to inject arbitrary bytes of data into the stream of
generated MIDI?
No.

There are times this would be convenient.
You'll probably need a Midi sequencer or processor to get this done
with
LilyPond output.




David,

Thanks for the quick reply. At least your answer is clear and unequivocal :)

I will work around.

The Midi backend is pure C++, not accessible to Scheme programming and
not even using Scheme garbage collection.  That would be good to change
some day, but that's a long-term perspective without currently ongoing
or even started work, and without a Scheme way into _any_ Midi,
generating arbitrary Midi bytes just does not appear to make a lot of
sense as they could not be usefully serialised.

One could conceive of a few special-cased "performers" that could pick
up data of certain kinds (generic controllers or stuff?): that kind of
thing might actually work without opening up Midi to Scheme in general.

But at the current point of time, there is nothing implemented, and more
importantly there is absolutely nothing you could do without going to
C++ first.

Thanks for the additional info.

Although it would be slightly more convenient to be able to embed some 
arbitrary MIDI in the Lilypond source, I can work around without great 
difficulty. The point is to control some non-musical gear which responds to 
MIDI messages. I invoke Lilypond, from within a Python program, to compile 
short musical phrases which are then glued together and merged to create a 
single MIDI output file.

Cheers

Cam



reply via email to

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