Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add an extension to change a buffer's unpack ambisonic order | Chris Robinson | 2020-04-04 | 1 | -0/+13 |
| | |||||
* | Track a buffer's ambisonic order | Chris Robinson | 2020-04-04 | 3 | -21/+42 |
| | |||||
* | Add an ambisonic order parameter to the buffer channel count | Chris Robinson | 2020-04-03 | 2 | -19/+18 |
| | |||||
* | Remove a couple outdated comments | Chris Robinson | 2020-04-03 | 1 | -2/+2 |
| | |||||
* | Rename ALvoice and related structs to Voice | Chris Robinson | 2020-03-28 | 1 | -45/+45 |
| | |||||
* | Get rid of MAX_INPUT_CHANNELS | Chris Robinson | 2020-03-28 | 2 | -8/+10 |
| | |||||
* | Avoid AL[C]boolean for internal use | Chris Robinson | 2020-03-28 | 6 | -18/+18 |
| | |||||
* | Avoid some extraneous uses of AL type aliases | Chris Robinson | 2020-03-25 | 1 | -88/+88 |
| | |||||
* | Dynamically allocate voice channel data | Chris Robinson | 2020-03-25 | 1 | -13/+13 |
| | | | | | | | Rather than allocating for a full 8 channels for each voice, when the vast majority will only need 1 or 2. The voice channel data is relatively big since it needs to hold HRTF coefficients and history, and this will allow increasing the maximum number of buffer channels without an obscene memory increase. | ||||
* | Clean up ALfilter some | Chris Robinson | 2020-03-23 | 2 | -140/+149 |
| | | | | | | Use inline methods instead of macros Fix indentation Add some consts | ||||
* | Add a macro to disable class-specific new/delete | Chris Robinson | 2020-03-23 | 6 | -0/+13 |
| | |||||
* | Use inline initialization more for sources | Chris Robinson | 2020-03-23 | 2 | -89/+46 |
| | |||||
* | Move the FPUCtl methods to its own source | Chris Robinson | 2020-03-20 | 1 | -1/+1 |
| | |||||
* | Fix voices being forced to update without valid properties | Chris Robinson | 2020-03-04 | 1 | -2/+3 |
| | | | | | | | | | | | | | | | | When starting a voice, the source ID was set before its first update struct was provided, creating a small window where a listener or effect slot update could force a voice to update without it having any valid properties to update with. Supplying the update struct first would create a different race, where the mixer could see a voice without a source but with an update struct, causing the update struct to be 'freed' without being applied. The fix here is to provide the update struct before setting the source ID, and change the mixer to ignore update structs for voices without a source ID. This can pseudo-orphan the updates that get set on a voice just as it stops, leaving the struct unusable until the voice is used again, or the voice gets deleted which will clear it. But it allows the update struct to stay in place and get applied once the voice gets a source ID. | ||||
* | Avoid redundantly setting voice members | Chris Robinson | 2020-03-04 | 1 | -26/+24 |
| | |||||
* | Don't change flags after InitVoice | Chris Robinson | 2020-03-04 | 1 | -11/+9 |
| | |||||
* | Use a new voice state to indicate a pending source offset change | Chris Robinson | 2020-03-04 | 1 | -6/+7 |
| | |||||
* | Avoid unnecessarily reclearing some variables | Chris Robinson | 2020-03-03 | 1 | -51/+36 |
| | |||||
* | Add a helper to wait for the device mix | Chris Robinson | 2020-03-03 | 2 | -22/+13 |
| | |||||
* | Simplify getting a voice for a new source offset | Chris Robinson | 2020-02-28 | 1 | -17/+21 |
| | |||||
* | Use a VoiceChange object to change the offset of a playing source | Chris Robinson | 2020-02-26 | 1 | -61/+138 |
| | |||||
* | Rename the voice's PendingStop to PendingChange | Chris Robinson | 2020-02-26 | 1 | -6/+6 |
| | |||||
* | Move voice initialization to a separate function | Chris Robinson | 2020-02-26 | 1 | -97/+103 |
| | |||||
* | Avoid storing the source offset when it's just read and reset | Chris Robinson | 2020-02-26 | 1 | -27/+27 |
| | |||||
* | Make the source's send array static instead of dynamic | Chris Robinson | 2020-02-25 | 2 | -17/+10 |
| | |||||
* | Handle playing voices after disconnection | Chris Robinson | 2020-02-24 | 1 | -5/+11 |
| | |||||
* | Improve searching for the next voice when playing multiple sources | Chris Robinson | 2020-02-24 | 1 | -4/+5 |
| | | | | | Instead of searching from the beginning of the voice list for each source, just continue searching from the last source's voice. | ||||
* | Ignore VoiceChange objects while disconnected | Chris Robinson | 2020-02-24 | 1 | -0/+9 |
| | | | | | And try to improve ALvoice/VoiceChange handling when attempting to recover a lost device. | ||||
* | Simplify replaying a source | Chris Robinson | 2020-02-23 | 1 | -6/+3 |
| | |||||
* | Fix voice allocation increase amount | Chris Robinson | 2020-02-22 | 1 | -1/+1 |
| | |||||
* | Remove a couple unnecessary type aliases | Chris Robinson | 2020-02-22 | 1 | -2/+2 |
| | |||||
* | Use an array of ALvoice pointers for the active voices | Chris Robinson | 2020-02-21 | 1 | -25/+34 |
| | | | | | | This allows growing the array atomically with the mixer since the ALvoice objects themselves don't move, and a new larger array of them can be swapped in without blocking the mixer. | ||||
* | Set the voice's property update after the source ID | Chris Robinson | 2020-02-21 | 1 | -3/+3 |
| | | | | Otherwise the mixer has a chance to throw it out before realizing it's needed. | ||||
* | Handle playing and pausing with VoiceChanges | Chris Robinson | 2020-02-21 | 1 | -71/+71 |
| | |||||
* | Prepare VoiceChange objects one at a time | Chris Robinson | 2020-02-21 | 1 | -62/+35 |
| | |||||
* | Don't unnecessarily count all voices when playing sources | Chris Robinson | 2020-02-21 | 1 | -9/+8 |
| | |||||
* | Asynchronously stop and rewind voices | Chris Robinson | 2020-02-20 | 1 | -36/+44 |
| | |||||
* | Asynchronously stop voices if its source is being deleted | Chris Robinson | 2020-02-20 | 1 | -12/+52 |
| | |||||
* | Add a voice flag to indicate a voice has a pending stop | Chris Robinson | 2020-02-20 | 1 | -2/+4 |
| | | | | Pending/asynchronous stops to be implemented soon. | ||||
* | Flag the voice as callback-based when given a callback buffer | Chris Robinson | 2020-02-17 | 1 | -1/+7 |
| | |||||
* | Don't bother looping the calculated source offset | Chris Robinson | 2020-02-17 | 1 | -14/+6 |
| | | | | | The offset shouldn't be in a non-wrapped state when playing, and when not playing it's always 0 anyway. | ||||
* | Don't allow setting a source offset for a callback | Chris Robinson | 2020-02-17 | 1 | -0/+6 |
| | |||||
* | Handle running the buffer callback in the voice | Chris Robinson | 2020-02-17 | 3 | -7/+6 |
| | |||||
* | Prevent queueing a callback buffer | Chris Robinson | 2020-02-17 | 1 | -3/+10 |
| | | | | Also prevent setting it on multiple sources | ||||
* | Set and retrieve a buffer's callback | Chris Robinson | 2020-02-17 | 2 | -8/+147 |
| | |||||
* | Stub out an interface for a callback-driven buffer | Chris Robinson | 2020-02-16 | 1 | -0/+41 |
| | |||||
* | Always start streaming sources from the start of the queue | Chris Robinson | 2020-02-15 | 1 | -1/+1 |
| | | | | | | For sources that don't start with an offset, at least. This is necessary so the completed buffer event will give the correct count if it starts with null or empty buffers that become processed. | ||||
* | Only sort active effect slots as needed | Chris Robinson | 2020-01-18 | 1 | -0/+4 |
| | |||||
* | Use struct methods to get a buffer's format info | Chris Robinson | 2020-01-18 | 3 | -20/+21 |
| | |||||
* | Combine identical arrays | Chris Robinson | 2020-01-04 | 1 | -13/+3 |
| |