Chris Robinson
fcf9034c2b
Calculate the listener matrix when a new orientation is specified
...
This is so the matrix isn't derived each time a source is updated, and it will
make supporting user-defined matrices easier.
2011-10-30 08:27:24 -07:00
Chris Robinson
956e6f95ec
Don't translate the listener velocity
2011-10-30 05:49:17 -07:00
Chris Robinson
50913948a0
Don't transform/translate vectors with an invalid listener orientation
2011-10-30 05:47:14 -07:00
Chris Robinson
a5c02556e6
Add a work-around for cross-compiling with MinGW
2011-10-27 21:22:00 -07:00
Chris Robinson
319f40462f
Initialize/Uninitialize COM as needed
2011-10-24 22:11:16 -07:00
Chris Robinson
e5374f60c9
Don't close devices that are left open on lib shutdown
2011-10-24 08:23:41 -07:00
Chris Robinson
75679c959a
Don't update the device update parameters when PulseAudio does an async buffer update
...
It risks a deadlock, and though the UpdateSize won't change, we'll still fill
as much of the buffer as we can up to a multiple of it
2011-10-19 16:07:56 -07:00
Chris Robinson
628356a294
Set AL_STOPPED after setting AL_PLAYING when a source has nothing to play
2011-10-15 10:33:30 -07:00
Chris Robinson
0fba3b0e1e
Use the local Device variable
2011-10-11 22:30:58 -07:00
Chris Robinson
92a650c827
Use the local variable instead of re-reading the source property
2011-10-11 22:29:06 -07:00
Chris Robinson
3bbde05e0e
Use the square root to build the panning table instead of sin/cos
2011-10-10 09:39:02 -07:00
Chris Robinson
3324bab81e
Mark a couple more arrays with restrict
2011-10-08 03:08:13 -07:00
Chris Robinson
81133769de
Return the key's value from the map when it's removed
2011-10-06 06:39:13 -07:00
Chris Robinson
a7d3779dfa
Check for the HRTF object instead of a flag
2011-10-06 01:16:07 -07:00
Chris Robinson
75fee8c11f
Add min/max/clamp methods for 64-bit int
2011-10-04 22:39:35 -07:00
Chris Robinson
9e11b0a8c6
Fix maximum BufferSize calculation
2011-10-04 22:35:01 -07:00
Chris Robinson
5861920453
Rename a variable to avoid confusion
2011-10-04 22:16:54 -07:00
Chris Robinson
eb277cc578
Remove some unneeded templates and parameters
2011-10-04 09:55:36 -07:00
Chris Robinson
20fd648729
Convert samples to float when copying to the stack
2011-10-04 09:47:08 -07:00
Chris Robinson
11caba9807
Use sample frames when handling the buffer length
2011-10-04 02:08:45 -07:00
Chris Robinson
35b4b31d57
Track the temp stack buffer using sample frames instead of bytes
2011-10-03 10:06:09 -07:00
Chris Robinson
a5c74e324c
Make sure GCC properly errors when checking visiblity attributes
2011-10-02 22:12:31 -07:00
Chris Robinson
e1cbf06653
Don't use a double when calculating the HRTF coefficients
2011-10-02 22:05:03 -07:00
Chris Robinson
5a1959f0cf
Make a floating-point constant a float type
2011-10-02 22:01:51 -07:00
Chris Robinson
7f5074949e
Don't use inline asm with MSVC on 64-bit
2011-10-02 21:44:08 -07:00
Chris Robinson
cf10a8d321
Get rid of some unnecessary casting
2011-10-02 16:54:45 -07:00
Chris Robinson
a05006b06a
Rename some parameters
2011-10-02 07:31:26 -07:00
Chris Robinson
eb0b96752a
Remove the OriginalAlign buffer field, and calculate it as needed
2011-10-01 19:52:07 -07:00
Chris Robinson
2f453eba35
Fix potential divide-by-0
2011-10-01 08:37:42 -07:00
Chris Robinson
8b2e1fdd9a
Add buffer properties to get the internal format, and the length in bytes, samples, and seconds
...
The provided buffer lengths correspond to the source offsets, in that the byte
length specifies the end of the byte offset (ie, when the buffer is used for a
static source, the offset will range between 0 (inclusive) and the byte length
(exclusive)). Although an application could use the AL_SIZE, AL_CHANNELS,
AL_BITS, and AL_FREQUENCY properties to find the length in samples and seconds,
the byte length cannot be reliably calculated this way.
2011-10-01 06:19:55 -07:00
Chris Robinson
c99b32a8ec
Use tokens matching the string
2011-10-01 04:56:45 -07:00
Chris Robinson
92f95e4d94
Add support for AL_EXT_ALAW
2011-10-01 04:55:03 -07:00
Chris Robinson
d1011f8d37
Add AL_EXT_MULAW and AL_EXT_ALAW tokens to alext.h
2011-10-01 04:05:39 -07:00
Chris Robinson
a486045f7c
Improve index calculation for reverb modulation updates
2011-10-01 02:38:28 -07:00
Chris Robinson
0e7dc93681
Add some formatting spaces to the reverb state struct
2011-10-01 02:09:17 -07:00
Chris Robinson
a7bbf7a741
Rename LOWPASSFREQCUTOFF to LOWPASSFREQREF
2011-09-30 23:07:15 -07:00
Chris Robinson
bfa782f329
Define the values for F_PI and F_PI_2 directly instead of using M_PI
2011-09-30 22:53:47 -07:00
Chris Robinson
bed37a148c
Use raise(SIGTRAP) instead of kill(getpid(),SIGTRAP)
2011-09-30 20:46:18 -07:00
Chris Robinson
bf19186223
Apply the initial wet send reverb decay before clamping the gains
2011-09-30 17:51:21 -07:00
Chris Robinson
087e75d47f
Multiply by the reciprocal value instead of dividing
2011-09-29 22:29:10 -07:00
Chris Robinson
9e2600cac4
Use fast float-to-int conversions for some mixer-related code
2011-09-29 06:55:00 -07:00
Chris Robinson
3c27c24dec
Set the mixer FPU mode when setting a new effect on an effect slot
2011-09-29 05:25:01 -07:00
Chris Robinson
1b81642db5
Set the mixer FPU mode for device parameter updates
2011-09-29 05:15:20 -07:00
Chris Robinson
d3a6de3f86
Set the FPU into single-precision mode for mixer updates
2011-09-29 05:10:15 -07:00
Chris Robinson
f4925a0e6a
Use inline functions to set/restore the FPU mode for mixer updates
2011-09-29 04:03:18 -07:00
Chris Robinson
b6b3ca6e6f
Use inline assembly for fast float-to-int conversions
2011-09-29 03:51:46 -07:00
Chris Robinson
53572da7de
Set toward-zero rounding when updating in alDeferUpdatesSOFT
2011-09-28 22:02:36 -07:00
Chris Robinson
8a0e0265bc
Clamp the low-pass reference gain to -60 dB instead of -40 dB
2011-09-25 11:32:51 -07:00
Chris Robinson
0ada7b2da5
Copy only the gains needed for the channel being mixed
2011-09-24 22:24:26 -07:00
Chris Robinson
1dee1245ff
A static source only has one buffer in the queue
2011-09-24 21:21:59 -07:00