Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add back some more missing includes | Chris Robinson | 2021-04-27 | 6 | -0/+10 |
| | |||||
* | Rename alcontext.h and move some functions to context.cpp | Chris Robinson | 2021-04-27 | 11 | -11/+12 |
| | |||||
* | Rename alcmain.h to device.h | Chris Robinson | 2021-04-27 | 7 | -12/+12 |
| | |||||
* | Update include headers | Chris Robinson | 2021-04-27 | 27 | -49/+49 |
| | | | | Don't add alc/ to the include paths. | ||||
* | Move BufferStorage and Voice to core | Chris Robinson | 2021-04-27 | 4 | -5/+5 |
| | |||||
* | Move ContextBase and VoiceChange to core | Chris Robinson | 2021-04-27 | 2 | -2/+2 |
| | |||||
* | Partially implement an extension to hold sources on disconnect | Chris Robinson | 2021-04-26 | 2 | -20/+47 |
| | | | | | | | | Rather than stopping voices/sources when the device becomes disconnected, the context can be set to leave them alone. As a consequence, their state will remain as playing and they'll keep their last known sample offset indefinately. For applications mindful of this behavior, it will allow resetting or reopening the device to reconnect and automatically resume where it left off. | ||||
* | Move bformatdec to core | Chris Robinson | 2021-04-25 | 1 | -1/+1 |
| | |||||
* | Move async_event.h to core | Chris Robinson | 2021-04-25 | 1 | -8/+5 |
| | |||||
* | Move some functions to core | Chris Robinson | 2021-04-25 | 1 | -0/+3 |
| | | | | And clean up more includes | ||||
* | Create a base the ALCdevice and ALCcontext structs | Chris Robinson | 2021-04-24 | 5 | -61/+61 |
| | | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data. | ||||
* | Force an effect slot update when implicitly starting | Chris Robinson | 2021-04-19 | 1 | -0/+4 |
| | |||||
* | Don't flag the auxslot dirty when setting the current value | Chris Robinson | 2021-04-19 | 1 | -0/+14 |
| | |||||
* | Fix dirty flag check | Chris Robinson | 2021-04-18 | 1 | -1/+1 |
| | |||||
* | Restore missing AL_SOFT_source_length queries | Chris Robinson | 2021-04-15 | 1 | -0/+93 |
| | |||||
* | Make an inverted atomic flag type and use it | Chris Robinson | 2021-04-15 | 7 | -16/+18 |
| | | | | | | | | The inverted atomic flag replaces test_and_set+clear with test_and_clear+set, essentially inverting the flag status. This makes more logical sense for flagging dirty state, which is less confusing than flagging clean state. The one caveat is ATOMIC_FLAG_INIT (or default construction in C++20) initializes the state to true rather than false. | ||||
* | Fix inverted check for updating deferred effectslot properties | Chris Robinson | 2021-04-13 | 1 | -1/+1 |
| | |||||
* | Add support for 4-channel UHJ | Chris Robinson | 2021-03-31 | 3 | -13/+25 |
| | | | | Also add the SOFT moniker to the new macros | ||||
* | Handle 3-channel UHJ audio buffers | Chris Robinson | 2021-03-31 | 3 | -5/+15 |
| | |||||
* | Decode UHJ buffers to B-Format for mixing | Chris Robinson | 2021-03-31 | 2 | -7/+10 |
| | | | | | This should also have an adjustment for the shelf filter. Although it's not clear what the appropriate adjustments should be. | ||||
* | Start an interface for providing UHJ audio | Chris Robinson | 2021-03-31 | 2 | -1/+9 |
| | | | | Currently only 2-channel UHJ, which gets treated as stereo. | ||||
* | Combine some duplicate code | Chris Robinson | 2021-03-30 | 1 | -42/+1 |
| | |||||
* | Load/convert samples from all channels at once for mixing | Chris Robinson | 2021-03-19 | 1 | -7/+8 |
| | | | | | | | This uses a bit more memory (each voice needs to hold buffers for the deinterleaved samples of each channel, instead of just one buffer for the current channel being mixed on the device), but it will allow for handling formats that need or prefer their channels decoded together. | ||||
* | Workaround mingw complaining about the %z formatter | Chris Robinson | 2021-03-12 | 2 | -0/+8 |
| | |||||
* | Use the correct lock when allocating filters | Chris Robinson | 2021-03-02 | 1 | -1/+1 |
| | |||||
* | Add a alSourceQueueBufferLayersSOFT stub | Chris Robinson | 2021-02-04 | 1 | -0/+11 |
| | | | | For compatiblity with apps that may have directly linked to it on accident. | ||||
* | Make sure InitVoice is given a valid buffer queue item | Chris Robinson | 2021-01-26 | 1 | -2/+2 |
| | |||||
* | Move al::deque to a common header | Chris Robinson | 2021-01-25 | 1 | -7/+1 |
| | |||||
* | Use an AL-specific buffer queue item struct for sources | Chris Robinson | 2021-01-25 | 2 | -38/+39 |
| | |||||
* | Use a deque for the source buffer queue | Chris Robinson | 2021-01-25 | 2 | -149/+121 |
| | | | | | | This mainly avoids having to allocate ~64-byte structures individually. The mixing voice still holds the queue as a linked list so as to be container- agnostic. | ||||
* | Store the callback in the buffer list item | Chris Robinson | 2021-01-24 | 1 | -1/+3 |
| | |||||
* | Store buffer info in the queue entry | Chris Robinson | 2021-01-24 | 3 | -5/+22 |
| | |||||
* | Set the correct default buffer bits/format | Chris Robinson | 2021-01-22 | 1 | -1/+1 |
| | |||||
* | Make PopCount and CountTrailingZeros more standard-like | Chris Robinson | 2021-01-22 | 5 | -16/+21 |
| | |||||
* | Avoid global constexpr arrays | Chris Robinson | 2021-01-21 | 1 | -2/+2 |
| | |||||
* | Remove constexpr from a function | Chris Robinson | 2021-01-17 | 1 | -6/+1 |
| | | | | | Various versions of GCC have a problem with it, and it doesn't really add much benefit anyway. | ||||
* | Move cpu_caps and fpu_ctrl to core | Chris Robinson | 2020-12-31 | 1 | -1/+1 |
| | |||||
* | Avoid ugly reinterpret_casts with offsetof | Chris Robinson | 2020-12-29 | 1 | -6/+12 |
| | |||||
* | Combine multiple functions into one | Chris Robinson | 2020-12-28 | 2 | -34/+23 |
| | |||||
* | Return an intrusive_ptr from EffectStateFactory::create | Chris Robinson | 2020-12-28 | 1 | -2/+1 |
| | |||||
* | Workaround a GCC 5 constexpr function bug | Chris Robinson | 2020-12-28 | 1 | -0/+5 |
| | |||||
* | Avoid including voice.h in alcontext.h | Chris Robinson | 2020-12-27 | 2 | -0/+2 |
| | |||||
* | Use a uint for a bitfield | Chris Robinson | 2020-12-27 | 1 | -4/+4 |
| | |||||
* | Move the WetBuffer reference to EffectSlot | Chris Robinson | 2020-12-27 | 2 | -6/+1 |
| | |||||
* | Combine EffectState::deviceUpdate with setBuffer | Chris Robinson | 2020-12-26 | 1 | -4/+2 |
| | |||||
* | Avoid AL enums for the EffectSlot type | Chris Robinson | 2020-12-26 | 4 | -46/+87 |
| | |||||
* | Add a crossover frequency field for the device | Chris Robinson | 2020-12-26 | 1 | -1/+1 |
| | | | | | | Used when upsampling low-order ambisonic signals to higher order. Rather than a hardcoded 400hz, it ensures a consistent crossover point when an ambdec configuration is used. It can also allow for an alsoft config option. | ||||
* | Avoid AL types and enums in the effect processors | Chris Robinson | 2020-12-24 | 5 | -61/+244 |
| | |||||
* | Move alexcpt to core | Chris Robinson | 2020-12-24 | 11 | -11/+11 |
| | |||||
* | Move the AL error enum out of base_exception | Chris Robinson | 2020-12-17 | 3 | -2/+9 |
| |