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

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

#include <LadspaInstance.h>

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

Public Member Functions

 ~LadspaEffectOutputs () 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 > controls
 

Detailed Description

Carry output control port information back to main thread.

Definition at line 28 of file LadspaInstance.h.

Constructor & Destructor Documentation

◆ ~LadspaEffectOutputs()

LadspaEffectOutputs::~LadspaEffectOutputs ( )
overridedefault

Member Function Documentation

◆ Assign()

void LadspaEffectOutputs::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 43 of file LadspaInstance.cpp.

44{
45 // Don't really need to modify src
46 const auto &srcValues = static_cast<LadspaEffectOutputs&>(src).controls;
47 auto &dstValues = controls;
48 assert(srcValues.size() == dstValues.size());
49 copy(srcValues.begin(), srcValues.end(), dstValues.data());
50}
void copy(const T *src, T *dst, int32_t n)
Definition: VectorOps.h:40
Carry output control port information back to main thread.
std::vector< float > controls

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

Here is the call graph for this function:

◆ Clone()

auto LadspaEffectOutputs::Clone ( ) const
overridevirtual

Implements EffectOutputs.

Definition at line 38 of file LadspaInstance.cpp.

39{
40 return std::make_unique<LadspaEffectOutputs>(*this);
41}

Member Data Documentation

◆ controls

std::vector<float> LadspaEffectOutputs::controls

Definition at line 36 of file LadspaInstance.h.

Referenced by Assign(), LadspaInstance::InitInstance(), and LadspaEditor::PopulateUI().


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