summaryrefslogtreecommitdiffstats
path: root/OpenAL32/alSource.c
Commit message (Collapse)AuthorAgeFilesLines
* Use an ATOMIC_INIT macro instead of ATOMIC_LOAD_UNSAFEChris Robinson2014-08-031-3/+3
|
* Make the source's buffer queue head and current queue item atomicChris Robinson2014-07-311-55/+67
|
* Always set the active source's update methodChris Robinson2014-07-261-5/+7
| | | | | | | If the source is stopped, changes its buffer, then played again quickly, the source will never be removed from the active source list causing the update method to remain as it was. If the buffer was changed between mono and multi- channel, this causes it to use the wrong method.
* Explicitly pass the address of atomics and parameters that can be modifiedChris Robinson2014-07-261-27/+27
|
* Add macros for generic atomic functionalityChris Robinson2014-07-221-27/+27
|
* Add a source radius property that determines the directionality of a soundChris Robinson2014-07-111-0/+2
| | | | | | | | | At 0 distance from the listener, the sound is omni-directional. As the source and listener become 'radius' units apart, the sound becomes more directional. With HRTF, an omni-directional sound is handled using 0-delay, pass-through filter coefficients, which is blended with the real delay and coefficients as needed to become more directional.
* Avoid aliasing an int arrayChris Robinson2014-07-051-4/+4
|
* Add an option to get the length of a source's full queueChris Robinson2014-05-251-0/+95
| | | | | This simplifies keeping track how much a source has buffered in its queue, which reduces a bunch of unnecessary book keeping the app would have to do.
* Use the first non-0-length buffer when starting a sourceChris Robinson2014-05-221-1/+1
|
* Apply high-pass source filters as neededChris Robinson2014-05-171-0/+12
|
* Add a couple asserts to ensure a proper bufferChris Robinson2014-05-141-0/+3
| | | | | | It should not be possible for a playing or paused source to not have a valid buffer, but Clang's static analyzer doesn't know that. Hopefully an assert will convince it.
* Make RefCount a non-integer typeChris Robinson2014-05-141-3/+3
| | | | | It should only be accessed through the appropriate functions to ensure proper atomicity.
* Add HF Reference as a filter propertyChris Robinson2014-05-141-0/+4
|
* Make LOWPASSFREQREF a float valueChris Robinson2014-05-111-2/+2
|
* Store the filter reference frequency in the sourceChris Robinson2014-05-111-0/+2
|
* Avoid locking the mixer when unqueueing buffersChris Robinson2014-05-111-4/+16
|
* Avoid accessing the source's buffer queue head multiple timesChris Robinson2014-05-111-17/+16
|
* Use a struct to store the source's direct gain/gainhf propertiesChris Robinson2014-05-111-6/+6
|
* Avoid locking the mixer while queueing buffers onto a source.Chris Robinson2014-05-101-24/+34
|
* Add a missing pointer initChris Robinson2014-05-101-3/+3
|
* Explicit init the source queue and current_buffer pointersChris Robinson2014-05-101-0/+3
|
* Use a RWLock to help protect the source's buffer queueChris Robinson2014-05-101-35/+56
| | | | | In some instances this allows to to remove the device/mixer lock, or reduce how long it's held.
* Don't explicitly store the BuffersInQueueChris Robinson2014-05-101-9/+14
|
* Store the current buffer queue item, rather than played buffer countChris Robinson2014-05-101-77/+63
|
* Better pack HRTF mixing propertiesChris Robinson2014-05-031-3/+3
|
* Add gain stepping to the send mixersChris Robinson2014-03-231-1/+9
|
* Move the step counter and moving flag to DirectParamsChris Robinson2014-03-231-2/+2
|
* Store the HrtfState directly in the DirectParamsChris Robinson2014-03-231-25/+15
|
* Store some source mixing parameters in the active source structChris Robinson2014-03-191-16/+19
|
* Use a separate struct for tracking active sourcesChris Robinson2014-03-181-8/+18
|
* Add an extension to support MSADPCM buffer formatsChris Robinson2014-03-041-0/+23
|
* Store the original frame size alignment in the bufferChris Robinson2014-03-031-4/+6
|
* Fix retrieving source propertiesChris Robinson2013-12-091-6/+6
|
* Use C99 inline in more placesChris Robinson2013-11-041-0/+3
|
* Rename alcGetLatency to ALCdevice_GetLatencyChris Robinson2013-11-021-2/+2
|
* Use an ALCbackend object to access playback backendsChris Robinson2013-10-271-2/+2
| | | | | | | This is the start of a backend redesign. Currently, a wrapper object is used to avoid having to redo all the backends at once, but they should slowly be converted to derive from ALCbackend instead. The ALCbackend interface can change as needed.
* Return only true or false from the source getters and settersChris Robinson2013-10-071-112/+105
|
* Remove al_try from alSource.cChris Robinson2013-10-071-325/+304
|
* Use a simpler U64 macro to make 64-bit constantsChris Robinson2013-10-061-1/+1
|
* Use a separate value for the maximum buffer channelsChris Robinson2013-07-231-1/+1
| | | | | | | Unlike the device, input buffers are accessed based on channel numbers instead of enums. This means the maximum number of channels they hold depends on the number of channels any one format can have, rather than the total number of recognized channels. Currently, this is 8 for 7.1.
* Silence some clang warningsChris Robinson2013-06-051-2/+2
|
* Simplify al_try codeChris Robinson2013-03-241-15/+13
|
* Properly convert uint values when getting them as int64Chris Robinson2012-12-071-2/+14
|
* SetSourceiv should never get AL_SAMPLE_OFFSET_LATENCY_SOFTChris Robinson2012-12-061-1/+4
|
* Use a helper to count the number of float/double values for a propertyChris Robinson2012-12-051-297/+177
|
* Use a helper to count the number of int(64) values for a propertyChris Robinson2012-12-051-306/+152
|
* Remove 'v' from the source enum namesChris Robinson2012-12-051-103/+100
|
* Add a comment to note the extension for sfvDistanceModelChris Robinson2012-12-051-4/+6
|
* Use an enum to handle int source propertiesChris Robinson2012-12-051-113/+160
|
* Use an enum to handle float source propertiesChris Robinson2012-12-051-60/+127
|