SEND AND RECEIVE MIDI MESSAGES FROM GEN


    Nov 20 2017 | 10:59 am
    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

    • Nov 20 2017 | 11:23 am
      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...
    • Apr 18 2018 | 6:26 pm
      did you get any answers of your questions? following!
    • Apr 19 2018 | 9:06 am
      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
    • Apr 19 2018 | 9:08 am
      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
    • Apr 19 2018 | 11:54 am
      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).