Hide audioparameters from host[SOLVED]

is there a way to make an audioparamter not visible to the host, i.e. not controllable from outside the plugin editor?

I know I could add them to the valuetree without being an audioparameter, but I just wondered if there’s a flag or something to hide existing ones.

There was an “isAutomatable()” flag in the past. It was removed from the constructor arguments in one of the latest refactoring of the AutopProcessorParameter classes.
I can only assume, that since there were many hosts ignoring that flag anyway, it made no sense to have it configurable.

The flag is still inherent in the category, e.g. you can’t automate an inputGain (which is communicated to the host via parameters).

Ok then I’ll add them to the ValueTree directly.

I did some test trying to add them and succeeded, however when I print the tree it looks like this:

<Odin foo="4.2e1" bar="4.3e1">
  <PARAM id="amount_1_[0]" value="0"/>
  <PARAM id="amount_1_[1]" value="0"/>
  <PARAM id="amount_1_[2]" value="0"/>

The params added are foo and bar. Why are they in the Odin braces…? Is this how it is supposed to be? looks weird to me…

It is totally up to you, how you add your values to the ValueTree.

The ValueTree is XML, so you added it using setProperty(), which translates to XML attributes.
If you want it more generic, add your own child nodes to the ValueTree (best not to name them “PARAM”) and set the value as property there.

e.g.

auto node = treeState.state.getOrCreateChild ("Custom", nullptr);
auto param = node.getOrCreateChild ("MyParam", nullptr);
param.setProperty ("id", paramID, nullptr);
param.setProperty ("value", value, nullptr);

Whatever works for you, the host will not read or interpret that data.

1 Like

cool thanks for the explanation! :slight_smile: