Optimal Midi Architecture
-
@Bart said in Optimal Midi Architecture:
Oh look Bitwig are already in the game.... yas
I don't trust AI "search" results. No DAW yet supports MIDI 2 from what I've seen.
-
-
@Bart Hi Bart, my experience with midi is that you can work without the MidiPlayer module, this is a video on one of my projects where you can have several independent sequences running in parallel.
The whole concept is built around the TransportHandler (internal or external clock), synced or independent to a daw clock.So I set the TransportHandler to trigger the clock every 1/64T note (the lowest value available)
and based on that, I can make calculations for each note value for position and length etc.. using this functionTH.setEnableGrid(true, 23); // 1/96 TH.setOnGridChange(true, gridChange); // nv = note value (part of a quarter note), wheel = sequence inline function gridChange(clock, arg2, arg3) { if (!ENABLEPLUGIN.EnablePluginPnl.getValue()) return; local nv = NVLookUpNum[Canvas.getValue().notevalue]; for (wheel in Canvas.getValue().wheels) { local steps = wheel.steps; local length = nv * steps; local beat = clock % (96*length); local idx = Canvas.getValue().wheels.indexOf(wheel); Canvas.data["beat"+idx] = Math.floor(clock / (96*nv)) % steps; if (clock % (96*nv) == 0) { play(wheel, Canvas.data["beat"+idx], clock/96*4); } local cycle = beat / (96*nv*steps); Canvas.data["pointer"+idx] = cycle; Canvas.changed(); } };The video is a tutorial for setting up key switches you can skip to around 3.00 to see at least 8 independent sequences running
-
I'm hitting the pillow anyway, guess this projects on hold for now. Sounds like working without the MIDI Player to achieve the objectives might be too much to take on myself atm.
Cheers doods.
-
-
@ulrik said in Optimal Midi Architecture:
So I set the TransportHandler to trigger the clock every 1/64T note (the lowest value available)
and based on that, I can make calculations for each note value for position and length etc.. using this functionNice plugin ulrik

I'm likely aiming for a higher PPQ of 960, so not sure it's possible that way..
Chatbot stating: Running a JS loop 960 times per quarter note per sequencer lane will cause hell. And I think you're stating that 96 PPQ is the highest that can go?.
Supposedly the Hise MIDI Player has an internal PPQ resolution of 960 PPQ, handled by sample accurate C++ timing. That's what I need

The MIDI Player could work, but I don't see a way to use it without initially clogging up the plugin with 50 - 100+ MIDI Players, nor finding a way to set them to other MIDI Channels.
Info pointing toward a lot of work to get higher resolution timing without using the MIDI Player..

Stuck, but there must be a way in Hise.

