CLAM-Development
1.4.0
|
The PhaseManagement Class takes care about either. More...
#include <PhaseManagement.hxx>
Public Types | |
typedef PhaseManagementConfig | Config |
![]() | |
enum | ExecState { Unconfigured = 0, Ready, Running } |
Processing Object possible execution states. More... |
Public Member Functions | |
PhaseManagement (const PhaseManagementConfig &c=Config()) | |
~PhaseManagement () | |
const char * | GetClassName () const |
Override it in every subclass and retur the name of that class. | |
bool | Do () |
Supervised mode execution method (using ports) | |
bool | Do (Frame ¤tFrame) |
bool | Do (SpectralPeakArray &in) |
Basic non-supervised Do. | |
bool | ConcreteConfigure (const ProcessingConfig &) |
Configuration method. | |
const ProcessingConfig & | GetConfig () const |
Configuration getter. | |
void | Init () |
void | ResetPhaseAlignment () |
void | DoPhaseAlignment (SpectralPeakArray &peakArray) |
void | DoRandomPhases (SpectralPeakArray &peakArray) |
void | DoPhaseContinuation (SpectralPeakArray &p) |
void | SetLastPhasesAndFreqs (SpectralPeakArray &peakArray) |
void | GenerateRandomPhases (DataArray &a) |
![]() | |
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. |
Public Attributes | |
FloatInControl | mCurrentTime |
FloatInControl | mCurrentPitch |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
ProcessingComposite * | mpParent |
Pointer to the parent (composite) processing object, or 0. | |
Network * | _network |
The parent network if any. |
The PhaseManagement Class takes care about either.
Definition at line 45 of file PhaseManagement.hxx.
Reimplemented from CLAM::Processing.
Definition at line 48 of file PhaseManagement.hxx.
CLAM::PhaseManagement::PhaseManagement | ( | const PhaseManagementConfig & | c = Config() | ) |
Definition at line 29 of file PhaseManagement.cxx.
References CLAM::Processing::Configure(), and Init().
CLAM::PhaseManagement::~PhaseManagement | ( | ) |
Definition at line 69 of file PhaseManagement.cxx.
|
virtual |
Configuration method.
Reimplemented from CLAM::Processing.
Definition at line 37 of file PhaseManagement.cxx.
References CLAM::Processing::CopyAsConcreteConfig().
|
inlinevirtual |
Supervised mode execution method (using ports)
Implements CLAM::Processing.
Definition at line 54 of file PhaseManagement.hxx.
Referenced by Do(), CLAM::SinusoidalSynthesis::Do(), and CLAM::SMSSynthesis::Do().
bool CLAM::PhaseManagement::Do | ( | Frame & | currentFrame | ) |
Definition at line 101 of file PhaseManagement.cxx.
References Do(), CLAM::InControl< ControlDataType >::DoControl(), mCurrentPitch, and mCurrentTime.
bool CLAM::PhaseManagement::Do | ( | SpectralPeakArray & | in | ) |
Basic non-supervised Do.
Definition at line 74 of file PhaseManagement.cxx.
References DoPhaseAlignment(), DoPhaseContinuation(), DoRandomPhases(), CLAM::EPhaseGeneration::eAlign, CLAM::EPhaseGeneration::eContinuation, CLAM::EPhaseGeneration::eNone, and CLAM::EPhaseGeneration::eRandom.
void CLAM::PhaseManagement::DoPhaseAlignment | ( | SpectralPeakArray & | peakArray | ) |
Definition at line 121 of file PhaseManagement.cxx.
References CLAM::SpectralPeakArray::GetFreq(), CLAM::InControl< ControlDataType >::GetLastValue(), CLAM::SpectralPeakArray::GetnPeaks(), CLAM::SpectralPeakArray::GetPhase(), mCurrentPitch, mCurrentTime, CLAM::SpectralPeakArray::SetIsIndexUpToDate(), CLAM::SpectralPeakArray::SetPhase(), and TWO_PI.
Referenced by Do().
void CLAM::PhaseManagement::DoPhaseContinuation | ( | SpectralPeakArray & | p | ) |
Definition at line 241 of file PhaseManagement.cxx.
References CLAM::SpectralPeakArray::GetIndex(), CLAM::InControl< ControlDataType >::GetLastValue(), CLAM::SpectralPeakArray::GetnPeaks(), CLAM::SpectralPeakArray::GetPositionFromIndex(), mCurrentTime, CLAM::SpectralPeakArray::SetIsIndexUpToDate(), and TWO_PI.
Referenced by Do().
void CLAM::PhaseManagement::DoRandomPhases | ( | SpectralPeakArray & | peakArray | ) |
Definition at line 184 of file PhaseManagement.cxx.
References CLAM::SpectralPeakArray::GetFreq(), CLAM::SpectralPeakArray::GetIndex(), CLAM::SpectralPeakArray::GetnPeaks(), CLAM::SpectralPeakArray::GetSpectralPeak(), CLAM::Array< T >::Resize(), CLAM::SpectralPeakArray::SetIsIndexUpToDate(), CLAM::SpectralPeakArray::SetPhase(), CLAM::Array< T >::SetSize(), and TWO_PI.
Referenced by Do().
void CLAM::PhaseManagement::GenerateRandomPhases | ( | DataArray & | a | ) |
Definition at line 284 of file PhaseManagement.cxx.
References CLAM::Array< T >::Size(), and TWO_PI.
Referenced by Init().
|
inlinevirtual |
Override it in every subclass and retur the name of that class.
Implements CLAM::Processing.
Definition at line 52 of file PhaseManagement.hxx.
|
inlinevirtual |
Configuration getter.
Gets the configuration parameters used to create the object.
Reimplemented from CLAM::Processing.
Definition at line 64 of file PhaseManagement.hxx.
void CLAM::PhaseManagement::Init | ( | ) |
Definition at line 43 of file PhaseManagement.cxx.
References CLAM::EScale::eLog, GenerateRandomPhases(), CLAM::Array< T >::Resize(), CLAM::SpectralPeakArray::SetIsIndexUpToDate(), CLAM::Array< T >::SetSize(), and CLAM::DynamicType::UpdateData().
Referenced by PhaseManagement().
void CLAM::PhaseManagement::ResetPhaseAlignment | ( | ) |
Definition at line 111 of file PhaseManagement.cxx.
void CLAM::PhaseManagement::SetLastPhasesAndFreqs | ( | SpectralPeakArray & | peakArray | ) |
Definition at line 293 of file PhaseManagement.cxx.
References CLAM::SpectralPeakArray::GetnPeaks(), CLAM::Array< T >::Resize(), CLAM::SpectralPeakArray::SetIsIndexUpToDate(), and CLAM::Array< T >::SetSize().
FloatInControl CLAM::PhaseManagement::mCurrentPitch |
Definition at line 70 of file PhaseManagement.hxx.
Referenced by Do(), CLAM::SinusoidalSynthesis::Do(), CLAM::SMSSynthesis::Do(), and DoPhaseAlignment().
FloatInControl CLAM::PhaseManagement::mCurrentTime |
Definition at line 69 of file PhaseManagement.hxx.
Referenced by Do(), CLAM::SinusoidalSynthesis::Do(), CLAM::SMSSynthesis::Do(), DoPhaseAlignment(), and DoPhaseContinuation().