Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Don't check for space in the ringbuffer before trying to write | Chris Robinson | 2018-03-03 | 1 | -2/+1 |
| | | | | The write method already checks and returns how much it managed to fit in. | ||||
* | Avoid some code duplication | Chris Robinson | 2018-03-03 | 1 | -12/+8 |
| | |||||
* | Add some missing locks to protect reading state | Chris Robinson | 2018-03-03 | 1 | -0/+2 |
| | |||||
* | Add an option to limit the write size of the ringbuffer | Chris Robinson | 2018-03-01 | 1 | -1/+1 |
| | |||||
* | Clear stale 'post's on the event semphaphore | Chris Robinson | 2018-02-11 | 1 | -0/+5 |
| | |||||
* | Add a disconnected event type | Chris Robinson | 2018-02-03 | 1 | -0/+2 |
| | |||||
* | Use a semaphore to signal the event handler | Chris Robinson | 2018-02-01 | 1 | -15/+4 |
| | | | | | | | | | | | Semaphores allow for semi-persistent signals, compared to a condition variable which requires a mutex for proper detection. A semaphore can be 'post'ed after writing some data on one thread, and another thread will be able to recognize it quickly even if the post occured in between checking for data and waiting. This more correctly fixes a race condition with events since the mixer shouldn't be using mutexes, and arbitrary wake-ups just to make sure an event wasn't missed was quite inefficient. | ||||
* | Fix check for matching event type | Chris Robinson | 2018-02-01 | 1 | -1/+1 |
| | |||||
* | Add a thread to marshal events from the mixer | Chris Robinson | 2018-01-31 | 1 | -2/+72 |
| | | | | | | To avoid having unknown user code running in the mixer thread that could significantly delay the mixed output, a lockless ringbuffer is used for the mixer to provide events that a secondary thread will pop off and process. | ||||
* | Rename EventLock to make it more clear it's protecting the callback | Chris Robinson | 2018-01-30 | 1 | -4/+2 |
| | |||||
* | Make EnabledEvts atomic | Chris Robinson | 2018-01-28 | 1 | -2/+17 |
| | |||||
* | Construct error messages using parameterized values | Chris Robinson | 2018-01-25 | 1 | -3/+3 |
| | |||||
* | Add a deprecated event type for alDopplerVelocity | Chris Robinson | 2018-01-24 | 1 | -0/+2 |
| | |||||
* | Provide messages for the remaining AL errors | Chris Robinson | 2018-01-24 | 1 | -7/+4 |
| | |||||
* | Handle event properties | Chris Robinson | 2018-01-23 | 1 | -0/+65 |
This just implements the event methods insofar as tracked state. No events are generated/reported yet. |