cAudio  2.3.0
3d Audio Engine
IFilter.h
1 // Copyright (c) 2008-2011 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones, Murat (wolfmanfx) Sari
2 // This file is part of the "cAudio Engine"
3 // For conditions of distribution and use, see copyright notice in cAudio.h
4 
5 #pragma once
6 
7 #include "IRefCounted.h"
8 #include "cAudioDefines.h"
9 
10 #if CAUDIO_EFX_ENABLED == 1
11 
12 namespace cAudio
13 {
15  enum FilterTypes
16  {
17  EFT_NULL,
18  EFT_LOWPASS,
19  EFT_HIGHPASS,
20  EFT_BANDPASS,
21  EFT_COUNT
22  };
23 
25  class IFilter : public IRefCounted
26  {
27  public:
28  IFilter() { }
29  virtual ~IFilter() { }
30 
32  virtual const FilterTypes& getType() const = 0;
33 
35 
37  virtual void setType(const FilterTypes& type) = 0;
38 
40  virtual float getVolume() const = 0;
41 
43 
45  virtual void setVolume(const float& volume) = 0;
46 
48  virtual float getLowFrequencyVolume() const = 0;
49 
51 
53  virtual void setLowFrequencyVolume(const float& volumeLF) = 0;
54 
56  virtual float getHighFrequencyVolume() const = 0;
57 
59 
61  virtual void setHighFrequencyVolume(const float& volumeHF) = 0;
62 
64  virtual unsigned int getLastUpdated() const = 0;
65 
67  virtual bool isValid() const = 0;
68  };
69 };
70 
71 #endif
cAudio
Main namespace for the entire cAudio library.
Definition: cAudioCapture.h:16