CLAM::ADSR Class Reference

#include <ADSR.hxx>

List of all members.

Public Types

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

Public Member Functions

 ADSR (const ADSRConfig &c=Config())
 ~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 HandleDecay ()
void HandleRelease ()
void HandleAmplitude ()
void UpdateState ()
void UpdateAmp (TControlData value)

Detailed Description

Definition at line 48 of file ADSR.hxx.


Member Typedef Documentation

Reimplemented from CLAM::Processing.

Definition at line 51 of file ADSR.hxx.


Member Enumeration Documentation

Enumerator:
Attack 
Decay 
Sustain 
Release 
Done 

Definition at line 53 of file ADSR.hxx.


Constructor & Destructor Documentation

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

Definition at line 50 of file ADSR.cxx.

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

Definition at line 107 of file ADSR.hxx.


Member Function Documentation

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 62 of file ADSR.cxx.

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

Definition at line 94 of file ADSR.cxx.

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 199 of file ADSR.cxx.

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 109 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 111 of file ADSR.hxx.

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

Definition at line 82 of file ADSR.hxx.

References HandleAttack(), and HandleRelease().

Referenced by UpdateAmp().

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

Definition at line 75 of file ADSR.cxx.

Referenced by HandleAmplitude().

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

Definition at line 82 of file ADSR.cxx.

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

Definition at line 88 of file ADSR.cxx.

Referenced by HandleAmplitude().

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

Definition at line 99 of file ADSR.hxx.

References HandleAmplitude().

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

Definition at line 91 of file ADSR.hxx.

References Done, and CLAM::OutControl< ControlDataType >::SendControl().


Member Data Documentation

Definition at line 52 of file ADSR.hxx.


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.3