CLAM-Development  1.4.0
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
CLAM::SegmentSMSTimeStretch Class Reference

#include <SegmentSMSTimeStretch.hxx>

List of all members.

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 Member Functions inherited from CLAM::SegmentTransformation
void AttachIn (Segment &data)
void AttachOut (Segment &data)
void WrapFrameTransformation (FrameTransformation *)
const ProcessingConfigGetConfig () 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)
InPortBaseGetInPort (const std::string &name)
OutPortBaseGetOutPort (const std::string &name)
InControlBaseGetInControl (const std::string &name)
OutControlBaseGetOutControl (const std::string &name)
InPortBaseGetInPort (unsigned index)
OutPortBaseGetOutPort (unsigned index)
InControlBaseGetInControl (unsigned index)
OutControlBaseGetOutControl (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.
InControlRegistryGetInControls ()
 Accessor to published Controls manager.
OutControlRegistryGetOutControls ()
 Accessor to published Controls manager.
InPortRegistryGetInPorts ()
 Accessor to published Ports manager.
OutPortRegistryGetOutPorts ()
 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.
SegmentmInput
SegmentmOutput
int mCurrentInputFrame
- Protected Attributes inherited from CLAM::Processing
ProcessingCompositempParent
 Pointer to the parent (composite) processing object, or 0.
Network_network
 The parent network if any.

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.


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:
cSegmentTransformationConfig 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

bool CLAM::SegmentSMSTimeStretch::CanProcessInplace ( )
inlinevirtual

Override this method if your processing cannot process inplace.

Reimplemented from CLAM::Processing.

Definition at line 67 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:
TheProcessingConfig 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< ControlDataType >::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 ( )
inlinevirtual

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
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:
inputthe Segment that is input to the transformation
outthe 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().

const char* CLAM::SegmentSMSTimeStretch::GetClassName ( ) const
inlinevirtual

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.

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

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

Member Data Documentation

FloatInControl CLAM::SegmentSMSTimeStretch::mAmount

Definition at line 73 of file SegmentSMSTimeStretch.hxx.

Referenced by ConcreteConfigure(), and UpdateTimeAndIndex().

TTime CLAM::SegmentSMSTimeStretch::mAnalysisTime
protected
SegmentSMSTimeStretchConfig CLAM::SegmentSMSTimeStretch::mConcreteConfig
protected

Definition at line 84 of file SegmentSMSTimeStretch.hxx.

Referenced by ConcreteConfigure(), Do(), and UpdateTimeAndIndex().

Frame CLAM::SegmentSMSTimeStretch::mLeftFrame
protected

Definition at line 82 of file SegmentSMSTimeStretch.hxx.

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

TIndex CLAM::SegmentSMSTimeStretch::mnSynthesisFrames
protected

Definition at line 80 of file SegmentSMSTimeStretch.hxx.

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

FrameInterpolator CLAM::SegmentSMSTimeStretch::mPO_FrameInterpolator
protected

Child processings.

Definition at line 87 of file SegmentSMSTimeStretch.hxx.

Referenced by ConcreteConfigure(), ConcreteStart(), ConcreteStop(), and Do().

TTime CLAM::SegmentSMSTimeStretch::mSynthesisTime
protected

Definition at line 78 of file SegmentSMSTimeStretch.hxx.

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


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