diff options
author | Chris Robinson <[email protected]> | 2021-12-15 02:01:22 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2021-12-15 02:01:22 -0800 |
commit | 54c4bea48791f353baf66917f967ef3a39af9b0b (patch) | |
tree | 92ab9aad66fa8499cf338e22ce127c8db12d1cfa /al/source.h | |
parent | b489705b25bb3967e04f7099cb21797783ccf7c0 (diff) |
Add source properties for Super Stereo
When playing a stereo format, enabling Super Stereo causes the source to behave
as a B-Format source, with a variable width control.
Diffstat (limited to 'al/source.h')
-rw-r--r-- | al/source.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/al/source.h b/al/source.h index 4d1f66dc..474d0a91 100644 --- a/al/source.h +++ b/al/source.h @@ -13,6 +13,7 @@ #include "alc/alu.h" #include "alc/context.h" +#include "alc/inprogext.h" #include "aldeque.h" #include "almalloc.h" #include "alnumeric.h" @@ -25,6 +26,11 @@ struct ALbuffer; struct ALeffectslot; +enum class SourceStereo : bool { + Normal = AL_NORMAL_SOFT, + Enhanced = AL_SUPER_STEREO_SOFT +}; + #define DEFAULT_SENDS 2 #define INVALID_VOICE_IDX static_cast<ALuint>(-1) @@ -59,6 +65,7 @@ struct ALsource { Resampler mResampler{ResamplerDefault}; DirectMode DirectChannels{DirectMode::Off}; SpatializeMode mSpatialize{SpatializeMode::Auto}; + SourceStereo mStereoMode{SourceStereo::Normal}; bool DryGainHFAuto{true}; bool WetGainAuto{true}; @@ -75,6 +82,7 @@ struct ALsource { std::array<float,2> StereoPan{{Deg2Rad( 30.0f), Deg2Rad(-30.0f)}}; float Radius{0.0f}; + float EnhWidth{0.593f}; /** Direct filter and auxiliary send info. */ struct { |