Ok, this might be a bit esoteric, but I'm working on an editor object inspired by @thetechnobear's Push object, which will allow me to edit parameters on the Axoloti using a connected LCD, encoders and buttons.
I'm using ObjectKvpRoot->apvp.array to find the key-value pairs for the parameters. When I want to change the value of a parameter, i then call KVP_Increase() and KVP_Decrease() in ui.c in the firmware, and poll bit 0x4 of ObjectKvpRoot->apvp.array[foo].ipvp.PEx->signals if any changes made elsewhere (e.g. in the Patcher) are to be displayed.
This works fine when the parameters are in the same patch as the editor object.
However, I'm having problems when I'm trying to edit a subpatch which has a couple of exported parameters. One thing I've noticed is that the list of available parameters in ObjectKvpRoot->apvp.array seems to reflect all parameters in the subpatch (and the top level patch, at least objects that are not subpatches), not just the ones seen in the top level patch.
Secondly, and this is probably related to the first, while changes to the parameter values that I make in the Patcher in the subpatch object are picked up by the editor object (just as when there is no subpatch), the reverse is not true, i.e. calling KVP_Increase()/Decrease() for the key-value-pair corresponding to a given parameter doesn't have any effect (at least not on the parameters in the subpatch object).
I suppose there is a logic here, in that when a change is made to a top level subpatch object, the changes are reflected in the subpatch itself, and it is the subpatch parameters that the editor object is picking up, whereas when making parameter changes, the editor object sends these down to the subpatch directly, and those changes are not reflected in the top level subpatch parameters.
So is there something else I should be doing in order to communicate with the exported subpatch parameters, rather than with what seems to be the subpatch's parameters directly?