Chris Robinson
3122c3b4a1
Handle running the buffer callback in the voice
2020-02-17 17:13:25 -08:00
Chris Robinson
a221f8671e
Prevent queueing a callback buffer
...
Also prevent setting it on multiple sources
2020-02-17 00:32:22 -08:00
Chris Robinson
8665f404a5
Always start streaming sources from the start of the queue
...
For sources that don't start with an offset, at least. This is necessary so the
completed buffer event will give the correct count if it starts with null or
empty buffers that become processed.
2020-02-15 22:37:19 -08:00
Chris Robinson
8a9eef70af
Use struct methods to get a buffer's format info
2020-01-18 13:23:59 -08:00
Chris Robinson
cdd24c7d01
Combine identical arrays
2020-01-04 00:59:49 -08:00
Chris Robinson
701d43b41e
Start a new extension for a new direct_channels state
...
So existing behavior remains consistent for anything that needs it, and new
behavior is opt-in.
2019-12-28 11:33:19 -08:00
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
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
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
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
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
2e010d29cb
Clean up implicit conversions in source.cpp
2019-09-12 11:33:04 -07:00
Chris Robinson
07e2aa3bc0
Clean up some more implicit conversions
2019-09-11 14:33:26 -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
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
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
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
Chris Robinson
7118733458
Remove multiple buffers per queue item
...
And simplify related code
2019-08-11 14:01:57 -07:00
Chris Robinson
dca2365051
Fix array access index
2019-08-10 20:31:08 -07:00
Chris Robinson
7c069e29ee
Update some more includes
2019-08-06 23:13:05 -07:00
Chris Robinson
2fa2c35bdc
Modify LIKELY and UNLIKELY to not need extra parenthesis
2019-08-04 11:59:14 -07:00
Chris Robinson
7897de31d0
Pass spans to the source get-property methods
2019-08-03 19:36:19 -07:00
Chris Robinson
7baa07e3ad
Pass spans to the source set-property methods
...
This avoids an extra property check to get the size since the number of values
can be checked when accessed.
2019-08-03 18:57:38 -07:00
Chris Robinson
9f223898f2
Use an unsigned voice index
2019-08-02 12:38:20 -07:00
Chris Robinson
33bcced82a
Use a smart pointer for holding the context's device
2019-08-01 19:44:09 -07:00
Chris Robinson
65f7fc610e
Add a common base for auto-deleting ref-counted objects
...
Which will also work as the basis for a future intrusive_ptr
2019-08-01 13:43:32 -07:00
Chris Robinson
a0aa5bc80a
Add iterators to ALbufferlistitem
...
And change some types to ALuint
2019-07-31 09:20:53 -07:00
Chris Robinson
f286c3fa38
Move another function to a ALCcontext method
2019-07-30 21:32:05 -07:00
Chris Robinson
ac554de67d
Turn some functions into methods
2019-07-30 14:13:05 -07:00
Chris Robinson
ea76e003e7
Properly prefix ALCcontext members
2019-07-30 09:05:54 -07:00
Chris Robinson
4c9e18c5a0
Rename al/* sources to avoid camel-case
2019-07-29 17:54:07 -07:00