SEND AND RECEIVE MIDI MESSAGES FROM GEN

jo geisler's icon

Dear all, I would need to store real time midi data (3 Bytes) in my GEN Patcher.

Here is the example for illustration: I would play a key on a keyboard the message is then send to Max via midi in.The raw midi message which is simply 3 numbers then need to be send to the gen world and stored in a buffer.

I know how to do most of it myself, but are my questions:

How can I ensure that I can recognize the 3 midi bytes in GEN as one midi message? The problem for me is that gen is the world of signals, so I would convert the 3 midi raw bytes into 3 input gen signals using the sig object in max. Fine so far.

Now entering the GEN world these 3 signals will not reach gen at the same time. So what would I need to do? I though about waiting until all three inputs deliver data, then store the data in a buffer. Other thoughts?

The same questions will be when I will output the midi data to the max world. I would send out three signals from gen to the max world that will have the midi information in it. How can I transform then a complete midi message that can be send out in realtime via midi out?

I need to have this as I programmed a real time gen looper where I want not also perform midi recordings.

Thanks for your help

Jo

jo geisler's icon

After reading my post I need to further specify: Is there a object in max that tells me that all scheduled tasks in one max map vector have been executed? If so I would then know that all 3 Bytes of midi date have been delivered to gen and I could process further...

Rafal Zalech's icon

did you get any answers of your questions? following!

jo geisler's icon

No answer, but if feasible way would be to do the following:

You need to check in gen that 3 bytes of midi data have been received from the max map world. You would assume that if one byte has entered eg. midi number 50 in input 1 then you have to wait until you receive something from input 2 and 3.

The same with the output. Your max map logic needs to waits until it receives data from output 1, 2 and 3. Then you can merge the data.

This should be possible with a little bit of work.

BR

Jo

jo geisler's icon

BTW a more easy solution would be to use the seq object from the max / tsp world. It does exactly what you need with all the storage and retrieval of midi data being a sequencer.

BR

Jo

Rafal Zalech's icon

Thanks! i'm acutually preparing an ios app based on dsp stuff in gen~, one part of it is a sample-player triggered by simplified midi messages (list of pitch-velocity).