Skip to content

Short knob-grid labels for 2 parameter(s) - #2

Open
charlesvestal wants to merge 2 commits into
filliformes:masterfrom
charlesvestal:short-names
Open

charlesvestal wants to merge 2 commits into
filliformes:masterfrom
charlesvestal:short-names

Conversation

@charlesvestal

@charlesvestal charlesvestal commented Aug 29, 2026

Copy link
Copy Markdown

Adds short_name to this module's parameters, so the Schwung knob grid can
label each cell with the word that identifies it rather than a squeezed
abbreviation of the full name.

Part of a fleet-wide pass over every catalogued module. Each name was chosen
by hand against the page it appears on: where a page is already called
"Filter Envelope", its cells say ATTACK and DECAY rather than F.ATK and FENVDEC.

What changes

  • dissolver — 2 parameters labelled

Nothing else is touched: no version bump, no behaviour change, no new params.

dissolver — rendered

dissolver

Left is what the grid draws today, right is with this change, across all 3 changed pages.

Before / after

page key grid drew now draws
Main mix DRY/WE MIX

The page matters where a name repeats: the same role under two sections
gets the same short name, and the section it sits under is what tells
them apart.

The full name is not lost

A short name is what the cell says at rest. The moment a knob is
touched, the header shows that parameter's full name and its value
so nothing becomes unidentifiable, it just stops being shouted at you
eight times on one page.

touched

mix on Main: the cell reads MIX at rest, and the header reads DRY/WET under the finger.

Safe to merge now

short_name is a new field — it lands in the next Schwung release. On the
currently released host (v0.12.1) it is simply ignored.

This was checked rather than assumed: for every file here, the v0.12.1
page planner was run against the module contract before and after the change
and asserted to produce byte-identical pages — same page count, same cells,
same order. Merging today changes nothing; the labels appear when users update.

Not included — these live in your DSP

10 more parameters take their metadata from the plugin's chain_params at runtime, so they
cannot be labelled from module.json. Adding short_name beside each one
in your chain_params JSON is all that is needed. Suggested values:

noise_mix  ->  NS MIX                         # Advanced
noise_tone  ->  NS TON                        # Advanced
stereo_width  ->  WIDTH                       # Advanced
grain_jitter  ->  COMP                        # Advanced
evo_depth  ->  DEPTH                          # Advanced
feedback_cap  ->  Cap                         # Advanced
tilt_freq  ->  TILT                           # Advanced
output_level  ->  OUT                         # Advanced
attack_time  ->  Attack                       # Advanced - 2
release_time  ->  Release                     # Advanced - 2

If a label is wrong

These are suggestions from someone reading the grid, not from the person who
wrote the synth. Change any of them in this branch, or close it — no hard
feelings either way. Layout problems are a separate matter and will come as
their own issues.

Labels each knob cell with the word that identifies the control rather than
a squeezed abbreviation of its full name. Additive only -- the released
host (v0.12.1) ignores the field, and its page planner was verified to
produce identical pages before and after.
These parameters build their metadata in C, so module.json cannot reach them.
Each edit adds one escaped field inside the existing string literal; every
touched line was unescaped and JSON-parsed to confirm it still emits valid
JSON, and the module was checked to stay well inside the 64KB chain_params
buffer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant