1 | // Copyright (C) 2022 The Qt Company Ltd. |
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-3.0-only |
3 | #ifndef RESONANCE_AUDIO_H |
4 | #define RESONANCE_AUDIO_H |
5 | |
6 | #include <api/resonance_audio_api.h> |
7 | |
8 | namespace vraudio |
9 | { |
10 | |
11 | class ResonanceAudioExtensions; |
12 | class ResonanceAudioApiImpl; |
13 | |
14 | class EXPORT_API ResonanceAudio |
15 | { |
16 | public: |
17 | ResonanceAudio(size_t num_channels, size_t frames_per_buffer, int sample_rate_hz); |
18 | ~ResonanceAudio(); |
19 | |
20 | // reverb is only calculated in stereo. We get it here as well, and our ambisonic |
21 | // decoder will then add it to the generated surround signal. |
22 | int getAmbisonicOutput(const float *buffers[], const float *reverb[], int nChannels); |
23 | |
24 | ResonanceAudioApi *api = nullptr; |
25 | ResonanceAudioApiImpl *impl = nullptr; |
26 | bool roomEffectsEnabled = true; |
27 | }; |
28 | |
29 | |
30 | |
31 | } |
32 | |
33 | #endif |
34 | |