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

Frequency Domain Filter Generator. More...

#include <FDFilterGen.hxx>

List of all members.

Public Member Functions

 FDFilterGen (const Config &c=Config())
 Configuration constructor.
virtual ~FDFilterGen ()
bool Do ()
 Supervised-mode Do function.
bool Do (Spectrum &out)
 Non-supervised mode Do function.
const ProcessingConfigGetConfig () const
 Definition of the Processing virtual method.
- 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.

Public Attributes

OutPort< SpectrumOutput
FloatInControl Gain
FloatInControl HighCutOff
FloatInControl LowCutOff
FloatInControl PassBandSlope
FloatInControl StopBandSlope

Protected Member Functions

void UpdateControlChangedFlag (TControlData)
- 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)

Additional Inherited Members

- Public Types inherited from CLAM::Processing
enum  ExecState { Unconfigured = 0, Ready, Running }
 Processing Object possible execution states. More...
- 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

Frequency Domain Filter Generator.

Definition at line 126 of file FDFilterGen.hxx.


Constructor & Destructor Documentation

CLAM::FDFilterGen::FDFilterGen ( const Config c = Config())

Configuration constructor.

Parameters:
Configurationobject.

Definition at line 47 of file FDFilterGen.cxx.

References CLAM::Processing::Configure().

virtual CLAM::FDFilterGen::~FDFilterGen ( )
inlinevirtual

Definition at line 161 of file FDFilterGen.hxx.


Member Function Documentation

bool CLAM::FDFilterGen::Do ( void  )
virtual

Supervised-mode Do function.

UNINPLEMENTED

Implements CLAM::Processing.

Definition at line 93 of file FDFilterGen.cxx.

bool CLAM::FDFilterGen::Do ( Spectrum out)

Non-supervised mode Do function.

Todo:
: decide ConstantOutput mode. In ConstantOutput mode it will actually generate the filter, only if some in control has been received. In Non-ConstantOutput mode, the output will allways be calculated.
Returns:
true if the out spectrum has been calculated.

Definition at line 98 of file FDFilterGen.cxx.

References CLAM_pow(), CLAM::EFDFilterType::eBandPass, CLAM::EFDFilterType::eHighPass, CLAM::EScale::eLinear, CLAM::EScale::eLog, CLAM::EFDFilterType::eLowPass, CLAM::EFDFilterType::eStopBand, Gain, CLAM::Spectrum::GetBPFSize(), CLAM::InControl< ControlDataType >::GetLastValue(), CLAM::BPFTmpl< TX, TY >::GetValueFromIndex(), HighCutOff, LowCutOff, MINUSINFINITY, PassBandSlope, CLAM::Spectrum::SetBPFSize(), CLAM::BPFTmpl< TX, TY >::SetValue(), StopBandSlope, and CLAM::DynamicType::UpdateData().

const ProcessingConfig& CLAM::FDFilterGen::GetConfig ( ) const
inlinevirtual

Definition of the Processing virtual method.

Reimplemented from CLAM::Processing.

Definition at line 180 of file FDFilterGen.hxx.

void CLAM::FDFilterGen::UpdateControlChangedFlag ( TControlData  val)
protected

Definition at line 87 of file FDFilterGen.cxx.


Member Data Documentation

FloatInControl CLAM::FDFilterGen::Gain

Definition at line 134 of file FDFilterGen.hxx.

Referenced by Do().

FloatInControl CLAM::FDFilterGen::HighCutOff

Definition at line 135 of file FDFilterGen.hxx.

Referenced by Do().

FloatInControl CLAM::FDFilterGen::LowCutOff

Definition at line 136 of file FDFilterGen.hxx.

Referenced by Do().

OutPort<Spectrum> CLAM::FDFilterGen::Output

Definition at line 132 of file FDFilterGen.hxx.

FloatInControl CLAM::FDFilterGen::PassBandSlope

Definition at line 137 of file FDFilterGen.hxx.

Referenced by Do().

FloatInControl CLAM::FDFilterGen::StopBandSlope

Definition at line 138 of file FDFilterGen.hxx.

Referenced by Do().


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