Changing the parameterName of a RangedAudioParameter

Hi folks,

I’ve seen a few topics about this already, but nothing too recent, and I was also unable to come up with a useful answer, so I’m going to go ahead and make a new topic.

The problem is I want to rename the “parameterName” for audio parameters stored in an AudioProcessorValueTreeState, so that the name displayed in the DAW can be changed at runtime. I am wondering:

  1. Is anyone aware of an official JUCE way of doing this as of 2021? If not, are there any plans to make this a possibility? Even if it isn’t supported by all DAW’s and formats, I think it would still be a very useful feature.

  2. If this is not supported officially by JUCE, does anyone have any insight on how to solve this problem? I saw a few people in other posts saying it is possible, but not a lot of detail on the method by which it is possible.

All thoughts/advice on this topic is much appreciated! :slight_smile:


To try it out you simply inherit a parameter and override getName() to return a dynamic string, maybe also add a setName() method.

You would probably want to call updateHostDisplay() on the processor after you changed a parameter name. Then the legwork starts to see which host respects that and which doesn’t and all the funny behaviours inbetween.

The later is probably the reason why JUCE didn’t add it yet, since if they add it, a developer would rightfully expect that this works in all or most hosts, but that is probably not the case.

Expect dragons. I am curious what you find out.


I gave it a shot, I don’t have a great testing environment but it worked for me with AU & VST3 in Live, Logic, and Reaper. You can also use getText() to adjust the displayed value at runtime.

I’ll update when I have more time to test.

Great to hear, thanks for reporting back.
I wonder though about edge cases. What happens if you load a session where the name was changed. With what name will it appear?
And will they restore automations properly? They should reference by index of the parameter, but who knows…

Anyway, cool that it works for you, that’s a promising sign.