Re: Arbitrary MIDI

2020-02-23 Thread Cam




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

2020-02-23 Thread David Kastrup
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

2020-02-22 Thread Cam

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

2020-02-22 Thread David Kastrup
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".