CLAM::ADSR Class Reference

#include <ADSR.hxx>

Inheritance diagram for CLAM::ADSR:

CLAM::Processing

List of all members.


Detailed Description

Definition at line 48 of file ADSR.hxx.


Public Types

enum  Status {
  Attack = 0, Decay = 1, Sustain = 2, Release = 3,
  Done = 4
}

Public Member Functions

 ADSR ()
 ADSR (const ADSRConfig &c)
 ~ADSR ()
const char * GetClassName () const
 Override it in every subclass and retur the name of that class.
const ProcessingConfigGetConfig () const
 Configuration getter.
bool ConcreteConfigure (const ProcessingConfig &c)
 Configuration method interface.
bool Do (void)
 Supervised mode execution method (using ports).
bool Do (Audio &out)

Public Attributes

AudioOutPort mOutput

Protected Member Functions

void HandleAttack (void)
void HandleDecay (void)
void HandleRelease (void)
void HandleAmplitude (void)
void UpdateState (void)
int UpdateAmp (TControlData value)

Member Enumeration Documentation

Enumerator:
Attack 
Decay 
Sustain 
Release 
Done 

Definition at line 52 of file ADSR.hxx.


Constructor & Destructor Documentation

CLAM::ADSR::ADSR (  ) 

Definition at line 54 of file ADSR.cxx.

References CLAM::Processing::Configure().

CLAM::ADSR::ADSR ( const ADSRConfig c  ) 

Definition at line 68 of file ADSR.cxx.

References CLAM::Processing::Configure().

CLAM::ADSR::~ADSR (  )  [inline]

Definition at line 111 of file ADSR.hxx.


Member Function Documentation

void CLAM::ADSR::HandleAttack ( void   )  [protected]

Definition at line 93 of file ADSR.cxx.

References Attack.

Referenced by HandleAmplitude().

void CLAM::ADSR::HandleDecay ( void   )  [protected]

Definition at line 100 of file ADSR.cxx.

References Decay.

Referenced by Do().

void CLAM::ADSR::HandleRelease ( void   )  [protected]

Definition at line 106 of file ADSR.cxx.

References Release.

Referenced by HandleAmplitude().

void CLAM::ADSR::HandleAmplitude ( void   )  [inline, protected]

Definition at line 81 of file ADSR.hxx.

References HandleAttack(), and HandleRelease().

Referenced by UpdateAmp().

void CLAM::ADSR::UpdateState ( void   )  [inline, protected]

Definition at line 90 of file ADSR.hxx.

References Done, and CLAM::OutControl::SendControl().

Referenced by Do().

int CLAM::ADSR::UpdateAmp ( TControlData  value  )  [inline, protected]

Definition at line 98 of file ADSR.hxx.

References HandleAmplitude().

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

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

Implements CLAM::Processing.

Definition at line 113 of file ADSR.hxx.

const ProcessingConfig& CLAM::ADSR::GetConfig (  )  const [inline, virtual]

Configuration getter.

Gets the configuration parameters used to create the object.

Returns:
Const reference to the configuration object. The usual way to perform a configuration change in the processing object is to take a copy of this reference, to change it and to send it with the Configure method. If not overriden, it returns a NullProcessingConfig.

Reimplemented from CLAM::Processing.

Definition at line 115 of file ADSR.hxx.

bool CLAM::ADSR::ConcreteConfigure ( const ProcessingConfig  )  [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:
Reference to 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:
This method must throw a bad_cast exception if the argument is not an object of the expected configuration class.

Reimplemented from CLAM::Processing.

Definition at line 80 of file ADSR.cxx.

References CLAM::Processing::CopyAsConcreteConfig().

bool CLAM::ADSR::Do ( void   )  [virtual]

Supervised mode execution method (using ports).

Returns:
A boolean telling whether it has been output

Implements CLAM::Processing.

Definition at line 217 of file ADSR.cxx.

References CLAM::AudioOutPort::GetAudio(), mOutput, and CLAM::OutPort< Token >::Produce().

bool CLAM::ADSR::Do ( Audio out  ) 

Definition at line 112 of file ADSR.cxx.

References Attack, Decay, Done, CLAM::Audio::GetSize(), HandleDecay(), Release, Sustain, and UpdateState().


Member Data Documentation

Definition at line 51 of file ADSR.hxx.

Referenced by 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