ofxPDSP
pdsp::Ducker Class Reference

Triggered ducking module. Multichannel. More...

#include <Ducker.h>

Inheritance diagram for pdsp::Ducker:
pdsp::Patchable

Public Member Functions

 Ducker (bool linkChannels)
 
 Ducker (const Ducker &other)
 
Duckeroperator= (const Ducker &other)
 
pdsp::Patchablein_signal ()
 Sets "signal" as selected input and returns this Unit ready to be patched. This is the default input. This input is the first input channel.
 
pdsp::Patchableout_signal ()
 Sets "signal" as selected output and returns this Unit ready to be patched. This is the default output. This is the first output channel.
 
Patchablein_trig ()
 Sets "trig" as selected input and returns this module ready to be patched. This input is the trigger input of the ducker. It is not velocity sensitive.
 
Patchablein_velocity ()
 Sets "velocity" as selected input and returns this module ready to be patched. This input is the sensitivity to trigger inputs. Default value is 0.0f (no sensitivity to difference in trigger inputs).
 
Patchablein_ducking ()
 Sets "ducking" as selected input and returns this module ready to be patched. This is the amount of the gain reduction. Default init value is -20dB. The upper range is limited to 0.0f, the lower to -3000.0f (but usually signal lower than -48.0f are interpreted as ducking up to full silence), see pdsp::DBtoLin .
 
Patchablein_attack ()
 Sets "attack" as selected input and returns this module ready to be patched. This input is the attack time of the ducker in milliseconds, how much time the envelope will take to reach the ducking value. Init default time is 50ms.
 
Patchablein_hold ()
 Sets "hold" as selected input and returns this module ready to be patched. This input is the hold time of the ducker in milliseconds, for how much time the ducking value will be hold. Init default value is 0 ms.
 
Patchablein_release ()
 Sets "release" as selected input and returns this module ready to be patched. This input is the release time of the ducker in milliseconds, how much time after the hold time the ducker will tack to return to the original signal value. Default time is 100ms.
 
void setAttackCurve (float hardness)
 sets the curve of the attack stage the internal envelope, from a smoother linear in dB curve to an harder analog-like curve. By default is 0.0f ( linear in dB attack ). More...
 
void setReleaseCurve (float hardness)
 sets the curve of the release stage of the internal envelope, from a smoother linear in dB curve to an harder analog-like curve. By default is 1.0f ( analog-like releases ). More...
 
float meter_env () const
 returns the envelope signal. This method is thread-safe.
 
void channels (size_t size)
 Allocate a number of channels for processing different inputs. This is automatically called if you query for a channel outside the allocated range. You can access different channels with the ch() method. More...
 
Patchablech (size_t index)
 To use the selected channel as input/output for the operation. More...
 
- Public Member Functions inherited from pdsp::Patchable
void resetInputToDefault ()
 resets the selected input to the default.
 
void resetOutputToDefault ()
 resets the selected output to the default.
 
Patchablein (const char *tag)
 sets the selected input to the one tagged with "tag", if tag is a valid string, and returns this Patchable ready to be patched. More...
 
Patchableout (const char *tag)
 sets the selected output to the one tagged with "tag", if tag is a valid string, and returns this Patchable ready to be patched. More...
 
void disconnectIn ()
 disconnects all the outputs connected to the selected input, then resets the selected input to the default.
 
void disconnectOut ()
 disconnects all the inputs connected to the selected output, then resets the selected output to the default.
 
void disconnectAll ()
 disconnects all the inputs and outputs to their connected outputs and inputs. Also resets the selected input and output to the default.
 
InputNodegetSelectedInput ()
 returns the selected input, you can patch a Patchable or OutputNode to it with the >> operator.
 
OutputNodegetSelectedOutput ()
 returns the selected output, you can patch it to another Patchable or InputNode with the >> operator.
 
std::vector< std::string > getInputsList ()
 returns a vector of the valid input tags
 
std::vector< std::string > getOutputsList ()
 returns a vector of the valid input tags
 

Additional Inherited Members

- Protected Member Functions inherited from pdsp::Patchable
void addOutput (const char *tag, OutputNode &output)
 method to add outputs when constructing a Unit More...
 
void addInput (const char *tag, InputNode &input)
 method to add inputs when constructing a Unit More...
 
void addModuleOutput (const char *tag, Patchable &unit)
 method to add outputs when constructing a module More...
 
void addModuleInput (const char *tag, Patchable &unit)
 method to add outputs when constructing a module More...
 

Detailed Description

Triggered ducking module. Multichannel.

This module has a trigger input that activate an envelope to duck the signal, is something like a sidechain compressor but with more control. Multichannel.

Member Function Documentation

◆ ch()

pdsp::Patchable & pdsp::Ducker::ch ( size_t  index)

To use the selected channel as input/output for the operation.

Parameters
[in]indexchannel index

◆ channels()

void pdsp::Ducker::channels ( size_t  size)

Allocate a number of channels for processing different inputs. This is automatically called if you query for a channel outside the allocated range. You can access different channels with the ch() method.

Parameters
[in]sizenumber of channels

◆ setAttackCurve()

void pdsp::Ducker::setAttackCurve ( float  hardness)

sets the curve of the attack stage the internal envelope, from a smoother linear in dB curve to an harder analog-like curve. By default is 0.0f ( linear in dB attack ).

Parameters
[in]hardnesshow much analog-like the analog curve is, value is clampet to the 0.0<–>1.0f range,

◆ setReleaseCurve()

void pdsp::Ducker::setReleaseCurve ( float  hardness)

sets the curve of the release stage of the internal envelope, from a smoother linear in dB curve to an harder analog-like curve. By default is 1.0f ( analog-like releases ).

Parameters
[in]hardnesshow much analog-like the analog curve is, value is clampet to the 0.0<–>1.0f range,

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