βambi

contribute

the look

One family: a user who knows one plugin reads the others without learning them again.

The look serves one purpose: a musician who knows one bambi plugin can read the next without learning it again. Everything below is a rule a new control, panel or plugin is checked against.

one file for the look

Every colour, type size, stroke, radius and spacing is a named role in the theme file, ui/include/bambi/ui/Theme.h. tools/check-style.sh fails on a literal anywhere else. A plugin uses the file; it never copies it.

The style is Otl Aicher’s and the HfG Ulm’s: a light ground, black line work, structure by rules and alignment, lowercase labels, tabular figures, no rounding, no shadows, no gradients.

colour has meaning

Colour is never decoration. Each colour is a role:

on the controls
the plugin’s own colour modulation, a source’s signal, a selected row
orange where the engine has a value now
grey what cannot be chosen right now
silver other instances
in the scene
orange what came into the plugin
blue what the plugin added

The two sets are separate roles, so changing one never moves the other.

one sign for chosen

Every tab and every choice draws the chosen option the same way: a black block with light text. The other options are black text. No frame, no underline, no lines between options. Grey means only that something cannot be chosen. A toggle is filled when on and outlined when off. Settings and the preset browser, while open, are drawn the same way in the header.

controls

pages

the frame