Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Avoid duplicating device buffer layout logic | Chris Robinson | 2017-02-20 | 1 | -36/+13 |
| | |||||
* | Don't use periphonic FOA when the HOA decoder is not periphonic | Chris Robinson | 2017-02-19 | 1 | -21/+29 |
| | |||||
* | Always lock the device backend before calling aluMixData | Chris Robinson | 2017-02-18 | 1 | -0/+4 |
| | |||||
* | Make ALsourceProps' Send array dynamically sized | Chris Robinson | 2017-02-14 | 1 | -9/+90 |
| | | | | | | ALsourceProps' Send[] array is placed at the end of the struct, and given an indeterminate size. Extra space is allocated at the end of each struct given the number of auxiliary sends set for the device. | ||||
* | Make the source state atomic | Chris Robinson | 2017-02-13 | 1 | -2/+1 |
| | | | | | Since it's modified by the mixer when playback is ended, a plain struct member isn't safe. | ||||
* | Remove a couple context lock wrapper functions | Chris Robinson | 2017-02-07 | 1 | -3/+0 |
| | |||||
* | Convert the OpenSL backend to the new backend API | Chris Robinson | 2017-02-07 | 1 | -1/+1 |
| | | | | | This also removes the buffer queue callback's call to aluMixData, which could potentially block on a mutex. | ||||
* | Fix for NULL JNIEnv | Chris Robinson | 2017-02-05 | 1 | -0/+6 |
| | | | | Which can happen with native-only apps | ||||
* | Get the JavaVM handle on Android targets | Chris Robinson | 2017-01-26 | 1 | -0/+64 |
| | |||||
* | Use ALsizei in more places | Chris Robinson | 2017-01-18 | 1 | -4/+4 |
| | |||||
* | Use second-order ambisonics for basic HRTF rendering | Chris Robinson | 2017-01-15 | 1 | -3/+8 |
| | | | | | | This should improve positional quality for relatively low cost. Full HRTF rendering still only uses first-order since the only use of the dry buffer there is for first-order content (B-Format buffers, effects). | ||||
* | Add missing AL_EFFECTSLOT_ properties for al(c)GetEnumValue | Chris Robinson | 2017-01-05 | 1 | -0/+5 |
| | |||||
* | Convert the SndIO backend to the updated API | Chris Robinson | 2016-12-21 | 1 | -1/+1 |
| | |||||
* | Trace the commit ID and branch the library was built from | Chris Robinson | 2016-12-21 | 1 | -0/+4 |
| | |||||
* | Use separate macros for atomics that don't take a memory order | Chris Robinson | 2016-12-20 | 1 | -34/+36 |
| | |||||
* | Only send source updates for sources that have updated | Chris Robinson | 2016-11-23 | 1 | -1/+2 |
| | |||||
* | Remove the non-atomic COMPARE_EXCHANGE macro | Chris Robinson | 2016-11-22 | 1 | -33/+46 |
| | |||||
* | Stop using almemory_order_consume | Chris Robinson | 2016-11-17 | 1 | -2/+2 |
| | |||||
* | Finalize AL_SOFT_gain_clamp_ex | Chris Robinson | 2016-10-03 | 1 | -1/+1 |
| | |||||
* | Add a volume-adjust config option to adjust the source output volume | Chris Robinson | 2016-09-24 | 1 | -0/+17 |
| | | | | | | | | | Designed for apps that either don't change the listener's AL_GAIN, or don't allow the listener's AL_GAIN to go above 1. This allows the volume to still be increased further than such apps may allow, if users find it too quiet. Be aware that increasing this can easily cause clipping. The gain limit reported by AL_GAIN_LIMIT_SOFT is also affected by this. | ||||
* | Remove use of DECL_CONST | Chris Robinson | 2016-09-06 | 1 | -4/+4 |
| | | | | | No idea if it was really gaining us anything, but removing it fixes a crash I was getting with libs built with Clang. | ||||
* | Remove the upper limit from AL_MIN_GAIN and AL_MAX_GAIN | Chris Robinson | 2016-08-29 | 1 | -2/+2 |
| | | | | As per the current AL_SOFT_gain_clamp_ex proposal. | ||||
* | Add a query for the maximum source gain limit | Chris Robinson | 2016-08-28 | 1 | -0/+1 |
| | |||||
* | Allow sources to play while alcSuspendContext is in effect | Chris Robinson | 2016-08-26 | 1 | -3/+3 |
| | | | | | | | | | | | | | | This appears to be how Creative's Windows drivers handle it, and is necessary for at least the Windows version of UT2k4 (otherwise it tries to play a source while suspended, checks and sees it's stopped, then kills it before it's given a chance to start playing). Consequently, the internal properties it gets mixed with are determined by what the source properties are at the time of the play call, and the listener properties at the time of the suspend call. This does not change alDeferUpdatesSOFT, which will still hold the play state change until alProcessUpdatesSOFT. | ||||
* | Properly defer effect slot changes | Chris Robinson | 2016-08-25 | 1 | -0/+1 |
| | | | | | | | | Note that this now also causes all playing sources to update when an effect slot is updated. This is a bit wasteful, as it should only need to re-update sources that are using the effect slot (and only when a relevant property is changed), but it's good enough. Especially with deferring since all playing sources are going to get updated on the process call anyway. | ||||
* | Combine related members into a struct | Chris Robinson | 2016-08-24 | 1 | -39/+39 |
| | |||||
* | Hold updates for both listener and source updates | Chris Robinson | 2016-08-23 | 1 | -1/+15 |
| | |||||
* | Avoid resupplying unneeded source updates | Chris Robinson | 2016-08-23 | 1 | -2/+2 |
| | | | | | The source's voice holds a copy of the last properties it received, so listener updates can make sources recalculate internal properties from that stored copy. | ||||
* | Rename Ambisonics to Ambisonic in a couple places | Chris Robinson | 2016-07-31 | 1 | -3/+3 |
| | |||||
* | Remove DevFmtBFormat3D, which is covered by DevFmtAmbi1 | Chris Robinson | 2016-07-31 | 1 | -9/+0 |
| | |||||
* | Add an option to specify the ambisonic output configuration | Chris Robinson | 2016-07-31 | 1 | -0/+15 |
| | |||||
* | Rename ambisonic channel config values to be shorter | Chris Robinson | 2016-07-30 | 1 | -3/+3 |
| | |||||
* | Add a stand-alone upsampler for higher-order ambisonic oputput | Chris Robinson | 2016-07-30 | 1 | -2/+5 |
| | |||||
* | Add a config to output first-, second-, or third-order ambisonics | Chris Robinson | 2016-07-29 | 1 | -4/+54 |
| | | | | | | | | | 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. | ||||
* | Remove broken autowah effect code | Chris Robinson | 2016-07-26 | 1 | -7/+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. | ||||
* | Avoid function calls to get the HRTF sample rate and IR size | Chris Robinson | 2016-07-07 | 1 | -3/+3 |
| | |||||
* | Remove the VirtOut buffer alias | Chris Robinson | 2016-07-05 | 1 | -14/+10 |
| | |||||
* | Use separate arrays for UIntMap keys and values | Chris Robinson | 2016-07-04 | 1 | -3/+3 |
| | |||||
* | Rename MaxNoOfSources for consistency | Chris Robinson | 2016-06-08 | 1 | -15/+15 |
| | |||||
* | Add property queries to get the device latency with the clock | Chris Robinson | 2016-06-03 | 1 | -11/+32 |
| | |||||
* | Clean up a couple variable names and declarations | Chris Robinson | 2016-05-30 | 1 | -4/+4 |
| | |||||
* | Use a linked list for active effect slots | Chris Robinson | 2016-05-29 | 1 | -7/+1 |
| | |||||
* | 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. | ||||
* | Properly pluralize some messages | Chris Robinson | 2016-05-22 | 1 | -5/+10 |
| | |||||
* | 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. | ||||
* | Update the right effect state when the device is reset | Chris Robinson | 2016-05-17 | 1 | -2/+2 |
| | |||||
* | Use floats for the listener transforms | Chris Robinson | 2016-05-16 | 1 | -5/+5 |
| | |||||
* | Avoid separate updates to sources that should apply together | Chris Robinson | 2016-05-15 | 1 | -0/+2 |
| | |||||
* | Allocate context storage before starting/resetting the device | Chris Robinson | 2016-05-15 | 1 | -19/+23 |
| | | | | | In case allocation fails, we don't have to worry about the playing status of the backend. |