caudio/Headers/cAudioEffects.h

35 lines
862 B
C++

#ifndef CAUDIOEFFECTS_H
#define CAUDIOEFFECTS_H
#include "../include/IAudioEffects.h"
#include "../Headers/cMutex.h"
#include "../Headers/cEFXFunctions.h"
namespace cAudio
{
class cAudioEffects : public IAudioEffects
{
public:
cAudioEffects();
virtual ~cAudioEffects();
virtual IEffect* createEffect();
virtual IFilter* createFilter();
virtual unsigned int getMaxEffectsSupported() const;
virtual bool isEffectSupported(const EffectTypes& type) const;
virtual bool isFilterSupported(const FilterTypes& type) const;
cEFXFunctions* getEFXInterface();
void checkEFXSupportDetails();
private:
cAudioMutex Mutex;
cEFXFunctions EFXInterface;
unsigned int MaxEffectsSupported;
bool SupportedEffects[EET_COUNT];
bool SupportedFilters[EFT_COUNT];
};
};
#endif //! CAUDIOEFFECTS_H