NoiseMaker with grouped parameters

The source code is here - inside folder ports-legacy:

1 Like

The ordering is NOT implemented yet. I have to do it :wink:

Ok, sorry, I misunderstood you then.

I’ve made adjustments the parameter groupings, so that (almost) all parameter groups are no more than four parameters and have unique names; @jofemodo kindly merged it to testing. I’ve had to jump through a couple of hoops due to the way the parameter grouping function works, and there are a few more things that could be improved such as scale points for the oscillator tunings so they are displayed in semitones rather than as a number from 0 to 1, but all in all I’m pleased with it.

noisemaker-ui-new

2 Likes

Is there a well-defined way to not have a parameter show up in the list (not even in the ungroup section)? Indeed, there seems to be a property <http://lv2plug.in/ns/ext/port-props#notOnGUI> which could be honored, but which currently doesn’t seem to be, so I was thinking perhaps there is some other mechanism currently available?

I was thinking of the Freewheel parameter, which first of all doesn’t seem to do anything, but also seems to be intended for DAWs, to tell plugins that they are executing in non-real time (usually faster), and is not intended as a UI parameter.

Also, a question: considering adding scale points to the osc tune parameters, what happens if a called-up patch has parameter values in between the defined scale points. Is there a well defined way that this is handled by the Zynthian UI?

EDIT: I figured this out:

After some research, it appears that if a stored parameter has a value that is in between two scale points, it will be rounded down. This causes problems with the boolean (ON-OFF) parameters in the NoiseMaker, because the scale point for ON is set to 1.0, but the underlying parameter is considered ‘on’ as soon as it is larger than 0. The way the UI works, at least on stable, is that when a page is called up, it not only displays the parameters, but also adjusts them to match the scale points in the UI definition (.ttl) file, rounding down to the nearest parameter value. This means that if a parameter had the value, say, 0.3, which would be considered ‘on’, it is rounded down to 0, and thus set to OFF. The practical result of all this is that arbitrary boolean parameters may be changed from ON to OFF when scrolling through the parameter pages of a snapshot that was created before the new grouped parameters were introduced.

I created a bug report (and fix) for this: Bug: Sometimes a parameter will change its value when the corrsponding screen is scrolled past in the UI · Issue #596 · zynthian/zynthian-issue-tracking · GitHub