StoneyVCV v2
StoneyDSP Modules for VCV Rack 2.
Loading...
Searching...
No Matches
StoneyDSP::StoneyVCV::VCA::VCAModule Struct Referencefinal

The VCAModule struct. More...

#include <VCA.hpp>

Inheritance diagram for StoneyDSP::StoneyVCV::VCA::VCAModule:
[legend]
Collaboration diagram for StoneyDSP::StoneyVCV::VCA::VCAModule:
[legend]

Classes

struct  GainParamChangedEvent
 
struct  NumChannelsChangedEvent
 

Public Types

enum  IdxParams { GAIN_PARAM , NUM_PARAMS }
 
enum  IdxInputs { VCA_INPUT , CV_INPUT , NUM_INPUTS }
 
enum  IdxOutputs { VCA_OUTPUT , NUM_OUTPUTS }
 
enum  IdxLights { ENUMS =(BLINK_LIGHT, 2) , NUM_LIGHTS }
 

Public Member Functions

 VCAModule ()
 Construct a new VCAModule object.
 
virtual ~VCAModule () noexcept
 Destroy the VCAModule object.
 
virtual void process (const ::StoneyDSP::StoneyVCV::VCA::VCAModule::ProcessArgs &args) override
 Advances the module by one audio sample.
 
virtual void onNumChannelsChanged (const NumChannelsChangedEvent &e)
 Called after enabling the module.
 
virtual void onGainParamChanged (const GainParamChangedEvent &e)
 Called after changing the Gain parameter (knob) on the panel.
 
::std::size_t getVcaInputNumChannels () noexcept
 
::std::size_t getCvInputNumChannels () noexcept
 
::std::size_t getMinNumChannels () noexcept
 Get desired number of channels from vcaInput and cvInput.
 
::rack::engine::Input & getVcaInput () noexcept
 
::rack::engine::Input & getCvInput () noexcept
 
::rack::engine::Param & getGainParam () noexcept
 
::rack::engine::Output & getVcaOutput () noexcept
 
::rack::engine::Light & getBlinkLight () noexcept
 

Private Types

using ProcessArgs = ::rack::engine::Module::ProcessArgs
 

Private Member Functions

 VCAModule (const VCAModule &)=delete
 
VCAModuleoperator= (const VCAModule &)=delete
 
 VCAModule (VCAModule &&)=delete
 
VCAModuleoperator= (VCAModule &&)=delete
 

Private Attributes

::rack::dsp::ClockDivider lightDivider
 
::std::array<::StoneyDSP::StoneyVCV::VCA::VCAEngine< float >, 16 > engine
 
::std::array< float, 16 > lightGains
 
const ::StoneyDSP::float_t & vNominal = ::StoneyDSP::StoneyVCV::Tools::vNominal
 
const ::StoneyDSP::float_t & vFloor = ::StoneyDSP::StoneyVCV::Tools::vFloor
 
::rack::engine::Input * vcaInputPtr = NULL
 
::rack::engine::Input * cvInputPtr = NULL
 
::rack::engine::Param * gainParamPtr = NULL
 
::rack::engine::Output * vcaOutputPtr = NULL
 
::rack::engine::Light * blinkLightPtr = NULL
 

Detailed Description

The VCAModule struct.

Member Typedef Documentation

◆ ProcessArgs

using StoneyDSP::StoneyVCV::VCA::VCAModule::ProcessArgs = ::rack::engine::Module::ProcessArgs
private

Member Enumeration Documentation

◆ IdxParams

Enumerator
GAIN_PARAM 
NUM_PARAMS 

◆ IdxInputs

Enumerator
VCA_INPUT 
CV_INPUT 
NUM_INPUTS 

◆ IdxOutputs

Enumerator
VCA_OUTPUT 
NUM_OUTPUTS 

◆ IdxLights

Enumerator
ENUMS 
NUM_LIGHTS 

Constructor & Destructor Documentation

◆ VCAModule() [1/3]

StoneyDSP::StoneyVCV::VCA::VCAModule::VCAModule ( )

Construct a new VCAModule object.

◆ ~VCAModule()

virtual StoneyDSP::StoneyVCV::VCA::VCAModule::~VCAModule ( )
virtualnoexcept

Destroy the VCAModule object.

◆ VCAModule() [2/3]

StoneyDSP::StoneyVCV::VCA::VCAModule::VCAModule ( const VCAModule )
privatedelete

