A plug-in's factory presets as an index-addressable, preloaded program table. More...
#include <pulp/state/preset_manager.hpp>#include <pulp/state/store.hpp>#include <cstddef>#include <filesystem>#include <span>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| class | pulp::format::FactoryProgramTable |
Namespaces | |
| namespace | pulp |
| namespace | pulp::format |
| What the product grants a device: the quota table indexed by capability tier and live thermal state. | |
Functions | |
| std::filesystem::path | pulp::format::factory_presets_dir_for_module (const std::filesystem::path &module) |
| Map a plug-in module's path to the folder holding its factory presets. | |
| std::filesystem::path | pulp::format::loaded_module_factory_presets_dir () |
| factory_presets_dir_for_module applied to the image this code is linked into. | |
A plug-in's factory presets as an index-addressable, preloaded program table.
A format that lets the host pick a preset by number (the VST3 program list) can be told to switch from the audio thread, where the preset file cannot be read. This table reads every factory preset once, on the main thread, and keeps the parameter values in memory so selecting a program later is a plain batch of parameter writes.
The numbering is the one PresetManager::factory_presets() returns (sorted by name), so a program index a host stores in a session keeps naming the same preset when the session reopens.