Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Restructure some voice fields | Chris Robinson | 2019-05-17 | 1 | -9/+4 |
| | |||||
* | Catch exceptions from backend reset | Chris Robinson | 2019-05-04 | 1 | -1/+7 |
| | |||||
* | Add an exception class to cover backend creation and opening | Chris Robinson | 2019-05-04 | 1 | -35/+41 |
| | |||||
* | Report the threshold limit for the output limiter | Chris Robinson | 2019-05-04 | 1 | -3/+6 |
| | |||||
* | Scale the update size with sample rate changes | Chris Robinson | 2019-04-26 | 1 | -5/+3 |
| | |||||
* | Specify the buffer size as itself instead of the period count | Chris Robinson | 2019-04-26 | 1 | -22/+25 |
| | | | | | | | Certain backends don't need a buffer size to be a strict multiple of the period count, which allows a little more flexibility. The period/update size simply acts as the minimum request, which helps control CPU load by determining how often parameter and other pre-mixing updates are processed. | ||||
* | Open the playback device earlier | Chris Robinson | 2019-04-20 | 1 | -18/+20 |
| | | | | | | | | | | So we actually have a device name to get the initial settings for. Be aware that some backends set a format when opening instead of on reset, so such devices will only set the default format (it can't get a desired format without the device name, but the format will already be set once that's known). The affected backends are WinMM, SDL2, and PortAudio (none of which are generally used). This could be fixed by reopening the device during reset, but it would need to be done carefully. | ||||
* | Remove the SZFMT macro | Chris Robinson | 2019-04-11 | 1 | -12/+12 |
| | | | | C++11 mandates the %zu/d formatter | ||||
* | Simplify sorting and initializing the backends | Chris Robinson | 2019-04-11 | 1 | -58/+42 |
| | |||||
* | Add macros to stop exceptions from leaving API functions | Chris Robinson | 2019-04-09 | 1 | -6/+62 |
| | | | | | | | | Effectively makes the functions act as noexcept, since there's no meaningful reason to propogate exceptions from "C" functions. Currently only applied to ALC functions, but can incrementally be applied to AL functions too. In the future, this could also handle ALC and AL errors with unique exception types (functions that utilize this behavior would need to ensure proper cleanup). | ||||
* | Change RealMixParams::ChannelName to better reflect its use | Chris Robinson | 2019-04-02 | 1 | -68/+66 |
| | |||||
* | Spread out the ALC extensions like the AL extensions | Chris Robinson | 2019-04-01 | 1 | -6/+17 |
| | |||||
* | Avoid multiple using statements for the same things | Chris Robinson | 2019-04-01 | 1 | -9/+3 |
| | |||||
* | Copy the voice's ambisonic upsampler state when reallocating | Chris Robinson | 2019-04-01 | 1 | -0/+8 |
| | |||||
* | Remove a couple unused member variables | Chris Robinson | 2019-03-30 | 1 | -2/+0 |
| | |||||
* | Don't stop the backend if it's not running | Chris Robinson | 2019-03-30 | 1 | -1/+1 |
| | |||||
* | Remove a couple unnecessary duration_casts | Chris Robinson | 2019-03-26 | 1 | -9/+8 |
| | |||||
* | Mark the device and context deletes as unlikely | Chris Robinson | 2019-03-24 | 1 | -2/+2 |
| | |||||
* | Use a sorted vector for looking up contexts | Chris Robinson | 2019-03-19 | 1 | -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 list | Chris Robinson | 2019-03-19 | 1 | -62/+35 |
| | |||||
* | Rename DevProbe enum names | Chris Robinson | 2019-03-19 | 1 | -2/+2 |
| | |||||
* | Rename ALvoice fields for consistency | Chris Robinson | 2019-03-10 | 1 | -31/+30 |
| | |||||
* | Don't directly use a buffer for updating source parameters | Chris Robinson | 2019-03-10 | 1 | -0/+2 |
| | |||||
* | Add a Stopping state for voices | Chris Robinson | 2019-03-09 | 1 | -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-processes | Chris Robinson | 2019-02-22 | 1 | -16/+4 |
| | |||||
* | Allow processing some effects in higher order ambisonics | Chris Robinson | 2019-02-21 | 1 | -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 64 | Chris Robinson | 2019-02-20 | 1 | -13/+24 |
| | | | | | Now that their wet buffers are allocated dynamically, the ALeffectslot object itself is rather small. | ||||
* | Allocate the effect slot wet buffer dynamically | Chris Robinson | 2019-02-20 | 1 | -2/+5 |
| | |||||
* | Use relaxed memory ordering for initializing atomic_flags | Chris Robinson | 2019-02-04 | 1 | -1/+1 |
| | |||||
* | Fix compiling problems on VS2019 with vc142 toolset | Minmin Gong | 2019-02-04 | 1 | -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 allocated | Chris Robinson | 2019-01-26 | 1 | -16/+19 |
| | |||||
* | Make IncRef and DecRef member functions | Chris Robinson | 2019-01-24 | 1 | -3/+3 |
| | |||||
* | Clean up the NFC filters a bit | Chris Robinson | 2019-01-23 | 1 | -1/+1 |
| | |||||
* | Use a flexible array for DirectHrtfState and ALvoice | Chris Robinson | 2019-01-12 | 1 | -6/+6 |
| | |||||
* | Use a flexible array for the active effect slots | Chris Robinson | 2019-01-11 | 1 | -7/+3 |
| | |||||
* | Use a vector for ALeffectslotArray | Chris Robinson | 2019-01-09 | 1 | -13/+7 |
| | |||||
* | Change a true/false ALenum atomic into a bool | Chris Robinson | 2019-01-09 | 1 | -2/+2 |
| | |||||
* | Avoid using old style casts | Filip Gawin | 2019-01-08 | 1 | -11/+11 |
| | | | | | | To think about: examples/alffplay.cpp:600 OpenAL32/Include/alMain.h:295 | ||||
* | Use user-defined literals for 64-bit literals | Chris Robinson | 2019-01-07 | 1 | -1/+1 |
| | |||||
* | Use DeviceRef and ContextRef when creating a new device and context | Chris Robinson | 2019-01-01 | 1 | -29/+22 |
| | |||||
* | Rename ALCdevice_struct and ALCcontext_struct | Chris Robinson | 2019-01-01 | 1 | -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 lock | Chris Robinson | 2019-01-01 | 1 | -22/+19 |
| | |||||
* | Add and use a make_unique function | Chris Robinson | 2019-01-01 | 1 | -4/+4 |
| | |||||
* | Use an atomic bool on things that only take true or false | Chris Robinson | 2018-12-30 | 1 | -1/+1 |
| | |||||
* | Rename BackendLock to StateLock | Chris Robinson | 2018-12-30 | 1 | -37/+27 |
| | |||||
* | Don't bother with an explicit Loopback backend type | Chris Robinson | 2018-12-29 | 1 | -1/+1 |
| | |||||
* | Return a unique_ptr for the backend | Chris Robinson | 2018-12-29 | 1 | -2/+1 |
| | |||||
* | Make the backend type an enum class | Chris Robinson | 2018-12-29 | 1 | -7/+8 |
| | |||||
* | Convert the backends to use proper inheritence | Chris Robinson | 2018-12-28 | 1 | -30/+31 |
| | |||||
* | Return unique_ptrs instead of raw pointers | Chris Robinson | 2018-12-27 | 1 | -1/+1 |
| | | | | For the ring buffer, channel converter, and sample converter. |