Namespaces | |
namespace | sst |
Parent namespace for all Surge Synth Team code. | |
namespace | sst::filtersplusplus |
configuration_selector contains a set of useful functions to genreate uis and allow users to navigate the configuration space more naturally than the simple flat list in the core api. | |
Functions | |
bool | isModelConfigValid (const FilterModel &fm, const ModelConfig &tc) |
A simple boolean check of if a given model config is valid for a given model. | |
bool | isPartialConfigValid (const FilterModel &fm, Passband p) |
This API allows you to build a partial config and test if you are valid so far. | |
bool | isPartialConfigValid (const FilterModel &fm, Passband p, Slope s) |
bool | isPartialConfigValid (const FilterModel &fm, Passband p, Slope s, DriveMode d) |
template<is_modelconfig_enum T, typename... Args> requires (is_modelconfig_enum<Args> && ...) | |
bool | isPartialMatch (const ModelConfig &mc, Args... cstr) |
isPartialMatch is just a utility where you can send a model config and then any subset of enums and get a true/false. | |
ModelConfig | closestValidModelTo (const FilterModel &fm, const ModelConfig &mc) |
Given a model config, which is the 'closes' valid model to the one handed in. | |
template<is_modelconfig_enum T> | |
std::vector< T > | potentialValuesFor (const FilterModel &fm) |
Given an enum type, what are the potential values this model could support for just that dimension. | |
template<is_modelconfig_enum T> | |
bool | supportsChoice (const FilterModel &fm) |
If a model doesn't use a particular dimension at all (namely all values of that dimension are UNSUPPORTED) return true. | |
template<is_modelconfig_enum T> | |
std::vector< std::pair< T, bool > > | valuesAndValidityForPartialConfig (const FilterModel &fm) |
To probe a partial config, you want to know which values are possible valid and either get a list with only valid ones, or get a list of values with validity. | |
template<is_modelconfig_enum T> | |
std::vector< std::pair< T, bool > > | valuesAndValidityForPartialConfig (const FilterModel &fm, Passband p) |
template<is_modelconfig_enum T> | |
std::vector< std::pair< T, bool > > | valuesAndValidityForPartialConfig (const FilterModel &fm, Passband p, Slope s) |
template<is_modelconfig_enum T> | |
std::vector< std::pair< T, bool > > | valuesAndValidityForPartialConfig (const FilterModel &fm, Passband p, Slope s, DriveMode d) |
template<is_modelconfig_enum T, typename... Args> requires (is_distinct_modelconfig_enum<Args, T> && ...) | |
std::vector< std::pair< T, bool > > | valuesAndValidityForPartiaulConfig (const FilterModel &fm, Args... args) |
template<is_modelconfig_enum T> | |
std::vector< T > | valuesForPartialConfig (const FilterModel &fm) |
And this provides the filtered version, so items in the above api with false here would just not appear in the list. | |
template<is_modelconfig_enum T> | |
std::vector< T > | valuesForPartialConfig (const FilterModel &fm, const Passband &p) |
template<is_modelconfig_enum T> | |
std::vector< T > | valuesForPartialConfig (const FilterModel &fm, const Passband &p, const Slope &s) |
template<is_modelconfig_enum T> | |
std::vector< T > | valuesForPartialConfig (const FilterModel &fm, const Passband &p, const Slope &s, const DriveMode &d) |
template<is_modelconfig_enum T, typename... Args> requires (is_distinct_modelconfig_enum<Args, T> && ...) | |
std::vector< T > | valuesForPartialConfig (const FilterModel &fm, Args... args) |
template<is_modelconfig_enum T, typename... Args> requires (is_distinct_modelconfig_enum<Args, T> && ...) | |
bool | noChoicesOrOnlyUnsupported (const FilterModel &fm, Args... args) |