I would expect a page’s mOnActivate/mOnDeactivate callback to be run only once per page activation/deactivation. Tested with Cubase 12.0.52 and Cubase 13.0.21 on Windows 10.
Funny. My biggest issue with MIDI Remote in my scripts are multiple triggerings of .mOnValueChange that I use to send feedback to my controller for setting an LED ring. The worst part is that the number times the callback is fired is unpredictable and can be anywhere between 1 and 3 from my findings. I could disregard any additional times it fires but the value parameter of the callback function is different each time.
For example, if the .mOnValueChange callback only fires once, it will hold the correct value parameter. If it fires twice, the first time the value will be zero and the second time if fires the value parameter will have the correct value. If it fires 3 times, the first will have a zero value as the previous example and the following 2 times the value will have slightly different values (due to rounding errors I’m led to believe).
This creates a big mess in my script full of workarounds.
I was just checking and I don’t have this issue on other values. (transport start and stop for example).
I recently switched from normal midiBinding to rely on mOnProcessValueChange so I can control when the data is being sent.