Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Wait for the OpenSL buffer queue to empty when stopping | Chris Robinson | 2015-08-13 | 1 | -1/+10 |
| | |||||
* | Check for pthread_*_np functions in pthread_np.h when it exists | Chris Robinson | 2015-08-13 | 1 | -4/+10 |
| | |||||
* | Merge pull request #15 from aaronmjacobs/master | kcat | 2015-08-12 | 1 | -31/+40 |
|\ | | | | | Make installation of headers and libraries optional | ||||
| * | Make installation of headers and libraries optional | Aaron Jacobs | 2015-08-12 | 1 | -31/+40 |
|/ | |||||
* | Allow specifying ALC_DONT_CARE_SOFT for ALC_HRTF_SOFT | Chris Robinson | 2015-07-06 | 2 | -18/+31 |
| | | | | | ALC_FALSE now indicates explicitly no HRTF mixing, while ALC_DONT_CARE_SOFT is autodetect. | ||||
* | Change source radius behavior | Chris Robinson | 2015-07-05 | 1 | -19/+33 |
| | | | | | | | | | For sources with a non-0 radius: When distance <= radius, factor = distance/radius*0.5 When distance > radius, factor = 1 - asinf(radius/distance)/PI Also, avoid using Position after calculating the localized direction and distance. | ||||
* | Update a couple comments | Chris Robinson | 2015-07-04 | 3 | -8/+6 |
| | |||||
* | Check for duplicate device names in the mmdevapi backend | Chris Robinson | 2015-06-30 | 1 | -1/+27 |
| | |||||
* | Use the lockless ringbuffer for mmdevapi capture | Chris Robinson | 2015-06-30 | 1 | -8/+9 |
| | | | | | The backend's capture funcs are already called while under a lock, so multiple threads shouldn't be able to read from it at once. | ||||
* | Double check the mmdevapi capture format | Chris Robinson | 2015-06-07 | 1 | -1/+23 |
| | | | | | This isn't a real solution, but it should get IAudioClient_IsFormatSupported to stop failing. | ||||
* | Don't define struct timespec with VS2015 | Chris Robinson | 2015-06-07 | 1 | -1/+1 |
| | |||||
* | Check for snprintf in stdio.h | Chris Robinson | 2015-06-07 | 1 | -1/+1 |
| | | | | This works better for VS2015, which adds support for the function. | ||||
* | Add a macro to simplify allocating and constructing an object | Chris Robinson | 2015-05-18 | 12 | -117/+29 |
| | |||||
* | Convert the solaris backend to the new API | Chris Robinson | 2015-05-17 | 4 | -81/+135 |
| | |||||
* | Add a method to reset the device | Chris Robinson | 2015-05-16 | 2 | -0/+42 |
| | | | | | | | This basically acts as if the app created a new context with the specified attributes (causing the device to reset with new parameters), then immediately delete it. Existing contexts remain undisturbed, except for a temporary pause while the device output is reconfigured. | ||||
* | Add a few more HRTF status values | Chris Robinson | 2015-05-16 | 2 | -4/+23 |
| | | | | | | | | | DISABLED - Generic disabled status ENABLED - Generic enabled status DENIED - Not allowed (user has configured HRTF to be off) REQUIRED - Forced (user has forced HRTF to be used) HEADPHONES_DETECTED - Enabled because headphones were detected UNSUPPORTED_FORMAT - Device format is not compatible with available filters | ||||
* | Add an HRTF status query | Chris Robinson | 2015-05-15 | 2 | -4/+28 |
| | | | | | This can report the status of HRTF, specifying if it's enabled or not and why (currently only reports unsupported formats, but this may be extended). | ||||
* | Merge pull request #11 from alexxvk/master | kcat | 2015-05-03 | 1 | -0/+1 |
|\ | | | | | Fix mingw build | ||||
| * | Fix mingw64 build | alexxvk | 2015-05-02 | 1 | -0/+1 |
|/ | |||||
* | Fix EFX_REVERB_PRESET_DRIVING_COMMENTATOR | Chris Robinson | 2015-04-04 | 1 | -1/+1 |
| | |||||
* | Fix static_assert when __COUNTER__ isn't available | Chris Robinson | 2015-03-02 | 1 | -1/+3 |
| | |||||
* | Don't assert the increment value in the copy32 resampler | Chris Robinson | 2015-02-15 | 1 | -2/+1 |
| | |||||
* | Fix the HRTF B-Format decoder's W coefficient | Chris Robinson | 2015-02-14 | 1 | -18/+5 |
| | | | | | And limit it to first-order again, since there will likely need to be extra scalings applied. | ||||
* | Cheange some more unnecessarily small coefficients to 0 | Chris Robinson | 2015-02-11 | 1 | -6/+6 |
| | |||||
* | Add an option for "basic" HRTF rendering | Chris Robinson | 2015-02-11 | 3 | -9/+36 |
| | | | | | | | | | | | | | | | | | This method is intended to help development by easily testing the quality of the B-Format encode and B-Format-to-HRTF decode. When used with HRTF, all sources are renderer using the virtual B-Format output, rather than just B-Format sources. Despite the CPU cost savings (only four channels need to be filtered with HRTF, while sources all render normally), the spatial acuity offered by the B-Format output is pretty poor since it's only first-order ambisonics, so "full" HRTF rendering is definitely preferred. It's /possible/ for some systems to be edge cases that prefer the CPU cost savings provided by basic over the sharper localization provided by full, and you do still get 3D positional cues, but this is unlikely to be an actual use- case in practice. | ||||
* | Calculate HRTF coefficients for all B-Format channels at once | Chris Robinson | 2015-02-10 | 3 | -34/+72 |
| | | | | | | It's possible to calculate HRTF coefficients for full third-order ambisonics now, but it's still not possible to use them here without upmixing first-order content. | ||||
* | Use a single statement to declare the buffer format channel maps | Chris Robinson | 2015-02-10 | 1 | -14/+9 |
| | |||||
* | Pass the (FuMa) channel number to GetBFormatHrtfCoeffs | Chris Robinson | 2015-02-10 | 3 | -10/+10 |
| | |||||
* | Correct conversion from polar to cartesian coords for HRTF | Chris Robinson | 2015-02-10 | 1 | -3/+3 |
| | | | | | A functional no-op (cos(a) == cos(-a), -sin(a) == sin(-a)), but Ambisonics expects the azimuth angle to go counter-clockwise. | ||||
* | Use B-Format for HRTF's virtual output format | Chris Robinson | 2015-02-09 | 4 | -33/+97 |
| | | | | | | | | This adds the ability to directly decode B-Format with HRTF, though only first- order (WXYZ) for now. Second- and third-order would be easilly doable, however we'd need to be able to up-mix first-order content (from the BFORMAT2D and BFORMAT3D buffer formats) since it would be inappropriate to decode lower-order content with a higher-order decoder. | ||||
* | Properly handle a mono output buffer with the MIDI synths | Chris Robinson | 2015-02-09 | 5 | -17/+19 |
| | |||||
* | Add a comment detailing how the HRTF channel buffer is set up | Chris Robinson | 2015-02-09 | 1 | -19/+45 |
| | |||||
* | Make sure the BS2B filter is freed if HRTF is enabled | Chris Robinson | 2015-02-09 | 1 | -0/+4 |
| | |||||
* | Move HRTF params and state closer together | Chris Robinson | 2015-02-09 | 4 | -18/+18 |
| | |||||
* | Add a note to the JACK backend about a (minor) race condition | Chris Robinson | 2015-02-07 | 1 | -0/+14 |
| | |||||
* | Fix some ringbuffer function comments | Chris Robinson | 2015-02-07 | 1 | -4/+4 |
| | |||||
* | Clean up another vector iterator loop | Chris Robinson | 2015-02-07 | 1 | -12/+12 |
| | |||||
* | Avoid tracing wide-char strings | Chris Robinson | 2015-02-07 | 2 | -27/+43 |
| | | | | | | Because on Windows, traced strings are written to a char string, which causes UTF-16 strings to be converted to a narrow (non-UTF-8) encoding, potentially losing characters. | ||||
* | Avoid unnecessary uses of ExchangeInt/Ptr | Chris Robinson | 2015-02-04 | 4 | -15/+23 |
| | |||||
* | Avoid unnecessary ExchangeInt uses | Chris Robinson | 2015-02-04 | 1 | -2/+2 |
| | |||||
* | Try the JACK backend before PulseAudio | Chris Robinson | 2015-02-03 | 1 | -3/+3 |
| | | | | | The backend will not spawn a server by default, so PulseAudio will still be preferred as long as a JACK server isn't already running. | ||||
* | Signal the mixer thread outside of the mutex lock | Chris Robinson | 2015-02-03 | 1 | -1/+5 |
| | |||||
* | Don't try to spawn a JACK server by default | Chris Robinson | 2015-02-03 | 1 | -6/+6 |
| | | | | And don't print an error if one couldn't be started when not requested. | ||||
* | Always use the JACK server buffer size as the update size | Chris Robinson | 2015-02-03 | 1 | -12/+15 |
| | | | | | The buffer-size config option now only specifies an additional mix ahead to keep ready for audio requests, rather than a pretend period size. | ||||
* | Ensure PulseAudio's mixing loop is signaled when stopping | Chris Robinson | 2015-01-21 | 1 | -0/+8 |
| | |||||
* | Remove a couple unused variables | Chris Robinson | 2015-01-20 | 1 | -3/+0 |
| | |||||
* | Fix variable check | Chris Robinson | 2015-01-20 | 1 | -1/+1 |
| | |||||
* | Fix X7DOT1_NARROW name to X7DOT1_WIDE | Chris Robinson | 2015-01-15 | 1 | -3/+3 |
| | |||||
* | Accept a "narrow" layout for 7.1 with mmdevapi | Chris Robinson | 2015-01-15 | 1 | -2/+3 |
| | |||||
* | Fix high-pass coefficients | Chris Robinson | 2015-01-13 | 1 | -6/+6 |
| |