Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add a config to output first-, second-, or third-order ambisonics | Chris Robinson | 2016-07-29 | 10 | -7/+129 |
| | | | | | | | | | Currently incomplete, as second- and third-order output will not correctly handle B-Format input buffers. A standalone up-sampler will be needed, similar to the high-quality decoder. Also, output is ACN ordering with SN3D normalization. A config option will eventually be provided to change this if desired. | ||||
* | Don't try freeing the context in ReleaseThreadCtx | Chris Robinson | 2016-07-29 | 1 | -6/+6 |
| | | | | | | | | | | | | Unfortunately on certain systems, the TLS callback is called in a restricted context, and isn't allowed to access certain messaging sub-systems. Such sub- systems may be used if the thread's context is freed, in turn freeing the device, which it tries to close. Ideally, the app shouldn't have tried to destroy a context while it was still current on a thread, or even leave a context current on a thread that's being destroyed,. So for now, release the context ref and print an ERR that it might be leaked. | ||||
* | Combine VECTOR_RESIZE and VECTOR_RESERVE | Chris Robinson | 2016-07-26 | 8 | -104/+69 |
| | |||||
* | Avoid passing NULL to a parameter that must not be NULL | Chris Robinson | 2016-07-26 | 1 | -2/+3 |
| | |||||
* | Remove the last use of ALfilterState_processSingle | Chris Robinson | 2016-07-26 | 1 | -3/+17 |
| | |||||
* | Remove broken autowah effect code | Chris Robinson | 2016-07-26 | 2 | -278/+0 |
| | | | | | It's been disabled forever, and I have no idea how to make it work properly. Better to just redo it when making something that works. | ||||
* | Add some more restrict keywords | Chris Robinson | 2016-07-26 | 1 | -1/+1 |
| | |||||
* | Rename input_gain to b0 | Chris Robinson | 2016-07-26 | 4 | -10/+10 |
| | |||||
* | Avoid more uses of ALfilterState_processSingle | Chris Robinson | 2016-07-25 | 1 | -9/+9 |
| | | | | | It's a horriobly inefficient way to process multiple samples through the filter. | ||||
* | Fix use of a loop var | Chris Robinson | 2016-07-25 | 1 | -9/+11 |
| | |||||
* | Avoid manual loops for ALfilterState processing | Chris Robinson | 2016-07-25 | 1 | -25/+17 |
| | |||||
* | Properly skip loading of already-loaded HRTF data sets | Chris Robinson | 2016-07-24 | 1 | -4/+24 |
| | | | | | | | Previously, if an HRTF file was loaded it would not only skip loading it, but it would also skip adding it to the output enumeration list. Now it properly skips loading it when it's already loaded, but still adds it to the enumeration list if it's not already in it. | ||||
* | Update the default quad decoder matrix | Chris Robinson | 2016-07-18 | 1 | -4/+4 |
| | |||||
* | Constify and use the correct size for an array | Chris Robinson | 2016-07-17 | 1 | -1/+1 |
| | |||||
* | Make a MAX_AMBI2D_COEFFS macro instead of a magic number | Chris Robinson | 2016-07-17 | 1 | -4/+4 |
| | |||||
* | Repack the ambisonic dual-band decoder matrices | Chris Robinson | 2016-07-17 | 1 | -94/+105 |
| | | | | | | The decoders use a row of the HF decoder matrix followed by a row of the LF decoder matrix, for each given output channel in turn. Packing the two matrices accordingly results in less memory hopping. | ||||
* | Improve the UHJ encoder's allpass processing loops | Chris Robinson | 2016-07-14 | 1 | -49/+70 |
| | |||||
* | Modify bs2b_cross_feed to do multiple samples at once | Chris Robinson | 2016-07-13 | 2 | -23/+73 |
| | |||||
* | Move the input channel array out of the DirectParams and SendParams | Chris Robinson | 2016-07-13 | 2 | -75/+74 |
| | |||||
* | Enumerate the embedded HRTF resources when available | Chris Robinson | 2016-07-12 | 1 | -3/+345 |
| | |||||
* | Add a cmake option to embed the HRTF data | Chris Robinson | 2016-07-12 | 2 | -0/+9 |
| | |||||
* | Store the voice output buffers separate from the params | Chris Robinson | 2016-07-11 | 2 | -34/+34 |
| | |||||
* | Update comment about the source radius calculations | Chris Robinson | 2016-07-10 | 1 | -9/+18 |
| | |||||
* | Avoid standard malloc/free for Hrtf allocation | Chris Robinson | 2016-07-07 | 1 | -3/+4 |
| | |||||
* | Avoid function calls to get the HRTF sample rate and IR size | Chris Robinson | 2016-07-07 | 6 | -36/+21 |
| | |||||
* | Avoid using memcpy to copy a single struct | Chris Robinson | 2016-07-06 | 1 | -4/+4 |
| | |||||
* | Remove the VirtOut buffer alias | Chris Robinson | 2016-07-05 | 2 | -24/+21 |
| | |||||
* | Use separate arrays for UIntMap keys and values | Chris Robinson | 2016-07-04 | 1 | -3/+3 |
| | |||||
* | Ensure voices has been updated once before mixing them | Chris Robinson | 2016-06-16 | 1 | -1/+2 |
| | | | | | | | | Sometimes the mixer is temporarily prevented from applying updates, when multiple sources need to be updated simultaneously for example, but does not prevent mixing. If the mixer runs during that time and a voice was just started, it would've mixed the voice without any internal properties being set for it. | ||||
* | Rename MaxNoOfSources for consistency | Chris Robinson | 2016-06-08 | 1 | -15/+15 |
| | |||||
* | Look in the executable's dir for another config file | Chris Robinson | 2016-06-04 | 3 | -0/+133 |
| | | | | | On Windows it'll look for alsoft.ini, and elsewhere is alsoft.conf. This applies after the user-local settings and before ALSOFT_CONF. | ||||
* | Add property queries to get the device latency with the clock | Chris Robinson | 2016-06-03 | 1 | -11/+32 |
| | |||||
* | Improve the filter processing function | Chris Robinson | 2016-06-03 | 1 | -2/+35 |
| | |||||
* | Implement a Neon-enhanced MixRow | Chris Robinson | 2016-06-01 | 3 | -0/+31 |
| | |||||
* | Use a macro to specify the ambisonic periphonic channel mask | Chris Robinson | 2016-06-01 | 2 | -3/+3 |
| | |||||
* | Use SSE for applying the HQ B-Format decoder matrices | Chris Robinson | 2016-05-31 | 4 | -27/+79 |
| | |||||
* | Don't access the band splitter fields in the processing loops | Chris Robinson | 2016-05-31 | 1 | -9/+16 |
| | | | | | | perf shows a 5% drop in relative execution time on the alffplay example with an audio-only file (20% to 15%). Kinda figured the optimizer would handle it better, but I guess not. | ||||
* | Clean up a couple variable names and declarations | Chris Robinson | 2016-05-30 | 2 | -7/+6 |
| | |||||
* | Remove unnecessary VECTOR_INSERT | Chris Robinson | 2016-05-30 | 2 | -54/+30 |
| | |||||
* | Use a linked list for active effect slots | Chris Robinson | 2016-05-29 | 2 | -23/+25 |
| | |||||
* | Change the backend getLatency method to return the clock time too | Chris Robinson | 2016-05-28 | 14 | -50/+111 |
| | | | | | | This will also allow backends to better synchronize the tracked clock time with the device output latency, without necessarily needing to lock if the backend API can allow for it. | ||||
* | Use a specific lock for the backend's stop/reset/play calls | Chris Robinson | 2016-05-27 | 1 | -30/+44 |
| | | | | | This helps protect against the device changing unexpectedly from multiple threads, instead of using the global list/library lock. | ||||
* | Increment the device's mix count closer to the mixing loops | Chris Robinson | 2016-05-23 | 1 | -3/+2 |
| | |||||
* | Properly pluralize some messages | Chris Robinson | 2016-05-22 | 2 | -8/+14 |
| | |||||
* | Improve locking for device attribute queries | Chris Robinson | 2016-05-22 | 1 | -8/+28 |
| | | | | | Avoids the backend device lock, instead using the list lock to prevent the device from changing while being queried, and adds some missing locks. | ||||
* | Avoid using realloc in a number of places | Chris Robinson | 2016-05-21 | 6 | -19/+26 |
| | |||||
* | Make the source position calues atomic | Chris Robinson | 2016-05-19 | 2 | -9/+9 |
| | |||||
* | Copy the source's Looping property into the voice | Chris Robinson | 2016-05-18 | 1 | -0/+2 |
| | |||||
* | Avoid redundantly storing distance model settings | Chris Robinson | 2016-05-17 | 1 | -7/+1 |
| | |||||
* | Update the right effect state when the device is reset | Chris Robinson | 2016-05-17 | 1 | -2/+2 |
| |