-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAndroidHalEffectEqualizer.hpp
66 lines (53 loc) · 1.96 KB
/
AndroidHalEffectEqualizer.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
Copyright (C) 2021 hidenorly
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef __ANDROID_HAL_BASS_EQUALIZER_EFFECT_HPP__
#define __ANDROID_HAL_BASS_EQUALIZER_EFFECT_HPP__
#include "AndroidHalTypes.hpp"
#include "AndroidHalEffect.hpp"
class IEqualizerEffect : public IEffect
{
public:
IEqualizerEffect();
virtual ~IEqualizerEffect();
static inline const char* UUID = "0bed4300-ddd6-11db-8f34-0002a5d5c51b";
virtual uint16_t getNumBands(void);
struct LevelRange
{
int16_t minLevel;
int16_t maxLevel;
LevelRange():minLevel(0),maxLevel(0){};
};
virtual LevelRange getLevelRange(void);
virtual HalResult setBandLevel(uint16_t band, int16_t level);
virtual uint16_t getBandLevel(uint16_t band);
virtual uint16_t getBandForFrequency(uint32_t freqmHz);
struct FreqMhzRange
{
uint32_t minFreqmHz;
uint32_t maxFreqmHz;
FreqMhzRange():minFreqmHz(0), maxFreqmHz(0){};
};
virtual FreqMhzRange getBandFrequencyRange(uint16_t band);
virtual uint32_t getBandCenterFrequency(uint16_t band);
virtual std::vector<std::string> getPresetNames(void);
virtual HalResult setCurrentPreset(uint16_t preset);
virtual uint16_t getCurrentPreset(void);
struct AllProperties {
uint16_t curPreset;
std::vector<int16_t> bandLevels;
AllProperties():curPreset(0){};
};
virtual HalResult setAllProperties(AllProperties properties);
virtual AllProperties getAllProperties(void);
};
#endif /* __ANDROID_HAL_BASS_EQUALIZER_EFFECT_HPP__ */