diff options
author | Chris Robinson <[email protected]> | 2016-07-29 21:55:43 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2016-07-29 21:55:43 -0700 |
commit | b5b3ea95f899410a5392fb633ace74c10bbd9921 (patch) | |
tree | bc66330db4d484395d1391fb5bd64cb68edeff6d /Alc/backends/wave.c | |
parent | 96e83f95eef5be8e1f64a1a2e61810cb7b82ff5c (diff) |
Add a config to output first-, second-, or third-order ambisonics
Currently incomplete, as second- and third-order output will not correctly
handle B-Format input buffers. A standalone up-sampler will be needed, similar
to the high-quality decoder.
Also, output is ACN ordering with SN3D normalization. A config option will
eventually be provided to change this if desired.
Diffstat (limited to 'Alc/backends/wave.c')
-rw-r--r-- | Alc/backends/wave.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Alc/backends/wave.c b/Alc/backends/wave.c index af996233..85b4c720 100644 --- a/Alc/backends/wave.c +++ b/Alc/backends/wave.c @@ -277,6 +277,11 @@ static ALCboolean ALCwaveBackend_reset(ALCwaveBackend *self) case DevFmtX51Rear: chanmask = 0x01 | 0x02 | 0x04 | 0x08 | 0x010 | 0x020; break; case DevFmtX61: chanmask = 0x01 | 0x02 | 0x04 | 0x08 | 0x100 | 0x200 | 0x400; break; case DevFmtX71: chanmask = 0x01 | 0x02 | 0x04 | 0x08 | 0x010 | 0x020 | 0x200 | 0x400; break; + case DevFmtAmbi1: + case DevFmtAmbi2: + case DevFmtAmbi3: + device->FmtChans = DevFmtBFormat3D; + /*fall-through*/ case DevFmtBFormat3D: isbformat = 1; chanmask = 0; |