(poll) How do YOU handle your plugins parameters?

Some time ago AudioProcessorValueTreeState and AudioProcessorParameter(WithID) did not exist.
So I’m curious what you used in the last plugin you coded :

  • AudioProcessorValueTreeState
  • Classes inheriting AudioProcessorParameterWithID
  • Classes inheriting AudioProcessorParameter
  • Your own classes (not inheriting AudioProcessorParameter)

0 voters


And what would you recommend using :

  • AudioProcessorValueTreeState
  • AudioProcessorParameterWithID
  • I’m not sure

0 voters

Currently i use AudioProcessorParameter, but i want to use AudioProcessorParameterWithID in the future.

I can’t use AudioProcessorValueTreeState, because it think it has a few design flaws.

  • if the parameter uses a interval, the quantized (stepped) values are stored internally.

I think this is problematic, from a hosts perspective, it sets a certain float value, and gets a quantized value back.

(correct me if i’m wrong)

2 Likes

I’m a huge fan of ValueTreeState, mostly because you basically get parameter save/restore and undo/redo for free. But like @chkn said, it definitely has some flaws that have to be worked around.

2 Likes

You can try this for undo/redo - AudioProcessorUndoAttachment for JUCE · GitHub
It provides a class AudioProcessorUndoAttachment which listens to an AudioProcessor and adds all the parameter changes to an UndoManager.

Thanks everyone !

(I will not close the poll before a few days/weeks, so feel free to vote until then if you haven’t)