Audacity 3.2.0
Classes | Typedefs | Functions
LV2Ports.h File Reference
#include <functional>
#include <optional>
#include <unordered_map>
#include "LV2Utils.h"
#include "EffectInterface.h"
#include "MemoryX.h"
#include "TranslatableString.h"
#include <wx/arrstr.h>
#include "lv2/atom/forge.h"
#include "zix/ring.h"
Include dependency graph for LV2Ports.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  LV2Port
 Immutable description of an LV2 port. More...
 
class  LV2AudioPort
 Immutable description of an LV2 Audio port. More...
 
class  LV2AtomPort
 Immutable description of an LV2 Atom port. More...
 
struct  LV2AtomPortState
 State of an instance of an LV2 Atom port. More...
 
class  LV2CVPort
 Immutable description of an LV2 CV port (control data signal at sample rate) More...
 
struct  LV2CVPortState
 State of an instance of an LV2 CV port. More...
 
class  LV2ControlPort
 Immutable description of an LV2 control port. More...
 
struct  LV2EffectSettings
 Storage locations to be connected to LV2 control ports. More...
 
struct  LV2EffectOutputs
 Carry output control port information back to main thread. More...
 
struct  LV2ControlPortState
 Other UI related state of an instance of an LV2 Control port. More...
 
class  LV2Ports
 
class  LV2PortStates
 
class  LV2PortUIStates
 

Typedefs

using Floats = ArrayOf< float >
 
using LV2AudioPortPtr = std::shared_ptr< LV2AudioPort >
 
using LV2AudioPortArray = std::vector< LV2AudioPortPtr >
 
using LV2AtomPortPtr = std::shared_ptr< LV2AtomPort >
 
using LV2AtomPortArray = std::vector< LV2AtomPortPtr >
 
using LV2AtomPortStatePtr = std::shared_ptr< LV2AtomPortState >
 
using LV2AtomPortStateArray = std::vector< LV2AtomPortStatePtr >
 
using LV2CVPortPtr = std::shared_ptr< LV2CVPort >
 
using LV2CVPortArray = std::vector< LV2CVPortPtr >
 
using LV2CVPortStateArray = std::vector< LV2CVPortState >
 No need yet for extra indirection. More...
 
using LV2ControlPortPtr = std::shared_ptr< LV2ControlPort >
 
using LV2ControlPortArray = std::vector< LV2ControlPortPtr >
 
using LV2ControlPortStateArray = std::vector< LV2ControlPortState >
 No need yet for extra indirection. More...
 

Functions

LV2EffectSettingsGetSettings (EffectSettings &settings)
 
const LV2EffectSettingsGetSettings (const EffectSettings &settings)
 

Typedef Documentation

◆ Floats

using Floats = ArrayOf<float>

Definition at line 32 of file LV2Ports.h.

◆ LV2AtomPortArray

using LV2AtomPortArray = std::vector<LV2AtomPortPtr>

Definition at line 76 of file LV2Ports.h.

◆ LV2AtomPortPtr

using LV2AtomPortPtr = std::shared_ptr<LV2AtomPort>

Definition at line 75 of file LV2Ports.h.

◆ LV2AtomPortStateArray

Definition at line 126 of file LV2Ports.h.

◆ LV2AtomPortStatePtr

using LV2AtomPortStatePtr = std::shared_ptr<LV2AtomPortState>

Definition at line 125 of file LV2Ports.h.

◆ LV2AudioPortArray

using LV2AudioPortArray = std::vector<LV2AudioPortPtr>

Definition at line 57 of file LV2Ports.h.

◆ LV2AudioPortPtr

using LV2AudioPortPtr = std::shared_ptr<LV2AudioPort>

Definition at line 56 of file LV2Ports.h.

◆ LV2ControlPortArray

using LV2ControlPortArray = std::vector<LV2ControlPortPtr>

Definition at line 203 of file LV2Ports.h.

◆ LV2ControlPortPtr

using LV2ControlPortPtr = std::shared_ptr<LV2ControlPort>

Definition at line 202 of file LV2Ports.h.

◆ LV2ControlPortStateArray

No need yet for extra indirection.

Definition at line 255 of file LV2Ports.h.

◆ LV2CVPortArray

using LV2CVPortArray = std::vector<LV2CVPortPtr>

Definition at line 145 of file LV2Ports.h.

◆ LV2CVPortPtr

using LV2CVPortPtr = std::shared_ptr<LV2CVPort>

Definition at line 144 of file LV2Ports.h.

◆ LV2CVPortStateArray

using LV2CVPortStateArray = std::vector<LV2CVPortState>

No need yet for extra indirection.

Definition at line 157 of file LV2Ports.h.

Function Documentation

◆ GetSettings() [1/2]

const LV2EffectSettings & GetSettings ( const EffectSettings settings)
inline

Definition at line 222 of file LV2Ports.h.

223{
224 return GetSettings(const_cast<EffectSettings &>(settings));
225}
LV2EffectSettings & GetSettings(EffectSettings &settings)
Definition: LV2Ports.h:215
static Settings & settings()
Definition: TrackInfo.cpp:87
Externalized state of a plug-in.

References GetSettings(), and settings().

Here is the call graph for this function:

◆ GetSettings() [2/2]

LV2EffectSettings & GetSettings ( EffectSettings settings)
inline

Assume settings originated from LV2Effecct::MakeSettings() and copies thereof

Definition at line 215 of file LV2Ports.h.

216{
217 auto pSettings = settings.cast<LV2EffectSettings>();
218 assert(pSettings);
219 return *pSettings;
220}
Storage locations to be connected to LV2 control ports.
Definition: LV2Ports.h:206

References settings().

Referenced by LV2Validator::BuildPlain(), LV2Effect::CopySettingsContents(), VSTEffectValidator::FetchSettingsFromInstance(), LadspaEffect::Instance::GetLatency(), GetSettings(), LV2Effect::LoadFactoryPreset(), LV2Effect::LoadSettings(), LV2Instance::MakeMaster(), LV2Effect::MakeSettings(), LV2Instance::MakeWrapper(), LV2Validator::OnChoice(), LV2Validator::OnIdle(), LV2Validator::OnSlider(), LV2Validator::OnText(), LV2Validator::OnToggle(), LV2Validator::OnTrigger(), LV2Instance::RealtimeAddProcessor(), LV2Effect::SaveSettings(), VSTEffectValidator::StoreSettingsToInstance(), LV2Validator::suil_port_write(), LV2Validator::UpdateUI(), and LV2PluginValidator::Validate().

Here is the call graph for this function:
Here is the caller graph for this function: