CLAM::SegmentSMSTimeStretch Class Reference

#include <SegmentSMSTimeStretch.hxx>

Inheritance diagram for CLAM::SegmentSMSTimeStretch:

CLAM::SegmentTransformation CLAM::Processing

List of all members.


Detailed Description

Todo:
: introduce interpolation of spectral shapes, before that, interpolations may be extracted to external Processing's

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.
FrameGetCurrentFrame (Segment &out)
 formerly corresponded to UnwrappedProcessingData
const FrameGetCurrentFrame (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.

Constructor & Destructor Documentation

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.

Parameters:
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]

Destructor of the class.

Definition at line 57 of file SegmentSMSTimeStretch.hxx.


Member Function Documentation

const char* CLAM::SegmentSMSTimeStretch::GetClassName (  )  const [inline, virtual]

This method returns the name of the object.

Returns:
Char pointer with the name of 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.

Parameters:
The ProcessingConfig object
Returns:
True if the cast has been commited correctly

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.

Returns:
Whether stop changes have been successful

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).

Returns:
A boolean telling whether it has been output

Reimplemented from CLAM::SegmentTransformation.

Definition at line 59 of file SegmentSMSTimeStretch.hxx.

References CLAM_ASSERT.

Referenced by Do().

bool CLAM::SegmentSMSTimeStretch::Do ( const Frame in,
Frame out 
) [virtual]

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.

bool CLAM::SegmentSMSTimeStretch::Do ( const Segment in,
Segment out 
) [virtual]

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.

Parameters:
input the Segment that is input to the transformation
out the Segment that is output from the transformation.
Returns:
Boolean value, whether the process has finished successfully or not.

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.

Frame & CLAM::SegmentSMSTimeStretch::GetCurrentFrame ( Segment out  )  [virtual]

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().

const Frame & CLAM::SegmentSMSTimeStretch::GetCurrentFrame ( const Segment in  )  [virtual]

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]

void CLAM::SegmentSMSTimeStretch::UpdateTimeAndIndex ( const Segment in  )  [protected]


Member Data Documentation

Definition at line 73 of file SegmentSMSTimeStretch.hxx.

Referenced by ConcreteConfigure(), and UpdateTimeAndIndex().

Definition at line 78 of file SegmentSMSTimeStretch.hxx.

Referenced by ConcreteStart(), Do(), and SegmentSMSTimeStretch().

Definition at line 80 of file SegmentSMSTimeStretch.hxx.

Referenced by ConcreteStart(), Do(), GetCurrentFrame(), and IsLastFrame().

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().


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

Generated on Tue Aug 12 22:33:49 2008 for CLAM by  doxygen 1.5.5