cAudio 2.3.0
3d Audio Engine
Loading...
Searching...
No Matches
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
12namespace 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
Main namespace for the entire cAudio library.
Definition: cAudioCapture.h:16