If I’ve got an external hardware controller connected to Cubase, can anyone tell me how often the feedback MIDI messages from Cubase to the external controller are updated?
So e.g. if I’m moving a fader in Cubase, how many times a second will Cubase send a new MIDI (fader position) message to the external controller.
Thanks
Robert
The MR is based on an event-driven approach. This means that whenever you move a fader in the UI (or the controller) an event is raised and then the handler, be it a script or an internal CB interpreter of a “mapping assistant” surface, is responsible to feedback as quickly as possible. From what I saw while scripting, the response is almost instantaneous, while there have been reports about the response using the mapping assistant not necessarily caused by core latencies but rather from values manipulations.
Concerning the low-level polling done internally by CB, I don’t personally know its frequency, but I suppose that it is really really low.
Another idea, @Robert_Campbell,
you can implement monitoring in the CallBack function mOnProcessValueChange, which belongs to the Cubase fader, with e.g. console.log(‘value changed’).
If you move the fader in Cubase, you will then receive messages in the MIDI Remote Console window. There you can see how fast Cubase sends the changes.
If you drag the fader in Cubase very quickly from minimum to maximum, you will see that Cubase skips some intermediate values because Cubase is a system that must always work completely correct in real time.
If more than an estimation is required, I would go one step further than @CKB’s suggestion above and use a virtual MIDI port together with a 3rd party MIDI monitor.
Although I have not performed any tests comparing the output, writing to console tends to add some overhead which may affect the results.
Thanks for info guys
I’ll set up an automated 1 second fade up going from MIDI value 0 go MIDI value 127. Then I’ll monitor the MIDI stream in MIDI-OX. So if I get all 128 values outputted then it indicates a update rate of at least (every) 8ms. If I only get half the values then I guess that makes the update rate around (every) 16ms. Hope that makes sense.