#include <SegmentSMSTimeStretch.hxx>
Definition at line 36 of file 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 Attributes | |
InControl | mAmount |
Protected Member Functions | |
bool | HaveFinished () |
void | UpdateTimeAndIndex (const Segment &in) |
Protected Attributes | |
TTime | mSynthesisTime |
TTime | mAnalysisTime |
TIndex | mnSynthesisFrames |
Frame | mLeftFrame |
SegmentSMSTimeStretchConfig | mConcreteConfig |
FrameInterpolator | mPO_FrameInterpolator |
Child processings. |
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.
CLAM::SegmentSMSTimeStretch::~SegmentSMSTimeStretch | ( | ) | [inline] |
const char* CLAM::SegmentSMSTimeStretch::GetClassName | ( | ) | const [inline, virtual] |
This method returns the name of the object.
Reimplemented from CLAM::SegmentTransformation.
Definition at line 50 of file SegmentSMSTimeStretch.hxx.
bool CLAM::SegmentSMSTimeStretch::ConcreteConfigure | ( | const ProcessingConfig & | c | ) | [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::DoControl(), mAmount, mConcreteConfig, mPO_FrameInterpolator, and CLAM::SegmentTransformation::mUseTemporalBPF.
bool CLAM::SegmentSMSTimeStretch::ConcreteStart | ( | void | ) | [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().
bool CLAM::SegmentSMSTimeStretch::ConcreteStop | ( | ) | [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().
bool CLAM::SegmentSMSTimeStretch::Do | ( | ) | [inline, virtual] |
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(), 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().
bool CLAM::SegmentSMSTimeStretch::CanProcessInplace | ( | ) | [inline, virtual] |
Override this method if your processing cannot process inplace.
Reimplemented from CLAM::Processing.
Definition at line 67 of file SegmentSMSTimeStretch.hxx.
bool CLAM::SegmentSMSTimeStretch::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.
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.
bool CLAM::SegmentSMSTimeStretch::HaveFinished | ( | ) | [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().
void CLAM::SegmentSMSTimeStretch::UpdateTimeAndIndex | ( | const Segment & | in | ) | [protected] |
Definition at line 156 of file SegmentSMSTimeStretch.cxx.
References CLAM::Segment::GetFrame(), CLAM::InControl::GetLastValue(), CLAM::Segment::GetnFrames(), mAmount, mAnalysisTime, mConcreteConfig, CLAM::SegmentTransformation::mCurrentInputFrame, and mLeftFrame.
Referenced by Do().
Definition at line 73 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteConfigure(), and UpdateTimeAndIndex().
TTime CLAM::SegmentSMSTimeStretch::mSynthesisTime [protected] |
Definition at line 78 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteStart(), Do(), and SegmentSMSTimeStretch().
TTime CLAM::SegmentSMSTimeStretch::mAnalysisTime [protected] |
Definition at line 79 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteStart(), Do(), SegmentSMSTimeStretch(), and UpdateTimeAndIndex().
TIndex CLAM::SegmentSMSTimeStretch::mnSynthesisFrames [protected] |
Definition at line 80 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteStart(), Do(), GetCurrentFrame(), and IsLastFrame().
Frame CLAM::SegmentSMSTimeStretch::mLeftFrame [protected] |
Definition at line 82 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteStart(), Do(), and UpdateTimeAndIndex().
Definition at line 84 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteConfigure(), Do(), and UpdateTimeAndIndex().
Child processings.
Definition at line 87 of file SegmentSMSTimeStretch.hxx.
Referenced by ConcreteConfigure(), ConcreteStart(), ConcreteStop(), and Do().