Chris Robinson
863171efc9
Check the voice's ambisonic order when starting
2019-12-05 00:18:01 -08:00
Chris Robinson
38037e29ba
Handle the buffer's ambisonic properties
2019-12-02 12:50:18 -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
b79aa32308
Store the ambisonic order for the voice
...
Currently only first-order B-Format is possible for a buffer/source, but this
will begin to allow for higher orders with an appropriate extension.
2019-12-01 15:36:25 -08:00
Chris Robinson
0cba99ed1b
Avoid static constexpr for arrays iterated over at run-time
2019-10-25 01:43:23 -07:00
Chris Robinson
cf617760b6
Separate a couple assignments from conditionals
2019-09-30 03:03:27 -07:00
Chris Robinson
0139d8a04f
Remove noexcept from a function that explicitly throws
2019-09-30 02:57:19 -07:00
Chris Robinson
31ffb0887c
Don't let a function end without a return
2019-09-28 13:56:51 -07:00
Chris Robinson
f7b574c8f2
Redo resampler strings to be safer
...
Now the name is guaranteed to match the type, and to be ordered as the enum
declares.
2019-09-28 03:15:48 -07:00
Chris Robinson
882b4acae8
Add "fast" variants for the bsinc resamplers
...
This simply omits the scale factor from the filter, similar to how up-sampling
does. The consequence of this is less smooth transitions when ramping the
pitch while down-sampling, but otherwise behaves fine.
2019-09-28 01:58:29 -07:00
Chris Robinson
d50ca464cd
Use a span for holding the source handles
2019-09-25 03:01:58 -07:00
Chris Robinson
24db8a3f4b
Make the resampler type an enum class
2019-09-22 21:19:19 -07:00
Chris Robinson
564c953e94
Make the buffer frequency unsigned
2019-09-21 16:47:33 -07:00
Chris Robinson
66565ca7a3
Enable and fix some more warnings
2019-09-18 10:09:04 -07:00
Chris Robinson
899a414591
Remove the last uses of the system's str[n]casecmp
2019-09-16 15:10:36 -07:00
Chris Robinson
2c5c5a5397
Add and use custom string types and functions
2019-09-16 13:45:14 -07:00
Chris Robinson
bf2c865d39
Clean up some more shadowing warnings
2019-09-16 07:16:31 -07:00
Chris Robinson
e4cc77ea23
Fix a few warnings from MSVC
2019-09-14 20:19:59 -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
Lopuska
0023614da5
pass proper effects slot number to AddActiveEffectSlots
...
It resolves wrong logic when creating more than 1 aux slot at time in a batch
2019-09-15 02:09:05 +02:00
Chris Robinson
42ae95b8fa
Remove a couple no-op statements
2019-09-13 14:44:52 -07:00
Chris Robinson
df306b5524
Make NumAuxSends unsigned
2019-09-13 04:15:05 -07:00
Chris Robinson
5ca8796d6a
Clean up some lambda definitions
2019-09-12 17:10:33 -07:00
Chris Robinson
70b58d79fe
Fix source limit check
2019-09-12 12:19:07 -07:00
Chris Robinson
6ca8fadd58
Fix counting free objects
2019-09-12 12:14:23 -07:00
Chris Robinson
ac48569c69
Avoid a macro call and mark unlikely paths as unlikely
2019-09-12 11:59:36 -07:00
Chris Robinson
2e010d29cb
Clean up implicit conversions in source.cpp
2019-09-12 11:33:04 -07:00
Chris Robinson
c0ce03d8b9
Get rid of more implicit conversions
2019-09-12 06:29:32 -07:00
Chris Robinson
07e2aa3bc0
Clean up some more implicit conversions
2019-09-11 14:33:26 -07:00
Chris Robinson
681c78d348
Allocate buffer batches separately from buffers
2019-09-11 12:28:33 -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
987fd13796
Use a new voice when restarting a playing source
2019-09-06 21:20:20 -07:00
Chris Robinson
e5c9643dd5
Combine two functions into one
2019-09-05 15:08:22 -07:00
Chris Robinson
97c043da07
Don't set voice properties in ApplyOffset
2019-09-05 04:00:49 -07:00
Chris Robinson
ef2769af03
Use a normal vector for the voices array
2019-09-04 23:04:55 -07:00
Chris Robinson
3d7ce5a860
Use global placement new for AL object batches
2019-09-01 18:07:16 -07:00
Chris Robinson
bb35e24c9b
Avoid unnecessary placement new definitions
2019-09-01 17:54:17 -07:00
Chris Robinson
727217ce0a
Ensure AL_STOPPED state change events are sent
...
With explicit calls to alSourceStop on a playing or paused source
2019-09-01 15:28:33 -07:00
Chris Robinson
aee10ef606
Hold the source lock in UpdateAllSourceProps
2019-09-01 00:29:26 -07:00
Chris Robinson
3973334a64
Store the voice fraction offset as unsigned
2019-08-31 15:49:34 -07:00
Chris Robinson
024d5d900a
Dereference the correct buffer when destructing a source
2019-08-21 03:00:19 -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
91ff01d1ad
Don't explicitly inline a particular function
2019-08-13 20:33:26 -07:00
Chris Robinson
81d17bb80f
Fix some return types
2019-08-12 14:30:47 -07:00
Chris Robinson
1aaf65abfe
Add methods to get env vars as an optional
2019-08-12 03:59:52 -07:00
Chris Robinson
50d16d2422
Don't use INT_MAX for unknown span lengths
...
32-bit doesn't like it, for some reason. Use the largest possible length it
could be.
2019-08-11 22:48:18 -07:00