sintonia/ecasound-2.7.2/libecasound/audiofx.h

66 lines
1.0 KiB
C++

#ifndef INCLUDED_AUDIOFX_H
#define INCLUDED_AUDIOFX_H
#include "eca-chainop.h"
#include "eca-samplerate-aware.h"
/**
* Virtual base for all audio effect classes.
*
* @author Kai Vehmanen
*/
class EFFECT_BASE : public CHAIN_OPERATOR,
public ECA_SAMPLERATE_AWARE
{
public:
/** @name Constructors and destructors */
/*@{*/
EFFECT_BASE(void);
virtual ~EFFECT_BASE(void);
/*@}*/
protected:
/** @name Protected functions for storing channel count */
/*@{*/
void set_channels(int v);
/*@}*/
public:
/** @name Public virtual functions to notify about changes
* (Reimplemented from ECA_SAMPLERATE_AWARE) */
/*@{*/
virtual void set_samples_per_second(SAMPLE_SPECS::sample_rate_t v);
/*@}*/
/** @name Public virtual functions for initialization
* (Reimplemented from CHAIN_OPERATOR) */
/*@{*/
virtual void init(SAMPLE_BUFFER* sbuf);
/*@}*/
/** @name Public non-virtual functions */
/*@{*/
int channels(void) const;
/*@}*/
private:
int channels_rep;
};
#endif