aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/alc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Change RealMixParams::ChannelName to better reflect its useChris Robinson2019-04-021-68/+66
|
* Spread out the ALC extensions like the AL extensionsChris Robinson2019-04-011-6/+17
|
* Avoid multiple using statements for the same thingsChris Robinson2019-04-011-9/+3
|
* Copy the voice's ambisonic upsampler state when reallocatingChris Robinson2019-04-011-0/+8
|
* Remove a couple unused member variablesChris Robinson2019-03-301-2/+0
|
* Don't stop the backend if it's not runningChris Robinson2019-03-301-1/+1
|
* Remove a couple unnecessary duration_castsChris Robinson2019-03-261-9/+8
|
* Mark the device and context deletes as unlikelyChris Robinson2019-03-241-2/+2
|
* Use a sorted vector for looking up contextsChris Robinson2019-03-191-38/+52
| | | | | Note that the device still holds and uses a linked list of its contexts. The sorted vector is used to verify handles given by callers.
* Use a sorted vector for devices instead of a linked listChris Robinson2019-03-191-62/+35
|
* Rename DevProbe enum namesChris Robinson2019-03-191-2/+2
|
* Rename ALvoice fields for consistencyChris Robinson2019-03-101-31/+30
|
* Don't directly use a buffer for updating source parametersChris Robinson2019-03-101-0/+2
|
* Add a Stopping state for voicesChris Robinson2019-03-091-3/+7
| | | | | | This currently doesn't do much, except have the mixer progress it to Stopped. It's valid to have without a source or buffers, and in the future will allow fading out when a source is paused or stopped.
* Remove the FOAOut mixing buffer and associated post-processesChris Robinson2019-02-221-16/+4
|
* Allow processing some effects in higher order ambisonicsChris Robinson2019-02-211-3/+3
| | | | | | Reverb notably is still only first-order (any higher order channels are dropped, and it writes to FOAOut). But others, like the equalizer, work on all available channels.
* Store effect slots in groups of 64Chris Robinson2019-02-201-13/+24
| | | | | Now that their wet buffers are allocated dynamically, the ALeffectslot object itself is rather small.
* Allocate the effect slot wet buffer dynamicallyChris Robinson2019-02-201-2/+5
|
* Use relaxed memory ordering for initializing atomic_flagsChris Robinson2019-02-041-1/+1
|
* Fix compiling problems on VS2019 with vc142 toolsetMinmin Gong2019-02-041-0/+1
| | | | Msvc142 in VS2019 preview 2 doesn't allow std::atomic_flag to be initialized by a bool. Call test_and_set in the constructors instead.
* Don't try to clean up the async ringbuffer if it isn't allocatedChris Robinson2019-01-261-16/+19
|
* Make IncRef and DecRef member functionsChris Robinson2019-01-241-3/+3
|
* Clean up the NFC filters a bitChris Robinson2019-01-231-1/+1
|
* Use a flexible array for DirectHrtfState and ALvoiceChris Robinson2019-01-121-6/+6
|
* Use a flexible array for the active effect slotsChris Robinson2019-01-111-7/+3
|
* Use a vector for ALeffectslotArrayChris Robinson2019-01-091-13/+7
|
* Change a true/false ALenum atomic into a boolChris Robinson2019-01-091-2/+2
|
* Avoid using old style castsFilip Gawin2019-01-081-11/+11
| | | | | | To think about: examples/alffplay.cpp:600 OpenAL32/Include/alMain.h:295
* Use user-defined literals for 64-bit literalsChris Robinson2019-01-071-1/+1
|
* Use DeviceRef and ContextRef when creating a new device and contextChris Robinson2019-01-011-29/+22
|
* Rename ALCdevice_struct and ALCcontext_structChris Robinson2019-01-011-8/+6
| | | | | | | | | | | A (possibly contentious?) change in the public headers. Those names were never part of any specification, and I don't know why the struct names differed from the actual type name. But with C++, which takes the original struct declaration as the original name, it was affecting the type's internal symbols. This shouldn't affect user code since ALCdevice_struct and ALCcontext_struct were never part of the spec. If issues arise from this change, it should be reported.
* Use standard unique_lock and lock_guard for the backend lockChris Robinson2019-01-011-22/+19
|
* Add and use a make_unique functionChris Robinson2019-01-011-4/+4
|
* Use an atomic bool on things that only take true or falseChris Robinson2018-12-301-1/+1
|
* Rename BackendLock to StateLockChris Robinson2018-12-301-37/+27
|
* Don't bother with an explicit Loopback backend typeChris Robinson2018-12-291-1/+1
|
* Return a unique_ptr for the backendChris Robinson2018-12-291-2/+1
|
* Make the backend type an enum classChris Robinson2018-12-291-7/+8
|
* Convert the backends to use proper inheritenceChris Robinson2018-12-281-30/+31
|
* Return unique_ptrs instead of raw pointersChris Robinson2018-12-271-1/+1
| | | | For the ring buffer, channel converter, and sample converter.
* Use a unique_ptr for the AsyncEvents ringbufferChris Robinson2018-12-271-4/+1
|
* Recognize ambix as an alias for acn+sn3dChris Robinson2018-12-271-1/+1
|
* Clean up the ring buffer struct and use member functionsChris Robinson2018-12-261-1/+1
|
* Construct AsyncEvent objects directly in the ringbufferChris Robinson2018-12-251-0/+19
|
* Remove extraneous typedef, struct, and enum keywordsChris Robinson2018-12-241-17/+16
|
* Add an in-progress extension to set the effect slot targetChris Robinson2018-12-241-0/+1
|
* Make the Compressor more class-likeChris Robinson2018-12-241-6/+5
|
* Only check ambisonic attributes with B-Format outputChris Robinson2018-12-241-11/+14
|
* Dynamically sort the effect slots when mixingChris Robinson2018-12-221-2/+6
| | | | | | | | | This is to be able to support effects that output to other effects. When an effect outputs to another effect, the former needs to process first, so the former mixes to the latter's buffer before the latter is processed. This sorting needs to happen in the mixer because the effect slot's "Target" property changes asynchronously.
* Use a normal delete instead of ll_ringbuffer_freeChris Robinson2018-12-221-1/+1
| | | | And use RingBufferPtr in more places