Re: Arbitrary MIDI
On 2020-02-23 10:17 a.m., David Kastrup wrote: Cam writes: On 2020-02-22 9:22 p.m., David Kastrup wrote: Cam 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
Re: Arbitrary MIDI
Cam writes: >> On 2020-02-22 9:22 p.m., David Kastrup wrote: >>> Cam 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. -- David Kastrup My replies have a tendency to cause friction. To help mitigating damage, feel free to forward problematic posts to me adding a subject like "timeout 1d" (for a suggested timeout of 1 day) or "offensive".
Re: Arbitrary MIDI
David, Thanks for the quick reply. At least your answer is clear and unequivocal :) I will work around. Cheers Cam On 2020-02-22 9:22 p.m., David Kastrup wrote: Cam 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.
Re: Arbitrary MIDI
Cam 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 Kastrup My replies have a tendency to cause friction. To help mitigating damage, feel free to forward problematic posts to me adding a subject like "timeout 1d" (for a suggested timeout of 1 day) or "offensive".