diff options
author | Chris Robinson <[email protected]> | 2018-11-29 13:08:03 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2018-11-29 13:10:46 -0800 |
commit | c5d5d574e6312df70a181dff3bf23de15163dee9 (patch) | |
tree | b219686b6d01ba6a6b30d1cb0cbb0d3c4ea69107 /OpenAL32 | |
parent | 57bb4670727c3c26644933b19d4620d565a177e2 (diff) |
Reorganize some device members
Diffstat (limited to 'OpenAL32')
-rw-r--r-- | OpenAL32/Include/alMain.h | 59 |
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}; |