Chris Robinson
7d997277a0
AL_SOFT_block_alignment is now considered done
2014-05-22 12:27:07 -07:00
Chris Robinson
a48f5d26fd
Ensure a proper amount of new elements are being reserved when inserting
2014-05-22 12:16:22 -07:00
Chris Robinson
2729a1549b
Add a needed header for the CoreAudio backend
2014-05-22 11:29:26 -07:00
Chris Robinson
ecdfcdbfa5
The lower value of the gain vector contains the closest target value
2014-05-21 21:20:44 -07:00
Chris Robinson
2e38de349c
Don't clear the current and step gain values when updating a source
2014-05-21 16:32:24 -07:00
Chris Robinson
6ea050cc6c
Use the current buffer item for static sources too
2014-05-21 15:37:22 -07:00
Chris Robinson
4b433c900e
Copy samples if needed in the 'copy' resampler
2014-05-21 15:24:40 -07:00
Chris Robinson
dd2e6b7902
Properly process all samples with a bandpass filter
2014-05-21 14:59:21 -07:00
Chris Robinson
e650db98f7
Use the correct input for HRTF mixing
2014-05-21 14:48:46 -07:00
Chris Robinson
4a8d38c19a
Update the active source's direct and send properties after each mix
2014-05-21 14:47:25 -07:00
Chris Robinson
cd983245f1
Return a sample pointer from resamplers
...
Both resampling and filtering now avoid copying samples when they no-op.
2014-05-19 05:46:01 -07:00
Chris Robinson
8e04a8a022
Put per-channel filter properties together
2014-05-19 02:24:31 -07:00
Chris Robinson
7b782f6afa
Return a sample pointer from DoFilters
...
This allows us to avoid copying samples when no filtering is needed. Doing the
same for resampling would require another temporary buffer in the device.
2014-05-19 01:54:52 -07:00
Chris Robinson
ef9dfe3772
Move an HRTF mixer parameter and shorten a couple variable names
2014-05-18 11:05:38 -07:00
Chris Robinson
9317ec59b9
Don't pass the SendParams to the wet-path mixer
2014-05-18 10:35:11 -07:00
Chris Robinson
c9083d04fa
Don't pass the DirectParams to the dry-path mixer
2014-05-18 10:24:07 -07:00
Chris Robinson
5a1abf6918
Use different parameters for HRTF mixers
2014-05-18 09:31:08 -07:00
Chris Robinson
29b5dae6aa
Pass some DirectParams as function parameters
2014-05-18 08:59:10 -07:00
Chris Robinson
bd2721dc7a
Use _mm_setr_ps instead of _mm_set_ps
...
Apparently _mm_set_ps loads in reverse order compared to _mm_load_ps, so
_mm_setr_ps should give what we really want.
2014-05-18 06:35:33 -07:00
Chris Robinson
a5631e05cc
Add a ALfilterState method to process multiple samples at once
2014-05-18 06:23:20 -07:00
Chris Robinson
190ab90c0d
Support the band-pass filter
2014-05-17 08:04:14 -07:00
Chris Robinson
82dd2d875e
Apply high-pass source filters as needed
2014-05-17 07:54:25 -07:00
Chris Robinson
3a26ebef0b
Implementing handling high-pass filter properties
2014-05-17 07:29:50 -07:00
Chris Robinson
0b5b39d5e6
Add a flag to specify when the low-pass filter needs to apply
2014-05-17 07:17:48 -07:00
Chris Robinson
70f1e54068
Use logarithmic adjustment for the gain in the autowah effect
2014-05-17 03:08:04 -07:00
Chris Robinson
a11e1c0858
Ensure that LoopEnd > LoopStart
...
For the benefit of Clang's static analysis, which doesn't know that a
static source will always have a valid buffer and a buffer must have a
non-0 loop range.
2014-05-15 01:44:29 -07:00
Chris Robinson
fdcdda2ed3
Initialize a pointer to NULL instead of a string
2014-05-15 01:39:42 -07:00
Chris Robinson
028bd9767c
Don't bother stripping whitespace from comments
2014-05-15 01:37:01 -07:00
Chris Robinson
ef1b34dcd2
Initialize some variables when declaring them
2014-05-15 01:14:31 -07:00
Chris Robinson
16d3316f70
Use an enum for the chorus and flanger waveforms
2014-05-14 23:51:24 -07:00
Chris Robinson
a6974a6c83
Don't try to read the internal capture buffer into itself
2014-05-14 21:20:28 -07:00
Chris Robinson
a1fbb434e8
Remove a dead assignment
2014-05-14 05:27:16 -07:00
Chris Robinson
f311f74001
Avoid freeing an in-use capture buffer
...
When stopping, ALSA may capture into its own storage buffer. Do not free
the storage buffer if it first reads from it.
2014-05-14 03:22:42 -07:00
Chris Robinson
1d2504d12e
Make RefCount a non-integer type
...
It should only be accessed through the appropriate functions to ensure proper
atomicity.
2014-05-14 02:47:07 -07:00
Chris Robinson
3582a44dff
Make LOWPASSFREQREF a float value
2014-05-11 10:09:52 -07:00
Chris Robinson
343200d229
Store the filter reference frequency in the source
2014-05-11 10:07:17 -07:00
Chris Robinson
58235bec17
Update the source send target gains properly
2014-05-11 09:45:07 -07:00
Chris Robinson
851a917b03
Use a struct to store the source's direct gain/gainhf properties
2014-05-11 01:40:44 -07:00
Chris Robinson
9e25ea8666
Update the output buffer pointer in the Write_* methods
2014-05-10 07:52:02 -07:00
Chris Robinson
67b4bd1031
Add a couple consts
2014-05-10 07:25:05 -07:00
Chris Robinson
c4383b65e2
Store the current buffer queue item, rather than played buffer count
2014-05-10 03:21:40 -07:00
Chris Robinson
eea46f268d
Avoid checking the previous buffer multiple times
2014-05-10 02:01:38 -07:00
Chris Robinson
a2bddb7b40
Move RWLock and UIntMap implementations to common
...
This should make the code in common completely self-reliant.
2014-05-07 19:16:49 -07:00
Chris Robinson
d8d609b940
Use standard types for the RWLock
2014-05-07 01:03:06 -07:00
Chris Robinson
1aff37114a
Move atomic method definitions to a separate common source
2014-05-06 19:07:40 -07:00
Chris Robinson
fa12855d19
Move threads.c to a separate source dir
...
This will eventually serve to build a static lib of common wrapper methods,
such as threads, mutexes, atomics, etc.
2014-05-06 18:57:42 -07:00
Chris Robinson
0ea979a262
Move some headers to include/
...
Note, these are not installed. Only headers in include/AL/ are installed.
2014-05-06 18:29:53 -07:00
Chris Robinson
1a76a3238c
Use gettimeofday if clock_gettime isn't available
2014-05-06 17:46:17 -07:00
Chris Robinson
2bc16e9947
Add a cast to silence an MSVC warning
2014-05-04 11:50:58 -07:00
Chris Robinson
a48d235ef4
Trace skipped info sub-chunks
2014-05-04 01:19:09 -07:00