Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use a unique_ptr to hold raw byte memory | Chris Robinson | 2021-06-21 | 1 | -2/+4 |
| | |||||
* | Fix getting of device channel count in CoreAudio backend | alexey.lysiuk | 2021-06-21 | 1 | -3/+1 |
| | | | | | | | AudioBufferList contains a variable length array of mNumberBuffers elements, so it should not be created with the default constructor like usual class instances. Unfortunately, Apple developer site documentation is literally empty for this API. There is a bunch of comments in framework's header files. Here is the correct usage of AudioBufferList pointer from Chromium: https://chromium.googlesource.com/chromium/src/media/+/008a1abc573e1f8bcf513b50ce48a923b30ef130/audio/mac/audio_manager_mac.cc#266 There were occasional crashes because of memory corruption which was confirmed by address sanitizer | ||||
* | Fix some size types | Chris Robinson | 2021-06-18 | 1 | -2/+2 |
| | |||||
* | Initial attempt at CoreAudio playback enumeration | Chris Robinson | 2021-06-18 | 1 | -14/+253 |
| | |||||
* | Use a unique_ptr to auto-free the jack ports list | Chris Robinson | 2021-06-12 | 1 | -20/+24 |
| | |||||
* | Set the JACK output ports as terminal | Chris Robinson | 2021-06-12 | 1 | -1/+1 |
| | | | | Since there are no input ports associated with the output. | ||||
* | Give a name to a lambda | Chris Robinson | 2021-06-11 | 1 | -7/+7 |
| | |||||
* | Improve name duplication handling with JACK | Chris Robinson | 2021-06-10 | 1 | -26/+63 |
| | | | | | If a custom device pattern matches an existing one, its name will be replaced. A separate loop is used to check and handle duplicate display names. | ||||
* | Add an option to mix directly in the JACK callback | Chris Robinson | 2021-06-08 | 2 | -69/+144 |
| | |||||
* | Handle the listener position separate from the rotation matrix | Chris Robinson | 2021-05-25 | 2 | -12/+10 |
| | | | | | | It's too unstable with larger vectors. Even when the source and listener positions are the same, floating point precision can cause noticeable rounding errors. | ||||
* | Fix setting the channel distance compensation buffers | Chris Robinson | 2021-05-20 | 1 | -3/+3 |
| | |||||
* | Handle tvOS case | HALX99 | 2021-05-13 | 1 | -3/+3 |
| | |||||
* | Add back a missing include | Chris Robinson | 2021-04-27 | 1 | -0/+1 |
| | |||||
* | Rename alcontext.h and move some functions to context.cpp | Chris Robinson | 2021-04-27 | 5 | -452/+470 |
| | |||||
* | Move some functions to a more appropriate place | Chris Robinson | 2021-04-27 | 2 | -49/+72 |
| | |||||
* | Rename alcmain.h to device.h | Chris Robinson | 2021-04-27 | 8 | -31/+16 |
| | |||||
* | Update include headers | Chris Robinson | 2021-04-27 | 45 | -101/+97 |
| | | | | Don't add alc/ to the include paths. | ||||
* | Update some license notices | Chris Robinson | 2021-04-27 | 2 | -28/+52 |
| | | | | Permission to relicense was granted via email. | ||||
* | Update includes | Chris Robinson | 2021-04-27 | 11 | -15/+18 |
| | |||||
* | Move BufferStorage and Voice to core | Chris Robinson | 2021-04-27 | 7 | -1260/+4 |
| | |||||
* | Move ContextBase and VoiceChange to core | Chris Robinson | 2021-04-27 | 7 | -190/+16 |
| | |||||
* | Partially implement an extension to hold sources on disconnect | Chris Robinson | 2021-04-26 | 5 | -1/+22 |
| | | | | | | | | 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 GetChannelIdxByName and clean up some more includes | Chris Robinson | 2021-04-26 | 9 | -54/+47 |
| | |||||
* | Move bformatdec to core | Chris Robinson | 2021-04-25 | 6 | -376/+6 |
| | |||||
* | Move async_event.h to core | Chris Robinson | 2021-04-25 | 4 | -54/+22 |
| | |||||
* | Move some functions to core | Chris Robinson | 2021-04-25 | 19 | -289/+242 |
| | | | | And clean up more includes | ||||
* | More include cleanup | Chris Robinson | 2021-04-24 | 4 | -9/+10 |
| | |||||
* | Move GetHFOrderScales to a more appropriate place | Chris Robinson | 2021-04-24 | 5 | -43/+4 |
| | |||||
* | Don't bother with al string types | Chris Robinson | 2021-04-24 | 1 | -3/+3 |
| | |||||
* | Update some includes | Chris Robinson | 2021-04-24 | 2 | -6/+10 |
| | |||||
* | Move the DeviceBase declaraction to core | Chris Robinson | 2021-04-24 | 2 | -251/+6 |
| | |||||
* | Use the DeviceBase for the backend | Chris Robinson | 2021-04-24 | 35 | -69/+69 |
| | |||||
* | Create a base the ALCdevice and ALCcontext structs | Chris Robinson | 2021-04-24 | 22 | -263/+298 |
| | | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data. | ||||
* | Move some more sources to core | Chris Robinson | 2021-04-24 | 5 | -469/+2 |
| | |||||
* | Use the root mean square for the HRTF B-Format HF scale | Chris Robinson | 2021-04-24 | 1 | -1/+3 |
| | | | | | | | | For the second-order decoder. Since the delays are adjusted to avoid most high frequency phase cancelation, the energy-based scaling with the number of channels used creates a significant HF increase. Using the RMS-based scaling seems to create a more level response, though it's not perfect either. More testing and measurements may be needed. | ||||
* | Move hrtf.cpp/h to core | Chris Robinson | 2021-04-22 | 7 | -1564/+5 |
| | |||||
* | Avoid using config methods in hrtf.cpp | Chris Robinson | 2021-04-22 | 5 | -40/+46 |
| | |||||
* | Move helpers.cpp to core | Chris Robinson | 2021-04-22 | 17 | -561/+15 |
| | |||||
* | Move declarations to a more appropriate header | Chris Robinson | 2021-04-22 | 10 | -14/+22 |
| | |||||
* | Print an error when starting the backend fails | Chris Robinson | 2021-04-20 | 1 | -0/+4 |
| | |||||
* | Lower RLIMIT_RTTIME to allow RTKit to give RT priority | Chris Robinson | 2021-04-20 | 3 | -12/+60 |
| | |||||
* | Fill the PulseAudio buffer before uncorking playback | Chris Robinson | 2021-04-19 | 1 | -14/+14 |
| | |||||
* | Optionally use RTKit/D-Bus to set elevated priority | Chris Robinson | 2021-04-18 | 1 | -17/+60 |
| | | | | If pthread_setschedparam fails or is unavailable. | ||||
* | Make an inverted atomic flag type and use it | Chris Robinson | 2021-04-15 | 2 | -7/+7 |
| | | | | | | | | 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. | ||||
* | Use per-HRIR delay alignment for B-Format-to-HRTF | Chris Robinson | 2021-04-09 | 1 | -6/+11 |
| | | | | | | | | | | | | | For HOA signals, the number of responses used with slightly varying delays causes noticeable attenuation in the higher frequencies because of destructive phase interference. This is not a result of minimum phase alignment (attempts to compensate for minimum phase had negligible results), nor does it affect first-order signals (which only has 4 unique responses on each side). This alternate alignment is only used when doing second-order rendering for HRTF output, which is not the default with HRTF. It's likely not very ideal, but it's necessary to prevent second-order rendering with HRTF from sounding muffled. | ||||
* | Log the reset exception error | Chris Robinson | 2021-04-07 | 1 | -0/+1 |
| | |||||
* | Advertise the in-progress AL_SOFT_UHJ extension | Chris Robinson | 2021-04-01 | 1 | -1/+12 |
| | |||||
* | Rename Uhj2Encoder to UhjEncoder | Chris Robinson | 2021-04-01 | 4 | -7/+7 |
| | |||||
* | Avoid passing an array of pointers | Chris Robinson | 2021-04-01 | 1 | -7/+1 |
| | |||||
* | Add support for 4-channel UHJ | Chris Robinson | 2021-03-31 | 6 | -14/+27 |
| | | | | Also add the SOFT moniker to the new macros |