Chris Robinson
84f65c1883
Avoid auto-releasing containers for the global device list
...
If any are left open at process shutdown, it may try to clean them up, and
subsequently close the device. This is dangerous to do at process exit, so
don't. The app should have closed the device(s) prior to exiting anyway
2020-01-07 03:12:49 -08:00
Chris Robinson
6ed8061cbf
Finalize AL_SOFT_bformat_ex
2020-01-05 03:45:35 -08:00
Chris Robinson
cdd24c7d01
Combine identical arrays
2020-01-04 00:59:49 -08:00
Chris Robinson
c1cf10f508
Handle downmixing for mono output
2019-12-29 20:35:47 -08:00
Chris Robinson
137394c2cf
Make the new direct channel remix extension public
2019-12-28 16:40:10 -08:00
Chris Robinson
2e6a55a87c
Handle padding between device sample frames
...
The padding must be constant and sample type aligned (e.g. some fixed multiple
of two bytes between the start of two consecutive frames for 16-bit output).
The intent is to always have the ability for stereo output with WASAPI even if
the device has some other unsupported configuration, as long as front-left and
front-right exist.
2019-12-21 20:43:46 -08:00
Chris Robinson
c2ca617ed6
Use size_t for the compressor channel count
...
And general cleanup of the compressor
2019-12-21 03:21:13 -08:00
Chris Robinson
22bbb14a65
Use a standard bool type
2019-12-19 05:16:56 -08:00
Chris Robinson
4634002104
Remix missing channels with direct channels enabled
...
Instead of dropping them.
2019-12-19 04:38:34 -08:00
Chris Robinson
200b07b288
Fully reset the voice when updating the device
2019-12-05 00:18:59 -08:00
Chris Robinson
799c60f3bb
Add an interface to set a B-Format buffer's layout and scaling
2019-12-02 11:51:27 -08:00
Chris Robinson
f6105cbff0
Resample HRIRs when loading
2019-11-28 12:33:26 -08:00
Chris Robinson
925e6e979c
Rework HRTF enuemration so the loaded HRTFs are separate
2019-11-28 08:24:29 -08:00
Chris Robinson
1e93fba6d0
Rename HrtfEntry to HrtfStore
2019-11-28 06:10:36 -08:00
Chris Robinson
d2608e4bde
Avoid holding HRTF accumulation samples per-source
...
It notably simplifies things to mix HRTF sources into an accumulation buffer
together, which the Dry buffer's Ambisonic-to-HRTF decode is then added to,
before being mixed to the Real output.
2019-11-03 00:30:33 -07:00
Chris Robinson
0cba99ed1b
Avoid static constexpr for arrays iterated over at run-time
2019-10-25 01:43:23 -07:00
Chris Robinson
2842df5a02
Catch exceptions from backend start calls
2019-10-09 00:11:19 -07:00
Chris Robinson
02d80cd74d
Use exceptions for backend open failures
2019-10-07 21:37:56 -07:00
Chris Robinson
f8ff4e269b
Put the pragma defines in a separate header
2019-10-07 15:26:35 -07:00
Chris Robinson
267b79f337
Avoid duplicate structs
2019-10-05 16:11:38 -07:00
Chris Robinson
58085f1c7b
Clean up some unnecessary includes
2019-10-02 19:13:07 -07:00
Chris Robinson
a0a55d300f
Remove an unnecessary function
2019-10-01 21:45:44 -07:00
Chris Robinson
fabb9add9b
Silence an MSVC warning
2019-09-28 23:31:49 -07:00
Chris Robinson
66565ca7a3
Enable and fix some more warnings
2019-09-18 10:09:04 -07:00
Chris Robinson
2c5c5a5397
Add and use custom string types and functions
2019-09-16 13:45:14 -07:00
Chris Robinson
35129d66b7
Clean up the spaghetti mess in alcCaptureSamples
2019-09-15 13:42:56 -07:00
Chris Robinson
c5a3c52822
Return and pass more appropriate types for backends
2019-09-15 09:50:28 -07:00
Chris Robinson
807d3b64ca
Enable and fix more warnings
2019-09-14 18:35:23 -07:00
Chris Robinson
2c348cecb6
Fix some more implicit conversions noted by GCC
2019-09-14 18:35:23 -07:00
Chris Robinson
2646f509ee
Store the ambisonic order as unsigned
2019-09-13 20:04:22 -07:00
Chris Robinson
a250b6a986
Return unsigned values from the FromDevFmt functions
2019-09-13 14:29:25 -07:00
Chris Robinson
df306b5524
Make NumAuxSends unsigned
2019-09-13 04:15:05 -07:00
Chris Robinson
6699f3cf1c
Use unsigned channel indices
2019-09-12 04:17:21 -07:00
Chris Robinson
be0442c620
Avoid C-style casts in C++
2019-09-11 06:47:56 -07:00
Chris Robinson
388928f3aa
Fix some more implicit casts
2019-09-11 05:53:10 -07:00
Chris Robinson
ef2769af03
Use a normal vector for the voices array
2019-09-04 23:04:55 -07:00
Chris Robinson
bb35e24c9b
Avoid unnecessary placement new definitions
2019-09-01 17:54:17 -07:00
Chris Robinson
aee10ef606
Hold the source lock in UpdateAllSourceProps
2019-09-01 00:29:26 -07:00
Chris Robinson
164626a7be
Pass unsigned sample count to aluMixData
2019-08-25 17:54:36 -07:00
Chris Robinson
351ccf2e11
Use new/delete for context and effectslot properties
2019-08-13 22:25:59 -07:00
Chris Robinson
ecab99bce9
Move update pointers to the containers they update
2019-08-13 22:06:14 -07:00
Chris Robinson
0806a003e2
Use new/delete for listener properties
2019-08-13 20:33:44 -07:00
Chris Robinson
bc9f39b5ac
Environment variables should override config settings
2019-08-12 17:10:04 -07:00
Chris Robinson
1aaf65abfe
Add methods to get env vars as an optional
2019-08-12 03:59:52 -07:00
Chris Robinson
e200569cd3
Move the wstr converters to a separate header
2019-08-11 18:50:07 -07:00
Raulshc
c4f1c95a45
Add parameter DECLs for vocal morpher
2019-08-10 18:42:02 +02:00
Chris Robinson
80a85febcf
Update some includes
2019-08-05 18:36:39 -07:00
Chris Robinson
d24401c3f3
Move the meters per unit property to the listener
2019-08-05 12:15:14 -07:00
Chris Robinson
3154a915b1
Remove the ReverbSpeedOfSound hack
...
No other effect depends on context or listener properties, so reverb being the
only exception for speed of sound and meters per unit was putting extra work on
the effect engine for no real reason. Especially since the reverb decay time
should be the time actual time to decay irrespective of other settings.
2019-08-05 11:37:05 -07:00
Chris Robinson
2fa2c35bdc
Modify LIKELY and UNLIKELY to not need extra parenthesis
2019-08-04 11:59:14 -07:00