Dear colleagues,
with Cubase 13.0.50 there is a MIDI remote encoder problem.
This problem is noticeable in the current script for the PreSonus FaderPort.
The PreSonus FaderPort has a single central encoder for everything, so this problem crashes the whole script.
All previous versions of Cubase since 12.0.70 up to Cubase 13.0.41 did not have this problem.
The problem exists with both system platforms (Windows and Mac).
The script is very large:
11873 lines the last released version
13381 lines the next version, which I am still testing
The script defines 10 mappingpages, 38 subpages and 214 customvariables.
A custom variable is defined for the central encoder:
mButtons.kb_Rotary_Value
= deviceDriver.mSurface.makeCustomValueVariable('kb_Rotary_Value')
The RelativeSignedBit type is used for MidiBinding:
mButtons.kb_Rotary_Value.mMidiBinding.setInputPort(midiInput)
.bindToControlChange(0, cRotary)
.setTypeRelativeSignedBit()
An essential task of the script takes place in this callback function:
mButtons.kb_Rotary_Value.mOnProcessValueChange = function (context, value) {
if (debug_CKB_kb_Rotary_Value)
console.log('057) mButtons.kb_Rotary_Value.mOnProcessValueChange: '
+ value.toString())
In this callback function, the use of the encoder is “distributed” depending on the currently active subpage.
Up to Cubase 13.0.41, the value parameter was correctly filled with data as follows:
If I monitor the value parameter there, I get values between 0 and 1 in steps of 1/127 when I rotate the encoder forwards or backwards. The callback function is generally always executed when the encoder is turned.
With Cubase 13.0.50 there are now these errors:
- sometimes the parameter value does not change when the encoder is turned
- sometimes the parameter value jumps back to the value 0 or 1/127 when turning
- sometimes the parameter value “hangs” between the values 1/127 and 2/127 when turning
- the error sometimes occurs only rarely or only sporadically
- the error occurs more frequently if the current track was previously changed
- the subsequent errors are fatal for the script
Other hints:
- I have not found any side effects in the script that could cause the error.
- No “MixerBankZone” API functions are used in the script.
- The script uses a simple way to swap between tracks:
…mHostAccess.mTrackSelection.mAction.mPrevTrack
…mHostAccess.mTrackSelection.mAction.mNextTrack
Kind regards
CKB