That looks pretty cool and I will try and understand the VL part a bit better.
So I am not just recording note and velocity but a few other things as well - I just didn't show them in the original post for clarity. Like you say, some other things would be nice to be added, most importantly the timestamp and a running counter for note length - ie. the length value for note keeps running till the note stops playing.
Right now I am doing it the following way. On the right is the module for 1 particular note, there is 128 of them. Data gets zipped to contain 7 values: note, count (not so important), velocity, time, length, pitchbend and modulation. The last 3 are sampled continously till the note finishes playing. After putting all the data together its sorted by timestamp and then goes into the rest of the patch.
So what is still missing in my current setup is that I dont want to just listen to 1 channel, but to all 16 channels of one port and then have the channel as another "column" in the list.
Could you show me how to record more data like time or sample the pitchbend for each note while it is playing using VL?
I need the midi notes in this format, as they get mapped to 3D transformations. The whole thing is a 3D midi visualiser, which you can play and controll in real-time. It's pretty cool and has been a loong time in the making. I'll post a video of it soon, when we show it for the first time at the end of January.