aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2018-11-29 13:08:03 -0800
committerChris Robinson <[email protected]>2018-11-29 13:10:46 -0800
commitc5d5d574e6312df70a181dff3bf23de15163dee9 (patch)
treeb219686b6d01ba6a6b30d1cb0cbb0d3c4ea69107 /OpenAL32
parent57bb4670727c3c26644933b19d4620d565a177e2 (diff)
Reorganize some device members
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alMain.h59
1 files changed, 30 insertions, 29 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h
index cf1cd6b2..898c8a08 100644
--- a/OpenAL32/Include/alMain.h
+++ b/OpenAL32/Include/alMain.h
@@ -687,6 +687,13 @@ struct ALCdevice_struct {
std::string DeviceName;
+ // Device flags
+ ALuint Flags{0u};
+
+ std::string HrtfName;
+ al::vector<EnumeratedHrtf> HrtfList;
+ ALCenum HrtfStatus{ALC_FALSE};
+
std::atomic<ALCenum> LastError{ALC_NO_ERROR};
// Maximum number of sources that can be created
@@ -710,32 +717,13 @@ struct ALCdevice_struct {
al::vector<FilterSubList> FilterList;
std::mutex FilterLock;
- POSTPROCESS PostProcess{};
-
- /* HRTF state and info */
- std::unique_ptr<DirectHrtfState> mHrtfState;
- std::string HrtfName;
- Hrtf *HrtfHandle{nullptr};
- al::vector<EnumeratedHrtf> HrtfList;
- ALCenum HrtfStatus{ALC_FALSE};
-
- /* UHJ encoder state */
- std::unique_ptr<Uhj2Encoder> Uhj_Encoder;
-
- /* High quality Ambisonic decoder */
- std::unique_ptr<BFormatDec> AmbiDecoder;
-
- /* Stereo-to-binaural filter */
- std::unique_ptr<bs2b> Bs2b;
-
- /* First-order ambisonic upsampler for higher-order output */
- std::unique_ptr<AmbiUpsampler> AmbiUp;
-
/* Rendering mode. */
RenderMode Render_Mode{NormalRender};
- // Device flags
- ALuint Flags{0u};
+ /* The average speaker distance as determined by the ambdec configuration
+ * (or alternatively, by the NFC-HOA reference delay). Only used for NFC.
+ */
+ ALfloat AvgSpeakerDist{0.0f};
ALuint SamplesDone{0u};
std::chrono::nanoseconds ClockBase{0};
@@ -759,18 +747,31 @@ struct ALCdevice_struct {
*/
RealMixParams RealOut;
- std::unique_ptr<FrontStablizer> Stablizer;
+ /* HRTF state and info */
+ std::unique_ptr<DirectHrtfState> mHrtfState;
+ Hrtf *HrtfHandle{nullptr};
- std::unique_ptr<Compressor> Limiter;
+ /* UHJ encoder state */
+ std::unique_ptr<Uhj2Encoder> Uhj_Encoder;
- /* The average speaker distance as determined by the ambdec configuration
- * (or alternatively, by the NFC-HOA reference delay). Only used for NFC.
- */
- ALfloat AvgSpeakerDist{0.0f};
+ /* High quality Ambisonic decoder */
+ std::unique_ptr<BFormatDec> AmbiDecoder;
+
+ /* Stereo-to-binaural filter */
+ std::unique_ptr<bs2b> Bs2b;
+
+ /* First-order ambisonic upsampler for higher-order output */
+ std::unique_ptr<AmbiUpsampler> AmbiUp;
+
+ POSTPROCESS PostProcess{};
+
+ std::unique_ptr<FrontStablizer> Stablizer;
/* Delay buffers used to compensate for speaker distances. */
DistanceComp ChannelDelay;
+ std::unique_ptr<Compressor> Limiter;
+
/* Dithering control. */
ALfloat DitherDepth{0.0f};
ALuint DitherSeed{0u};