aboutsummaryrefslogtreecommitdiffstats
path: root/alc/alc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add wrapper methods for getting device config valuesChris Robinson2021-06-231-23/+19
|
* Allow querying ALC_ALL_DEVICES_SPECIFIER from loopback devicesChris Robinson2021-06-221-1/+3
| | | | | They only return the default/driver name, since loopback devices don't have a canonical name.
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-271-431/+57
|
* Move some functions to a more appropriate placeChris Robinson2021-04-271-49/+0
|
* Rename alcmain.h to device.hChris Robinson2021-04-271-1/+1
|
* Move BufferStorage and Voice to coreChris Robinson2021-04-271-1/+1
|
* Move ContextBase and VoiceChange to coreChris Robinson2021-04-271-1/+1
|
* Partially implement an extension to hold sources on disconnectChris Robinson2021-04-261-0/+5
| | | | | | | | 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 coreChris Robinson2021-04-251-2/+2
|
* Move async_event.h to coreChris Robinson2021-04-251-1/+1
|
* More include cleanupChris Robinson2021-04-241-1/+1
|
* Don't bother with al string typesChris Robinson2021-04-241-3/+3
|
* Move the DeviceBase declaraction to coreChris Robinson2021-04-241-11/+5
|
* Create a base the ALCdevice and ALCcontext structsChris Robinson2021-04-241-43/+56
| | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data.
* Move hrtf.cpp/h to coreChris Robinson2021-04-221-1/+1
|
* Avoid using config methods in hrtf.cppChris Robinson2021-04-221-9/+22
|
* Move helpers.cpp to coreChris Robinson2021-04-221-1/+1
|
* Move declarations to a more appropriate headerChris Robinson2021-04-221-6/+0
|
* Print an error when starting the backend failsChris Robinson2021-04-201-0/+4
|
* Lower RLIMIT_RTTIME to allow RTKit to give RT priorityChris Robinson2021-04-201-0/+5
|
* Make an inverted atomic flag type and use itChris Robinson2021-04-151-6/+6
| | | | | | | | 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.
* Log the reset exception errorChris Robinson2021-04-071-0/+1
|
* Advertise the in-progress AL_SOFT_UHJ extensionChris Robinson2021-04-011-1/+12
|
* Rename Uhj2Encoder to UhjEncoderChris Robinson2021-04-011-3/+3
|
* Combine some duplicate codeChris Robinson2021-03-301-48/+1
|
* Move the UHJ phase shifter to a common headerChris Robinson2021-03-281-1/+1
|
* Load/convert samples from all channels at once for mixingChris Robinson2021-03-191-3/+5
| | | | | | | 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.
* Avoid shadowing variable namesChris Robinson2021-03-111-6/+6
|
* Declare the attribute counts closer to where they areChris Robinson2021-03-101-25/+30
|
* Prevent querying the capture device name from a playback deviceChris Robinson2021-03-091-3/+16
| | | | And vice-versa.
* Don't verify and hold a device reference in alcRenderSamplesSOFTChris Robinson2021-03-091-5/+4
| | | | | | | | | | | | NULL devices are still checked, but invalid non-NULL device handles will invoke undefined behavior, as will attempting to close the device while the function is being executed (modifying the device state while the function is being called was inadvertently already UB, and will now remain so). This change is solely so alcRenderSamplesSOFT can be used in a buffer callback, and other places that need functions to be real-time safe. The verification requires locking to access the device list, which isn't allowed in a real-time callback.
* Add a function/extension to reopen a playback deviceChris Robinson2021-03-091-25/+102
|
* Export EFX functions from the routerChris Robinson2021-01-271-0/+11
|
* Ignore SI-style configuration strings for device namesChris Robinson2021-01-271-0/+5
|
* Store buffer info in the queue entryChris Robinson2021-01-241-2/+7
|
* Make PopCount and CountTrailingZeros more standard-likeChris Robinson2021-01-221-7/+8
|
* Use a standard bitset for bitfield flagsChris Robinson2021-01-221-39/+41
|
* Avoid global constexpr arraysChris Robinson2021-01-211-2/+2
|
* Move cpu_caps and fpu_ctrl to coreChris Robinson2020-12-311-2/+2
|
* Combine multiple functions into oneChris Robinson2020-12-281-8/+2
|
* Use a unique_ptr to hold DistanceComp dataChris Robinson2020-12-271-1/+1
|
* Move the WetBuffer reference to EffectSlotChris Robinson2020-12-271-3/+3
|
* Combine EffectState::deviceUpdate with setBufferChris Robinson2020-12-261-6/+2
|
* Add a crossover frequency field for the deviceChris Robinson2020-12-261-1/+2
| | | | | | 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.
* Use more constexpr variables instead of macrosChris Robinson2020-12-251-1/+1
|
* Move alexcpt to coreChris Robinson2020-12-241-1/+1
|
* Avoid some more AL typesChris Robinson2020-12-241-39/+39
|
* Avoid AL/ALC types in the backendsChris Robinson2020-12-171-3/+3
|
* Don't use ALC error enums for the backend error codeChris Robinson2020-12-171-4/+7
|
* Don't return an enum from captureSamplesChris Robinson2020-12-171-4/+2
| | | | It's always no_error