βambi

contribute

presets

The whole sound of one plugin, as a file of your own, loaded as one step of undo.

what a preset is

The whole sound of one plugin: every parameter, levels included, the matrix, the sources’ settings, the regions, and the plugin’s own state. It is the saved state without what makes an instance this instance:

not in a preset because
the instance’s identity: session, id, name a preset is loaded into an instance
which preset it came from that belongs to the session, not the sound
the encoder’s input mode it says what is plugged in, not how it sounds
how the scene is looked at that is never state

The format is the state’s, so it is as tolerant: read by name, a missing key at its default, an unknown one ignored. A preset made today loads after a parameter is added tomorrow. Another plugin’s preset is refused.

where they live

the browser

One browser, over the panel, in every plugin, so the scene and the matrix stay in sight while presets are tried. The search has the keyboard from the moment it opens and gives it back to the host when it closes. One click loads and the browser stays open. The header’s chevrons step through the whole list in order, whatever is searched or folded, and a * says the sound has moved from the preset it names.

Delete asks, because it is the one thing an undo does not bring back.

a load is one undo step

Host parameters are the host’s to undo, and everything else is the document’s; a preset is both. So a load is one whole step: undone, it restores the patch, the parameters and the preset’s name together.

where the code is

Once, for every plugin. The naming, the file format, the list, the search and stepping live in the core; the load, save, rename and delete in the shared processor; the header’s cluster and the browser in the shared UI; the checks run by every plugin’s suite. A plugin brings data only: its factory list.