Chris Robinson
0db9730a50
Add an option to allow PulseAudio to move streams
...
This could be made the default, if there's a safe way to update the AL device
specifier.
2012-06-16 22:32:19 -07:00
Chris Robinson
ad2643d8af
Clarify some comments, fix some definition ordering, and add some includes
2012-06-15 23:46:09 -07:00
Chris Robinson
46840ee787
Add DEVPKEY_Device_FriendlyName declaration for mingw-w64 compatibility
2012-06-14 18:10:10 -07:00
Chris Robinson
1e0282a238
Add some more entries to .gitignore
2012-05-09 16:30:22 -07:00
Chris Robinson
259e4f5b38
Rename AllDevice -> AllDevices
2012-05-09 16:28:16 -07:00
Chris Robinson
e44229c74e
Clamp the ALSA period time between min and max if setting near fails
2012-05-08 01:23:53 -07:00
Chris Robinson
92827cc467
Clamp the ALSA buffer time between min and max if setting near fails
...
It seems there's some bugs with snd_pcm_hw_params_set_buffer_time_near that
cause it to return "invalid argument" despite a valid nearby buffer time being
available. Clamping the buffer time seems to mitigate the issue a bit.
2012-05-07 11:42:59 -07:00
Chris Robinson
dd3d5bc2d4
Look for libsndio.so.2 instead of libsndio.so
2012-05-05 16:19:51 -07:00
Chris Robinson
b4c7b3309a
Only use _FPU_GETCW and _FPU_SETCW for x86 targets
2012-05-03 12:15:51 -07:00
Chris Robinson
010a66487d
Use 2 chained one-pole filters for the wet path
2012-04-30 09:33:00 -07:00
Chris Robinson
aed35fd811
Use ComputeAngleGains for multi-channel sources and remove the unused lookup table stuff
2012-04-29 05:04:46 -07:00
Chris Robinson
8d9838012d
Remove the stereodup option
...
There's better ways to do it now with "wide" sound sources.
2012-04-29 04:44:53 -07:00
Chris Robinson
57d36ec582
Fix a couple comment typos, and a minor cleanup
2012-04-29 03:39:08 -07:00
Chris Robinson
febc2a50cb
Use ComputeAngleGains for 3D sounds
2012-04-28 13:06:16 -07:00
Chris Robinson
74e128bd0f
Fix ComputeAngleGains
...
The old code would improperly handle speakers just inside or outside the
coverage area if it had to be inverted. It also didn't properly handle when
only one speaker was outside of the covered area.
2012-04-28 12:12:02 -07:00
Chris Robinson
c34d78f417
Use ComputeAngleGains for the echo and dedicated effects
2012-04-28 08:24:09 -07:00
Chris Robinson
611bd0b2d3
Add a method to calculate gains given a sound point and its half-width, and use it for reverb
...
The half-width ranges from 0 to pi, and essentially specifies the coverage area
around the listener. At 0, it's an infinitely small point sound and behaves
like a usual panning sound. At pi/2 it covers half the area, and at pi it
covers the whole area.
2012-04-28 08:21:53 -07:00
Chris Robinson
267d38cf20
Flip the parameters to aluCart2LUTpos, so it behaves a bit more like atan2
2012-04-28 03:58:58 -07:00
Chris Robinson
26456f13e1
Pass the direct/send params to the mixer instead of accessing through the source
2012-04-28 03:31:13 -07:00
Chris Robinson
2484c44db0
Apply the listener gain with the filter
2012-04-28 03:13:37 -07:00
Chris Robinson
a8a13fcbd8
Move the HrtfParams into the DirectParams
2012-04-28 02:23:53 -07:00
Chris Robinson
0a193c5645
Move the direct and send params into separate different types
2012-04-28 01:32:52 -07:00
Chris Robinson
2450ee1723
Use separate methods for the dry and wet mixing loops
2012-04-27 23:46:51 -07:00
Chris Robinson
67f1cdfcbe
Store the speaker angles in the device
2012-04-27 07:38:17 -07:00
Chris Robinson
549d542a31
Reorganize some ALsource fields
2012-04-27 01:36:13 -07:00
Chris Robinson
2cdb58fb85
The mixer always uses floats
2012-04-26 07:50:17 -07:00
Chris Robinson
68ab232364
Use a separate loop to actually update DataPosFrac and DataPosInt
2012-04-26 06:44:37 -07:00
Chris Robinson
871d61f3f9
Add and fixup some ALsource comments
2012-04-26 03:26:22 -07:00
Chris Robinson
b08bd3746e
Add AL_EXT_SOURCE_RADIUS to alext.h
2012-04-26 02:05:49 -07:00
Chris Robinson
39ab0b0aa3
Add AL_EXT_STEREO_ANGLES to alext.h
2012-04-26 01:19:25 -07:00
Chris Robinson
5c70cacc13
Fixup some comments in ALu.c
2012-04-26 00:59:17 -07:00
Chris Robinson
8c2cd057b2
Fix a minor typo
2012-04-25 19:37:12 -07:00
Chris Robinson
fdc4133ac9
Partially convert alEffect.c and alFilter.c to the new error handling
2012-04-25 00:24:02 -07:00
Chris Robinson
3833c021c0
Move a comment
2012-04-25 00:03:01 -07:00
Chris Robinson
cafbd9461e
Fix up alEffect.c and alFilter.c a bit
2012-04-24 23:06:10 -07:00
Chris Robinson
6995ac1ed2
Change alAuxEffectSlot.c to the new error handling
2012-04-24 22:57:23 -07:00
Chris Robinson
58e3dc3d52
Add a SIGTRAP for when alGetError is called without a context
2012-04-24 21:41:01 -07:00
Chris Robinson
3e49e79140
Couple small error handling fixups
2012-04-24 03:52:21 -07:00
Chris Robinson
dec8e81211
Change alState.c to the new error handling
2012-04-24 03:09:28 -07:00
Chris Robinson
4188a5f3f3
Fix compiling al.h with C++
2012-04-24 02:51:23 -07:00
Chris Robinson
31d124582b
Switch alBuffer.c to the new error handling scheme, and get rid of more hungarian notation
2012-04-24 00:17:05 -07:00
Chris Robinson
248e079301
Switch alListener.c to the new error handling scheme, and get rid of more hungarian notation
2012-04-23 21:35:05 -07:00
Chris Robinson
5ce850570f
Add try/catch-like macros to handle errors, and convert alSource.c to use them
2012-04-23 19:46:05 -07:00
Chris Robinson
648464a2da
Check the right playback device file with OSS
2012-04-22 05:06:44 -07:00
Chris Robinson
29f77003c0
Some alSource.c cleanups
2012-04-21 05:56:03 -07:00
Chris Robinson
dfa38ed7a5
Reformat alc/h and al.h, and redo the comments
2012-04-21 04:34:08 -07:00
Chris Robinson
66c918c84b
Remove export pragmas from headers
...
Available information suggests it's only useful for Mac OS9 and earlier (not
OSX).
2012-04-20 22:53:47 -07:00
Chris Robinson
77f55da6c7
Use a macro to declare the function and enum list members
2012-04-20 22:38:03 -07:00
Chris Robinson
d6af7cdcb2
Rename another variable to avoid hungarian notation
2012-04-20 22:37:36 -07:00
Chris Robinson
0ad8047820
Combine ALCenum and ALenum lists
2012-04-20 01:24:58 -07:00