Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | Add missing alignas to CubicLUT declaration | Chris Robinson | 2015-01-13 | 1 | -1/+1 |
| | |||||
* | Fix the flags type | Chris Robinson | 2015-01-11 | 1 | -1/+2 |
| | |||||
* | Remove some IN_IDE_PARSER uses | Chris Robinson | 2014-12-24 | 4 | -18/+4 |
| | |||||
* | Remove some unnecessary restrict uses | Chris Robinson | 2014-12-24 | 1 | -7/+6 |
| | |||||
* | Update some function comments (bytes -> elements) | Chris Robinson | 2014-12-24 | 1 | -7/+8 |
| | |||||
* | Update a comment | Chris Robinson | 2014-12-24 | 1 | -2/+2 |
| | |||||
* | Don't update the channel format if all JACK ports were allocated | Chris Robinson | 2014-12-23 | 1 | -9/+11 |
| | |||||
* | Try the device-specified channel configuration first | Chris Robinson | 2014-12-23 | 1 | -3/+15 |
| | | | | | This does basically no checking that the channel config is correct, but should be good enough for when non-stereo modes are requested. | ||||
* | Use the custom ringbuffer instead of JACK's | Chris Robinson | 2014-12-23 | 1 | -41/+20 |
| | |||||
* | Add a lockless ringbuffer | Chris Robinson | 2014-12-23 | 2 | -0/+290 |
| | | | | | | Largely copied from JACK, it's extended to work with user-specified element sizes instead of bytes. This is necessary to be able to work with 6- and 7- channel output modes. | ||||
* | Don't set unused pointers to NULL, don't try to write 0 samples | Chris Robinson | 2014-12-23 | 1 | -7/+8 |
| | |||||
* | At least measure the ringbuffer size for JACK's latency | Chris Robinson | 2014-12-23 | 1 | -1/+17 |
| | | | | | | We should also add the port latency, but there's currently no way to ensure it's synchronized with the ringbuffer (the ringbuffer will update before the port latency gets updated). | ||||
* | Add an option to prevent spawning a JACK server | Chris Robinson | 2014-12-22 | 2 | -2/+11 |
| | |||||
* | Add JACK to the config utility | Chris Robinson | 2014-12-22 | 1 | -0/+1 |
| | |||||
* | Add an option for an increased ringbuffer size with JACK | Chris Robinson | 2014-12-22 | 2 | -2/+24 |
| | |||||
* | Fill out the JACK playback backend | Chris Robinson | 2014-12-22 | 1 | -15/+326 |
| | | | | | | | | | | | | | | | | | | | | | | | | A few notes about it: The OpenAL device's requested buffer metrics are ignored, and instead the device will keep one JACK-sized buffer's worth of audio prepared for JACK's next process request. Output is restricted to 32-bit float stereo. Part of this is because JACK requires a buffer size that's a power of 2 (measured in samples), and the ringbuffer requires a buffer size that's a power of 2 (measured in bytes). A channel count of 6 (5.1) or 7 (6.1) will not work without causing a sample to split over the edge of the ringbuffer. Additioanlly, JACK doesn't provide information about what channel configuration a device or set of ports has, so there's no way to know what ports 3 and up map to (even the first two ports are unknown, but assuming stereo seems to work well enough). There is no device latency measurement (for AL_SOFT_source_latency) due to the non-atomicity between the ringbuffer's read size and port latency. A method is needed to ensure the ringbuffer's read size and port latency can both be measured between the end of a JACK update cycle (when the port latency has been updated with the newly-retrieved audio) and the following ringbuffer read update. | ||||
* | Add a skeleton backend for JACK | Chris Robinson | 2014-12-21 | 5 | -0/+290 |
| | |||||
* | Add a cmake module to find JACK | Chris Robinson | 2014-12-21 | 1 | -0/+60 |
| | |||||
* | Set error if capture device fails to start | Chris Robinson | 2014-12-21 | 1 | -4/+10 |
| | |||||
* | Trace lparam and wparam message values | Chris Robinson | 2014-12-21 | 1 | -1/+1 |
| | |||||
* | Check the PROPVARIANT type before use | Chris Robinson | 2014-12-21 | 1 | -2/+8 |
| | |||||
* | Use VECTOR_FOR_EACH instead of a manual loop | Chris Robinson | 2014-12-21 | 1 | -9/+7 |
| | |||||
* | Use a macro for the record thread name | Chris Robinson | 2014-12-21 | 4 | -3/+5 |
| | |||||
* | Cast to the pointer-to-type to increment the buffer | Chris Robinson | 2014-12-21 | 1 | -1/+1 |
| | |||||
* | Fix logging on Windows | Chris Robinson | 2014-12-20 | 2 | -3/+3 |
| | |||||
* | Support capture with mmdevapi | Chris Robinson | 2014-12-19 | 2 | -1/+552 |
| | |||||
* | Handle logging Unicode strings on Windows | Chris Robinson | 2014-12-19 | 1 | -38/+62 |
| |