In what context is the host using the param 'name' field #248
Replies: 6 comments 17 replies
-
I'd assume the host only shows the name and go for 'Layer 1 Loop Start'. Parameter modules are mostly there for organization, and most hosts don't even use them. |
Beta Was this translation helpful? Give feedback.
-
I'm with Timo. We reluctantly coded an exception in our CLAP support where we prefix our params with the module name, because hosts are currently disregarding the module names. Logic btw. shows AU Clump names just fine, at least in the drop down menus. |
Beta Was this translation helpful? Give feedback.
-
Here's what LIVE does with the surge xt vst3. It basically ignores the VST3 groups Here's a bitwig device with the Surge XT VST3. (I don't even know where the module would go in that UI actually). So while I agree with you timo and urs, that full hierarchical view of parameters would be amazing, I think the reality of shipping a plugin today - independent of CLAP or not - is that if you rely on the module name being an integral part of the display your users won't see it reliably. |
Beta Was this translation helpful? Give feedback.
-
Perhaps you should expect the module name to be used for menus only. If at all. module + name is often (much) too long for an automation lane name. I think most host developers tried adding the module name, and removed it again after seeing 'Oscillator 1 - Osc 1 Frequency'. |
Beta Was this translation helpful? Give feedback.
-
Thanks, lots of good information here. For now, it seems like its probably best to put the full long name in the I don't know what the backwards compatibility considerations are, but can we change the API? Maybe something like this: // The full display name (ideally unique). The host can display this to the user with no other context.
// e.g. 'Osc Wavetable 1 Position'
char name[CLAP_NAME_SIZE];
// The name of the parameter in a path-like format. This can be used to display the parameter in a
// tree-like structure. Similarly a filesystem path, '/' should be used as the separator. The last component
// of the path is name of the parameter: this can be brief, because it will always be shown alongside
// the preceding 'folders'.
// e.g. 'Oscillators/Wavetable 1/Position' where the parameter is called Position within the sections
// Oscillators and Wavetable 1.
char pathname[CLAP_PATH_SIZE]; |
Beta Was this translation helpful? Give feedback.
-
With the params extension, I wonder if we can be more specific regarding how the
name
field will be used by the host.Say for example I have a parameter for controlling the starting point of a loop, and it is located on my GUI within the 'Layer 1' section, and then within a subsection called Loop.
It makes sense that I would set the
module
to"Layer 1/Loop"
.But how precise should the
name
be?"Layer 1 Loop Start"
or simply"Start"
.I think it would depend on whether the host is displaying the name in isolation, or if it is displaying the name alongside the module. If set the long name, but the host also displays the module text next to it, then that's a lot of duplicated text shown to the user.
Anyone have any thoughts on this?
Beta Was this translation helpful? Give feedback.
All reactions