Audacity 3.2.0
Public Member Functions | List of all members
LV2PluginValidator Class Reference
Inheritance diagram for LV2PluginValidator:
[legend]
Collaboration diagram for LV2PluginValidator:
[legend]

Public Member Functions

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

Detailed Description

Definition at line 278 of file LoadLV2.cpp.

Member Function Documentation

◆ Validate()

void LV2PluginValidator::Validate ( ComponentInterface pluginInterface)
inlineoverridevirtual
Parameters
pluginInterfaceloaded plugin

Implements PluginProvider::Validator.

Definition at line 281 of file LoadLV2.cpp.

282 {
283 if(auto lv2effect = dynamic_cast<LV2Effect*>(&pluginInterface))
284 {
285 LV2_Atom_Forge forge;
286 lv2_atom_forge_init(&forge, lv2effect->mFeatures.URIDMapFeature());
287
288 LV2PortStates portStates { lv2effect->mPorts };
289 LV2InstanceFeaturesList instanceFeatures { lv2effect->mFeatures };
290
291 auto settings = lv2effect->MakeSettings();
292 auto wrapper = LV2Wrapper::Create(
293 instanceFeatures,
294 lv2effect->mPorts,
295 portStates,
297 44100.0,
298 nullptr);
299
300 if(!wrapper)
301 throw std::runtime_error("Cannot create LV2 instance");
302
303 }
304 else
305 throw std::runtime_error("Not a LV2Effect");
306 }
LV2EffectSettings & GetSettings(EffectSettings &settings)
Definition: LV2Ports.h:215
static Settings & settings()
Definition: TrackInfo.cpp:87
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: