Repository navigation
Panels
Every module has two panels, a dark one and a light one. Right click the module and choose under "Panel". The choice is saved with the patch, per module instance, so two copies of the same module can differ. Dark is the default.
Rack 2 has no panel theming of its own, so this is implemented in the plugin.
| Dark | Light | |
|---|---|---|
| Panel | #101010 |
#edeae3 |
| Module name | #b4b4b4 |
#2e2e2e |
| Control labels | #9a9a9a |
#3a3a3a |
| Tick marks, wordmark | #6f6f6f |
#5f5f5f |
Two sets rather than one, because no single label colour is legible on both grounds. The best compromise value sits below the readable threshold on both, which is worse than picking two.
Knob face #8b9a8c, outline and pointer #4f5a50.
The knobs, attenuverters, jacks and switch are drawn for this plugin rather than taken from Rack's component library, so one set of artwork has to work on both panel colours. The outline is what makes that possible. A flat disc disappears into the light panel and floats on the dark one.
The outline is structural rather than decorative. Removing it for a flatter look breaks the light panel.
Labels are neutral gray and never tinted towards the knob colour. The knobs being the only colour on the panel is the point.
scripts/genpanels.py writes all ten panel SVGs. It needs fonttools and a
copy of DejaVu Sans.
Label text is emitted as outlines rather than as <text>. Rack renders SVG with
nanosvg, which ignores text elements entirely, so any panel relying on live text
renders with the labels missing.
tools/panelcheck.sh parses the panels with Rack's own nanosvg and checks the
page size, the HP, that nothing overflows the panel and that the hidden
components layer is not being drawn.
Modules
Reference