addParameterData for a parameter that is not actually there


Many questions from me…

With the following code in the processor.

if (outParamChanges)
    int32 index = 0;
    IParamValueQueue* paramQueue = outParamChanges->addParameterData(paramId, index);
    if (paramQueue)
         int32 index2 = 0;
         paramQueue->addPoint(0, val, index2);

I have noticed that I can “communicate” with the controller by sending a val for a paramId that isn’t really a prameter, just by setting a fake number (paramId) and then receive it on the controller’s side in the following function

..Controller::setParamNormalized(ParamID tag, ParamValue value)

Checking the tag there for the fake paramId and take the value.

But as far as I understand it, this fake parameter value is going from the process to the DAW and then to the controller. So my question is, is it ok to do it this way or is it only allowed for real parameters?

Thanks in advance.

This is not allowed. It’s only guaranteed that parameters exposed by the controller will be delivered.