diff options
Diffstat (limited to 'alc/device.cpp')
-rw-r--r-- | alc/device.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/alc/device.cpp b/alc/device.cpp index 01153d51..11f66df7 100644 --- a/alc/device.cpp +++ b/alc/device.cpp @@ -65,3 +65,23 @@ void ALCdevice::enumerateHrtfs() std::rotate(mHrtfList.begin(), iter, iter+1); } } + +auto ALCdevice::getOutputMode1() const noexcept -> OutputMode1 +{ + switch(FmtChans) + { + case DevFmtMono: return OutputMode1::Mono; + case DevFmtStereo: + if(mHrtf) + return OutputMode1::Hrtf; + else if(mUhjEncoder) + return OutputMode1::Uhj2; + return OutputMode1::StereoPlain; + case DevFmtQuad: return OutputMode1::Quad; + case DevFmtX51: return OutputMode1::X51; + case DevFmtX61: return OutputMode1::X61; + case DevFmtX71: return OutputMode1::X71; + case DevFmtAmbi3D: break; + } + return OutputMode1::Any; +} |