sst-filters
Filters submodule for the Surge Synthesizer
Loading...
Searching...
No Matches
Namespaces | Functions
configuration_selector_impl.h File Reference

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.
 
namespace  sst::filtersplusplus::details
 

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)
 
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.
 
bool mcequal (const ModelConfig &mc)
 
template<is_modelconfig_enum T, typename... Args>
requires (is_modelconfig_enum<Args> && ...)
bool mcequal (const ModelConfig &mc, T val, Args... rest_args)
 
template<is_modelconfig_enum T, typename... Args>
requires (is_modelconfig_enum<Args> && ...)
std::vector< std::pair< T, bool > > vavpc (const FilterModel &fm, Args... cstr)
 
template<is_modelconfig_enum T, typename... Args>
requires (is_modelconfig_enum<Args> && ...)
std::vector< T > vapc (const FilterModel &fm, Args... cstr)
 
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.
 
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)