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

Abstract base class for IFFT classes. More...

#include <IFFT_base.hxx>

List of all members.

Public Member Functions

 IFFT_base ()
virtual ~IFFT_base ()
const char * GetClassName () const
 Override it in every subclass and retur the name of that class.
virtual const ProcessingConfigGetConfig () const
 Config access:
virtual bool Do (void)=0
 Supervised-mode Do function.
virtual bool Do (const Spectrum &in, Audio &out) const =0
 Standard IFFT Do function, with storage class references as arguments.
virtual bool SetPrototypes (const Spectrum &in, const Audio &out)=0
 IFFT non-supervised mode SetPrototypes function.
virtual bool SetPrototypes ()
 Standard supervised-mode SetPrototypes function.
virtual bool UnsetPrototypes ()
 Standard UnsetPrototypes function.
virtual bool MayDisableExecution () const
- 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 ()
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)
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.

Protected Types

enum  { CLAM_DEFAULT_IFFT_SIZE = 1024 }

Protected Member Functions

void ChangeSize (int n)
int GetSize ()
virtual bool ConcreteConfigure (const ProcessingConfig &)=0
 Configuration method interface.
- Protected Member Functions inherited from CLAM::Processing
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.
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

IFFTConfig mConfig
 IFFT Configuration.
int mSize
 IFFT size.
InPort< SpectrummInput
AudioOutPort mOutput
- Protected Attributes inherited from CLAM::Processing
ProcessingCompositempParent
 Pointer to the parent (composite) processing object, or 0.
Network_network
 The parent network if any.

Additional Inherited Members

- Public Types inherited from CLAM::Processing
enum  ExecState { Unconfigured = 0, Ready, Running }
 Processing Object possible execution states. More...
typedef NullProcessingConfig Config

Detailed Description

Abstract base class for IFFT classes.

Definition at line 42 of file IFFT_base.hxx.


Member Enumeration Documentation

anonymous enum
protected
Enumerator:
CLAM_DEFAULT_IFFT_SIZE 

Definition at line 45 of file IFFT_base.hxx.


Constructor & Destructor Documentation

CLAM::IFFT_base::IFFT_base ( )

Definition at line 30 of file IFFT_base.cxx.

CLAM::IFFT_base::~IFFT_base ( )
virtual

Definition at line 37 of file IFFT_base.cxx.


Member Function Documentation

void CLAM::IFFT_base::ChangeSize ( int  n)
protected

Definition at line 41 of file IFFT_base.cxx.

References CLAM_ASSERT.

virtual bool CLAM::IFFT_base::ConcreteConfigure ( const ProcessingConfig )
protectedpure virtual

Configuration method interface.

The Processing base class forces all the concrete classes derived from it to implement this method, which must actually perform the specific configuration tasks.

Note that the user can not call this method directly. He will use Configure instead. The argument is expected to be an object of the necesary concrete configuration class.

Parameters:
Referenceto the configuration object.
Returns:
false if the object is not yet fully configured. (For example, if some important configuration attribute such as number of ports was set to zero in the config object)

true if the processing object is left in a consistent state, and can be executed.

Exceptions:
Thismethod must throw a bad_cast exception if the argument is not an object of the expected configuration class.

Reimplemented from CLAM::Processing.

virtual bool CLAM::IFFT_base::Do ( void  )
pure virtual

Supervised-mode Do function.

Implements CLAM::Processing.

Implemented in CLAM::IFFT_ooura, and CLAM::IFFT_fftw3.

virtual bool CLAM::IFFT_base::Do ( const Spectrum in,
Audio out 
) const
pure virtual

Standard IFFT Do function, with storage class references as arguments.

This method implements the old conversor routines.

Implemented in CLAM::IFFT_ooura, and CLAM::IFFT_fftw3.

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

Override it in every subclass and retur the name of that class.

Implements CLAM::Processing.

Reimplemented in CLAM::IFFT_ooura, and CLAM::IFFT_fftw3.

Definition at line 67 of file IFFT_base.hxx.

virtual const ProcessingConfig& CLAM::IFFT_base::GetConfig ( ) const
inlinevirtual

Config access:

Reimplemented from CLAM::Processing.

Definition at line 71 of file IFFT_base.hxx.

References mConfig.

int CLAM::IFFT_base::GetSize ( )
inlineprotected

Definition at line 57 of file IFFT_base.hxx.

References mSize.

virtual bool CLAM::IFFT_base::MayDisableExecution ( ) const
inlinevirtual

Reimplemented in CLAM::IFFT_ooura, and CLAM::IFFT_fftw3.

Definition at line 97 of file IFFT_base.hxx.

virtual bool CLAM::IFFT_base::SetPrototypes ( const Spectrum in,
const Audio out 
)
pure virtual

IFFT non-supervised mode SetPrototypes function.

Implemented in CLAM::IFFT_ooura, and CLAM::IFFT_fftw3.

virtual bool CLAM::IFFT_base::SetPrototypes ( )
inlinevirtual

Standard supervised-mode SetPrototypes function.

Reimplemented in CLAM::IFFT_ooura, and CLAM::IFFT_fftw3.

Definition at line 88 of file IFFT_base.hxx.

virtual bool CLAM::IFFT_base::UnsetPrototypes ( )
inlinevirtual

Standard UnsetPrototypes function.

Reimplemented in CLAM::IFFT_ooura, and CLAM::IFFT_fftw3.

Definition at line 91 of file IFFT_base.hxx.


Member Data Documentation

IFFTConfig CLAM::IFFT_base::mConfig
protected

IFFT Configuration.

Definition at line 48 of file IFFT_base.hxx.

Referenced by GetConfig().

InPort<Spectrum> CLAM::IFFT_base::mInput
protected

Definition at line 52 of file IFFT_base.hxx.

Referenced by CLAM::IFFT_fftw3::Do(), and CLAM::IFFT_ooura::Do().

AudioOutPort CLAM::IFFT_base::mOutput
protected

Definition at line 53 of file IFFT_base.hxx.

Referenced by CLAM::IFFT_fftw3::Do(), and CLAM::IFFT_ooura::Do().

int CLAM::IFFT_base::mSize
protected

IFFT size.

Definition at line 50 of file IFFT_base.hxx.

Referenced by CLAM::IFFT_fftw3::Do(), CLAM::IFFT_ooura::Do(), and GetSize().


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