CLAM-Development
1.4.0
|
Configuration class for Overlapp Add Processing. More...
#include <OverlapAdd.hxx>
Public Member Functions | |
OverlapAdd (const OverlapAddConfig &c=OverlapAddConfig()) | |
~OverlapAdd () | |
const ProcessingConfig & | GetConfig () const |
Configuration getter. | |
bool | Do (void) |
Unsupervised Do method, not implemented. | |
bool | Do (const Audio &in, Audio &out) |
Do method. | |
![]() | |
bool | Configure (const ProcessingConfig &config) |
Configuration change method. | |
void | Start (void) |
Method to turn the object into running state. | |
void | Stop (void) |
Method to put the object out of running state When in execution mode, this method must be called before any further call to Configure() methods. | |
Processing () | |
virtual | ~Processing () |
virtual bool | CanProcessInplace () |
Override this method if your processing cannot process inplace. | |
bool | CanConsumeAndProduce () |
Check that Supervised Do() can be safely called. | |
void | ConsumeAndProduce () |
Acknoledges data tokens in published ports as read/writen by calling Produce() for all registered OutPorts and Consume() to all registered InPorts. | |
std::string | GetExecStateString () const |
bool | IsConfigured () const |
bool | IsRunning () const |
void | RegisterOutPort (OutPortBase *out) |
void | RegisterInPort (InPortBase *in) |
void | RegisterOutControl (OutControlBase *out) |
void | RegisterInControl (InControlBase *in) |
void | SetParent (Processing *p) |
void | SetNetworkBackLink (Network *network) |
virtual bool | ModifiesPortsAndControlsAtConfiguration () |
This method is used to determine if a given processing can change its interface of ports/controls after its construction (i.e. | |
bool | HasInPort (const std::string &name) |
bool | HasOutPort (const std::string &name) |
bool | HasInControl (const std::string &name) |
bool | HasOutControl (const std::string &name) |
InPortBase & | GetInPort (const std::string &name) |
OutPortBase & | GetOutPort (const std::string &name) |
InControlBase & | GetInControl (const std::string &name) |
OutControlBase & | GetOutControl (const std::string &name) |
InPortBase & | GetInPort (unsigned index) |
OutPortBase & | GetOutPort (unsigned index) |
InControlBase & | GetInControl (unsigned index) |
OutControlBase & | GetOutControl (unsigned index) |
unsigned | GetNInPorts () const |
unsigned | GetNOutPorts () const |
unsigned | GetNInControls () const |
unsigned | GetNOutControls () const |
const std::string & | GetConfigErrorMessage () const |
Returns a string describing configuration errors if any. | |
virtual bool | IsSyncSource () const |
Wether the processing is a sync source such as audio i/o device, or an audio callback hook (i.e. | |
virtual bool | SupportsVariableAudioSize () const |
This method reports whether the processing supports dynamic buffer-size host. |
Protected Attributes | |
OverlapAddConfig | mConfig |
AudioInPort | mInput |
AudioOutPort | mOutput |
Audio | mTmp |
![]() | |
ProcessingComposite * | mpParent |
Pointer to the parent (composite) processing object, or 0. | |
Network * | _network |
The parent network if any. |
Additional Inherited Members | |
![]() | |
enum | ExecState { Unconfigured = 0, Ready, Running } |
Processing Object possible execution states. More... | |
typedef NullProcessingConfig | Config |
![]() | |
virtual bool | ConcreteStart () |
Processing objects have to redefine this method when starting them implies some internal changes. | |
virtual bool | ConcreteStop () |
Processing objects have to redefine this method when stoping them implies some internal changes. | |
unsigned | BackendBufferSize () |
Given by the NetworkPlayer (backend) if exists. | |
unsigned | BackendSampleRate () |
Given by the NetworkPlayer (backend) if exists. | |
InControlRegistry & | GetInControls () |
Accessor to published Controls manager. | |
OutControlRegistry & | GetOutControls () |
Accessor to published Controls manager. | |
InPortRegistry & | GetInPorts () |
Accessor to published Ports manager. | |
OutPortRegistry & | GetOutPorts () |
Accessor to published Portss manager. | |
bool | AddConfigErrorMessage (const std::string &msg) |
Use this method to append a configuration errors to the processing when implementing ConcreteConfigure. | |
bool | AbleToExecute (void) const |
In debug-mode checks that the processing is configured and started. | |
template<typename ConcreteConfig > | |
void | CopyAsConcreteConfig (ConcreteConfig &concrete, const ProcessingConfig &abstract) const |
Helper template to convert a reference to a ProcessingConfig to the concrete ProcessingConfig specified on the first parameter. | |
void | SetExecState (ExecState state) |
Configuration class for Overlapp Add Processing.
HopSize configures the write size of the circular buffer (note that the write size is here understood as the portion of the frame that is overwritten, not added). FrameSize configures the read size of the circular buffer. BufferSize configures the overall physical size of the circular buffer. Currently, HopSize must be hop size, FrameSize must be hop size and BufferSize must be twice hop size (as it will do 50% overlap). OverlapAdd Processing class. First half of the input buffer or audio (which is of buffer size) is added to existing data in the circular buffer (ie. 'mixed in'), second half overwrites existing data. When reading, only already overlapped regions should be given as output (this overlapped region and thus the output will be of frame size).
Definition at line 63 of file OverlapAdd.hxx.
CLAM::OverlapAdd::OverlapAdd | ( | const OverlapAddConfig & | c = OverlapAddConfig() | ) |
Definition at line 41 of file OverlapAdd.cxx.
References CLAM::Processing::Configure().
CLAM::OverlapAdd::~OverlapAdd | ( | ) |
Definition at line 48 of file OverlapAdd.cxx.
|
virtual |
Unsupervised Do method, not implemented.
Implements CLAM::Processing.
Definition at line 78 of file OverlapAdd.cxx.
References CLAM::InPort< Token >::Consume(), CLAM::AudioInPort::GetAudio(), CLAM::AudioOutPort::GetAudio(), mInput, mOutput, and CLAM::OutPort< Token >::Produce().
Referenced by CLAM::SinusoidalSynthesis::Do(), CLAM::SMSSynthesis::Do(), and CLAM::SMSSynthesis::SinusoidalSynthesis().
Do method.
in,: | input Audio (size must be buffer size). |
out,: | output Audio (size must be frame size). |
Definition at line 86 of file OverlapAdd.cxx.
References CLAM_DEBUG_ASSERT, CLAM::Audio::GetSize(), mConfig, and mTmp.
|
inlinevirtual |
Configuration getter.
Gets the configuration parameters used to create the object.
Reimplemented from CLAM::Processing.
Definition at line 69 of file OverlapAdd.hxx.
References mConfig.
|
protected |
Definition at line 93 of file OverlapAdd.hxx.
Referenced by Do(), and GetConfig().
|
protected |
Definition at line 95 of file OverlapAdd.hxx.
Referenced by Do().
|
protected |
Definition at line 96 of file OverlapAdd.hxx.
Referenced by Do().
|
protected |
Definition at line 98 of file OverlapAdd.hxx.
Referenced by Do().