Audacity 3.2.0
Public Member Functions | List of all members
anonymous_namespace{LoadLV2.cpp}::LV2PluginValidator Class Reference
Inheritance diagram for anonymous_namespace{LoadLV2.cpp}::LV2PluginValidator:
[legend]
Collaboration diagram for anonymous_namespace{LoadLV2.cpp}::LV2PluginValidator:
[legend]

Public Member Functions

void Validate (ComponentInterface &pluginInterface) override
 
virtual void Validate (ComponentInterface &pluginInterface)=0
 

Detailed Description

Definition at line 275 of file LoadLV2.cpp.

Member Function Documentation

◆ Validate()

void anonymous_namespace{LoadLV2.cpp}::LV2PluginValidator::Validate ( ComponentInterface pluginInterface)
inlineoverridevirtual
Parameters
pluginInterfaceloaded plugin

Implements PluginProvider::Validator.

Definition at line 278 of file LoadLV2.cpp.

279 {
280 if(auto lv2effect = dynamic_cast<LV2EffectBase*>(&pluginInterface))
281 {
282 LV2_Atom_Forge forge;
283 lv2_atom_forge_init(&forge, lv2effect->mFeatures.URIDMapFeature());
284
285 LV2PortStates portStates { lv2effect->mPorts };
286 LV2InstanceFeaturesList instanceFeatures { lv2effect->mFeatures };
287
288 auto settings = lv2effect->MakeSettings();
289 auto wrapper = LV2Wrapper::Create(
290 instanceFeatures,
291 lv2effect->mPorts,
292 portStates,
294 44100.0,
295 nullptr);
296
297 if(!wrapper)
298 throw std::runtime_error("Cannot create LV2 instance");
299
300 }
301 else
302 throw std::runtime_error("Not a LV2Effect");
303 }
LV2EffectSettings & GetSettings(EffectSettings &settings)
Definition: LV2Ports.h:215
static Settings & settings()
Definition: TrackInfo.cpp:69
std::vector< LV2_Feature > mFeatures
static std::unique_ptr< LV2Wrapper > Create(LV2InstanceFeaturesList &baseFeatures, const LV2Ports &ports, LV2PortStates &portStates, const LV2EffectSettings &settings, float sampleRate, EffectOutputs *pOutputs)
Factory.
Definition: LV2Wrapper.cpp:32

References LV2Wrapper::Create(), GetSettings(), ExtendedLV2FeaturesList::mFeatures, and settings().

Here is the call graph for this function:

The documentation for this class was generated from the following file: