|
CLAM-Development
1.4.0
|
#include <SegmentSMSTimeStretch.hxx>
Public Member Functions | |
| SegmentSMSTimeStretch () | |
| Base constructor of class. | |
| SegmentSMSTimeStretch (const SegmentTransformationConfig &c) | |
| Constructor with an object of SegmentTransformationConfig class by parameter. | |
| const char * | GetClassName () const |
| This method returns the name of the object. | |
| bool | ConcreteConfigure (const ProcessingConfig &c) |
| Configuration change method. | |
| bool | ConcreteStart () |
| Overriding default method to initialize input frame counter. | |
| bool | ConcreteStop () |
| Processing objects have to redefine this method when stoping them implies some internal changes. | |
| ~SegmentSMSTimeStretch () | |
| Destructor of the class. | |
| bool | Do () |
| Supervised mode execution method (using ports) | |
| bool | Do (const Frame &in, Frame &out) |
| TODO: This method does not work if called directly! it must be called from the Segment overload. | |
| bool | Do (const Segment &in, Segment &out) |
| Unsupervised Do function, receives a Segment as input and output. | |
| bool | CanProcessInplace () |
| Override this method if your processing cannot process inplace. | |
| bool | IsLastFrame () |
| Returns true if there are no more frames to read from input. | |
| Frame & | GetCurrentFrame (Segment &out) |
| formerly corresponded to UnwrappedProcessingData | |
| const Frame & | GetCurrentFrame (const Segment &in) |
| formerly corresponded to UnwrappedProcessingData | |
Public Member Functions inherited from CLAM::SegmentTransformation | |
| void | AttachIn (Segment &data) |
| void | AttachOut (Segment &data) |
| void | WrapFrameTransformation (FrameTransformation *) |
| const ProcessingConfig & | GetConfig () const |
| Configuration getter. | |
| SegmentTransformation () | |
| Base constructor of class. | |
| SegmentTransformation (const SegmentTransformationConfig &c) | |
| Constructor with an object of SegmentTransformationConfig class by parameter. | |
| virtual | ~SegmentTransformation () |
| virtual bool | DoWithSegments (void) |
| Supervised Do() function. | |
| virtual bool | UpdateControlValueFromBPF (TData pos) |
| Method to update the Amount control from an existing BPF configured in the configuration phase. | |
Public Member Functions inherited from CLAM::Processing | |
| 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 () |
| 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 | mAmount |
Public Attributes inherited from CLAM::SegmentTransformation | |
| InControlPublisher | mAmountCtrl |
| Control for the amount of the concrete transformation that will be applied. | |
Protected Member Functions | |
| bool | HaveFinished () |
| void | UpdateTimeAndIndex (const Segment &in) |
Protected Member Functions inherited from CLAM::SegmentTransformation | |
| void | AddFramesToOutputIfInputIsLonger (int frameindex, const Segment &in, Segment &out) |
Protected Member Functions inherited from CLAM::Processing | |
| 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) |
Protected Attributes | |
| TTime | mSynthesisTime |
| TTime | mAnalysisTime |
| TIndex | mnSynthesisFrames |
| Frame | mLeftFrame |
| SegmentSMSTimeStretchConfig | mConcreteConfig |
| FrameInterpolator | mPO_FrameInterpolator |
| Child processings. | |
Protected Attributes inherited from CLAM::SegmentTransformation | |
| SegmentTransformationConfig | mConfig |
| Internally stored configuration. | |
| bool | mUseTemporalBPF |
| Boolean member that indicates whether BPF or single value is to be used. | |
| FloatInControl | mOnCtrl |
| Control to state whether a particular transformation is on or off. | |
| Segment * | mInput |
| Segment * | mOutput |
| int | mCurrentInputFrame |
Protected Attributes inherited from CLAM::Processing | |
| ProcessingComposite * | mpParent |
| Pointer to the parent (composite) processing object, or 0. | |
| Network * | _network |
| The parent network if any. | |
Definition at line 36 of file SegmentSMSTimeStretch.hxx.
| CLAM::SegmentSMSTimeStretch::SegmentSMSTimeStretch | ( | ) |
Base constructor of class.
Calls Configure method with a SegmentTransformationConfig initialised by default
Definition at line 41 of file SegmentSMSTimeStretch.cxx.
References CLAM::Processing::Configure(), mAnalysisTime, CLAM::SegmentTransformation::mCurrentInputFrame, and mSynthesisTime.
| CLAM::SegmentSMSTimeStretch::SegmentSMSTimeStretch | ( | const SegmentTransformationConfig & | c | ) |
Constructor with an object of SegmentTransformationConfig class by parameter.
| c | SegmentTransformationConfig object created by the user |
Definition at line 49 of file SegmentSMSTimeStretch.cxx.
References CLAM::Processing::Configure(), mAnalysisTime, CLAM::SegmentTransformation::mCurrentInputFrame, and mSynthesisTime.
|
inline |
Destructor of the class.
Definition at line 57 of file SegmentSMSTimeStretch.hxx.
|
inlinevirtual |
Override this method if your processing cannot process inplace.
Reimplemented from CLAM::Processing.
Definition at line 67 of file SegmentSMSTimeStretch.hxx.
|
virtual |
Configuration change method.
Note that the Amount Control is initialized from the the values in the configuration. Appart from that the member boolean variable that indicates whether a BPF is used is also initialized and the On/Off control also.
| The | ProcessingConfig object |
Reimplemented from CLAM::SegmentTransformation.
Definition at line 57 of file SegmentSMSTimeStretch.cxx.
References CLAM::Processing::Configure(), CLAM::Processing::CopyAsConcreteConfig(), CLAM::InControl< ControlDataType >::DoControl(), mAmount, mConcreteConfig, mPO_FrameInterpolator, and CLAM::SegmentTransformation::mUseTemporalBPF.
|
virtual |
Overriding default method to initialize input frame counter.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 84 of file SegmentSMSTimeStretch.cxx.
References mAnalysisTime, CLAM::SegmentTransformation::mCurrentInputFrame, mLeftFrame, mnSynthesisFrames, mPO_FrameInterpolator, mSynthesisTime, and CLAM::Processing::Start().
|
virtual |
Processing objects have to redefine this method when stoping them implies some internal changes.
ie: releasing resources.
Reimplemented from CLAM::Processing.
Definition at line 78 of file SegmentSMSTimeStretch.cxx.
References mPO_FrameInterpolator, and CLAM::Processing::Stop().
|
inlinevirtual |
Supervised mode execution method (using ports)
Reimplemented from CLAM::SegmentTransformation.
Definition at line 59 of file SegmentSMSTimeStretch.hxx.
References CLAM_ASSERT.
Referenced by Do().
TODO: This method does not work if called directly! it must be called from the Segment overload.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 96 of file SegmentSMSTimeStretch.cxx.
References CLAM::FrameInterpolator::Do(), CLAM::InControl< ControlDataType >::DoControl(), mAnalysisTime, mConcreteConfig, CLAM::FrameInterpolator::mFrameInterpolationFactorCtl, mLeftFrame, mnSynthesisFrames, mPO_FrameInterpolator, and mSynthesisTime.
Unsupervised Do function, receives a Segment as input and output.
This overload is the one called from the supervised Do(). Note that if BPF parameter is used, the Amount control is also updated.
| input | the Segment that is input to the transformation |
| out | the Segment that is output from the transformation. |
Reimplemented from CLAM::SegmentTransformation.
Definition at line 125 of file SegmentSMSTimeStretch.cxx.
References CLAM_DEBUG_ASSERT, Do(), GetCurrentFrame(), CLAM::Segment::GetFrame(), CLAM::Segment::GetnFrames(), HaveFinished(), mAnalysisTime, mConcreteConfig, CLAM::Segment::mCurrentFrameIndex, CLAM::SegmentTransformation::mCurrentInputFrame, mLeftFrame, CLAM::SegmentTransformation::UpdateControlValueFromBPF(), and UpdateTimeAndIndex().
|
inlinevirtual |
This method returns the name of the object.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 50 of file SegmentSMSTimeStretch.hxx.
formerly corresponded to UnwrappedProcessingData
Reimplemented from CLAM::SegmentTransformation.
Definition at line 172 of file SegmentSMSTimeStretch.cxx.
References CLAM::Segment::AddFrame(), CLAM::Segment::GetFrame(), CLAM::Segment::GetnFrames(), and mnSynthesisFrames.
Referenced by Do().
formerly corresponded to UnwrappedProcessingData
Reimplemented from CLAM::SegmentTransformation.
Definition at line 166 of file SegmentSMSTimeStretch.cxx.
References CLAM::Segment::GetFrame(), and CLAM::SegmentTransformation::mCurrentInputFrame.
|
protected |
Definition at line 180 of file SegmentSMSTimeStretch.cxx.
References CLAM::Segment::GetnFrames(), CLAM::SegmentTransformation::mCurrentInputFrame, and CLAM::SegmentTransformation::mInput.
Referenced by Do(), and IsLastFrame().
|
virtual |
Returns true if there are no more frames to read from input.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 185 of file SegmentSMSTimeStretch.cxx.
References CLAM::Segment::DeleteFrame(), CLAM::Segment::GetnFrames(), HaveFinished(), mnSynthesisFrames, and CLAM::SegmentTransformation::mOutput.
|
protected |
Definition at line 156 of file SegmentSMSTimeStretch.cxx.
References CLAM::Segment::GetFrame(), CLAM::InControl< ControlDataType >::GetLastValue(), CLAM::Segment::GetnFrames(), mAmount, mAnalysisTime, mConcreteConfig, CLAM::SegmentTransformation::mCurrentInputFrame, and mLeftFrame.
Referenced by Do().
| FloatInControl CLAM::SegmentSMSTimeStretch::mAmount |
Definition at line 73 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteConfigure(), and UpdateTimeAndIndex().
|
protected |
Definition at line 79 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteStart(), Do(), SegmentSMSTimeStretch(), and UpdateTimeAndIndex().
|
protected |
Definition at line 84 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteConfigure(), Do(), and UpdateTimeAndIndex().
|
protected |
Definition at line 82 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteStart(), Do(), and UpdateTimeAndIndex().
|
protected |
Definition at line 80 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteStart(), Do(), GetCurrentFrame(), and IsLastFrame().
|
protected |
Child processings.
Definition at line 87 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteConfigure(), ConcreteStart(), ConcreteStop(), and Do().
|
protected |
Definition at line 78 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteStart(), Do(), and SegmentSMSTimeStretch().
1.8.1