◆ VCAModule() [3/3]

StoneyDSP::StoneyVCV::VCA::VCAModule::VCAModule ( VCAModule &&  )
privatedelete

Member Function Documentation

◆ process()

virtual void StoneyDSP::StoneyVCV::VCA::VCAModule::process ( const ::StoneyDSP::StoneyVCV::VCA::VCAModule::ProcessArgs args)
overridevirtual

Advances the module by one audio sample.

Parameters
args

◆ onNumChannelsChanged()

virtual void StoneyDSP::StoneyVCV::VCA::VCAModule::onNumChannelsChanged ( const NumChannelsChangedEvent e)
inlinevirtual

Called after enabling the module.

◆ onGainParamChanged()

virtual void StoneyDSP::StoneyVCV::VCA::VCAModule::onGainParamChanged ( const GainParamChangedEvent e)
inlinevirtual

Called after changing the Gain parameter (knob) on the panel.

◆ getVcaInputNumChannels()

::std::size_t StoneyDSP::StoneyVCV::VCA::VCAModule::getVcaInputNumChannels ( )
noexcept

◆ getCvInputNumChannels()

::std::size_t StoneyDSP::StoneyVCV::VCA::VCAModule::getCvInputNumChannels ( )
noexcept

◆ getMinNumChannels()

::std::size_t StoneyDSP::StoneyVCV::VCA::VCAModule::getMinNumChannels ( )
noexcept

Get desired number of channels from vcaInput and cvInput.

If these input are unpatched, getChannels() returns 0, but we should still generate 1 channel of output.

◆ getVcaInput()

::rack::engine::Input & StoneyDSP::StoneyVCV::VCA::VCAModule::getVcaInput ( )
noexcept

◆ getCvInput()

::rack::engine::Input & StoneyDSP::StoneyVCV::VCA::VCAModule::getCvInput ( )
noexcept

◆ getGainParam()

::rack::engine::Param & StoneyDSP::StoneyVCV::VCA::VCAModule::getGainParam ( )
noexcept

◆ getVcaOutput()

::rack::engine::Output & StoneyDSP::StoneyVCV::VCA::VCAModule::getVcaOutput ( )
noexcept

◆ getBlinkLight()

::rack::engine::Light & StoneyDSP::StoneyVCV::VCA::VCAModule::getBlinkLight ( )
noexcept

◆ operator=() [1/2]

VCAModule & StoneyDSP::StoneyVCV::VCA::VCAModule::operator= ( const VCAModule )
privatedelete

◆ operator=() [2/2]

VCAModule & StoneyDSP::StoneyVCV::VCA::VCAModule::operator= ( VCAModule &&  )
privatedelete

Member Data Documentation

◆ lightDivider

::rack::dsp::ClockDivider StoneyDSP::StoneyVCV::VCA::VCAModule::lightDivider
private

◆ engine

::std::array<::StoneyDSP::StoneyVCV::VCA::VCAEngine<float>, 16> StoneyDSP::StoneyVCV::VCA::VCAModule::engine
private

◆ lightGains

::std::array<float, 16> StoneyDSP::StoneyVCV::VCA::VCAModule::lightGains
private

◆ vNominal

const ::StoneyDSP::float_t& StoneyDSP::StoneyVCV::VCA::VCAModule::vNominal = ::StoneyDSP::StoneyVCV::Tools::vNominal
private

◆ vFloor

const ::StoneyDSP::float_t& StoneyDSP::StoneyVCV::VCA::VCAModule::vFloor = ::StoneyDSP::StoneyVCV::Tools::vFloor
private

◆ vcaInputPtr

::rack::engine::Input* StoneyDSP::StoneyVCV::VCA::VCAModule::vcaInputPtr = NULL
private

◆ cvInputPtr

::rack::engine::Input* StoneyDSP::StoneyVCV::VCA::VCAModule::cvInputPtr = NULL
private

◆ gainParamPtr

::rack::engine::Param* StoneyDSP::StoneyVCV::VCA::VCAModule::gainParamPtr = NULL
private

◆ vcaOutputPtr

::rack::engine::Output* StoneyDSP::StoneyVCV::VCA::VCAModule::vcaOutputPtr = NULL
private

◆ blinkLightPtr

::rack::engine::Light* StoneyDSP::StoneyVCV::VCA::VCAModule::blinkLightPtr = NULL
private

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