Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
factory_program_table.hpp File Reference

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.

Detailed Description

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.