Audacity 3.2.0
Public Member Functions | Public Attributes | List of all members
LV2EffectOutputs Struct Reference

Carry output control port information back to main thread. More...

#include <LV2Ports.h>

Inheritance diagram for LV2EffectOutputs:
[legend]
Collaboration diagram for LV2EffectOutputs:
[legend]

Public Member Functions

 ~LV2EffectOutputs () override
 
std::unique_ptr< EffectOutputsClone () const override
 
void Assign (EffectOutputs &&src) override
 Update one Outputs object from another. More...
 
- Public Member Functions inherited from EffectOutputs
virtual ~EffectOutputs ()
 
virtual std::unique_ptr< EffectOutputsClone () const =0
 
virtual void Assign (EffectOutputs &&src)=0
 Update one Outputs object from another. More...
 

Public Attributes

std::vector< float > values
 vector of values in correspondence with the control ports More...
 

Detailed Description

Carry output control port information back to main thread.

Definition at line 228 of file LV2Ports.h.

Constructor & Destructor Documentation

◆ ~LV2EffectOutputs()

LV2EffectOutputs::~LV2EffectOutputs ( )
overridedefault

Member Function Documentation

◆ Assign()

void LV2EffectOutputs::Assign ( EffectOutputs &&  src)
overridevirtual

Update one Outputs object from another.

This may run in a worker thread, and should avoid allocating and freeing. Even on the main thread, it must avoid relocation of members of containers. Therefore do not grow or clear any containers, but assign the preallocated contents of one container from another.

Parameters
srcsettings to copy from; assume it comes from the same EffectSettingsManager as *this

Implements EffectOutputs.

Definition at line 144 of file LV2Ports.cpp.

145{
146 // Don't really need to modify src
147 const auto &srcValues = static_cast<LV2EffectOutputs&>(src).values;
148 auto &dstValues = values;
149 assert(srcValues.size() == dstValues.size());
150 copy(srcValues.begin(), srcValues.end(), dstValues.data());
151}
void copy(const T *src, T *dst, int32_t n)
Definition: VectorOps.h:40
Carry output control port information back to main thread.
Definition: LV2Ports.h:228
std::vector< float > values
vector of values in correspondence with the control ports
Definition: LV2Ports.h:233

References staffpad::vo::copy(), and values.

Here is the call graph for this function:

◆ Clone()

auto LV2EffectOutputs::Clone ( ) const
overridevirtual

Implements EffectOutputs.

Definition at line 139 of file LV2Ports.cpp.

140{
141 return std::make_unique<LV2EffectOutputs>(*this);
142}

Member Data Documentation

◆ values

std::vector<float> LV2EffectOutputs::values

vector of values in correspondence with the control ports

Definition at line 233 of file LV2Ports.h.

Referenced by Assign(), and LV2Editor::BuildPlain().


The documentation for this struct was generated from the following files: