Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add an internal Super Stereo format | Chris Robinson | 2021-12-11 | 2 | -14/+7 |
| | | | | | | | It's not available as an AL buffer format (yet) since I'm not sure how to expose it. Internally it seems fine as a separate channel configuration, but because OpenAL combines the channel configuration and sample type, a flag may work better there. | ||||
* | Make the backend pointer part of ALCdevice instead of DeviceBase | Chris Robinson | 2021-11-19 | 1 | -2/+2 |
| | |||||
* | Update some in-progress extension types | Chris Robinson | 2021-11-10 | 1 | -2/+2 |
| | |||||
* | Avoid manually prefixing EventType_ enums | Chris Robinson | 2021-10-10 | 1 | -12/+12 |
| | | | | And use a better fitting type that matches how it's used | ||||
* | Make a construct_at method amd use it | Chris Robinson | 2021-10-08 | 6 | -6/+6 |
| | |||||
* | Silence some static analysis warnings | Chris Robinson | 2021-10-03 | 5 | -9/+11 |
| | |||||
* | Make simpler likely/unlikely functions and use them in some places | Chris Robinson | 2021-10-03 | 3 | -6/+6 |
| | |||||
* | Combine a couple similar switch blocks | Chris Robinson | 2021-07-17 | 1 | -77/+64 |
| | |||||
* | Read the channel format from the correct object | Chris Robinson | 2021-07-13 | 1 | -2/+2 |
| | |||||
* | Fix returned value for AL_AMBISONIC_SCALING_SOFT buffer queries | Chris Robinson | 2021-07-13 | 1 | -1/+1 |
| | |||||
* | Add a UHJ-specific coefficient scaling array | Chris Robinson | 2021-07-13 | 2 | -1/+2 |
| | |||||
* | Don't allocate full buffer lines in each voice | Chris Robinson | 2021-06-21 | 1 | -4/+10 |
| | | | | | | There's now effectively a 16-channel limit for buffers (as determined by the number of elements in DeviceBase::mSampleData). Any more than that are ignored when mixing. | ||||
* | Avoid mixing extraneous channels | Chris Robinson | 2021-06-21 | 1 | -2/+7 |
| | |||||
* | 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 |
| |