Chris Robinson
c9a08fc7b2
Remove some unneeded functions
2009-12-28 13:12:45 -08:00
Chris Robinson
69ab93a824
Add a function to check if a config option is set to a non-empty value
2009-12-28 13:08:15 -08:00
Chris Robinson
179b660eee
Enforce a lower bound playback frequency of 8khz
2009-12-28 12:47:59 -08:00
Chris Robinson
a0ef7be9a5
Improve layout parsing and allow using long names for speakers
2009-12-28 11:49:55 -08:00
Chris Robinson
2a735b14dc
Add an option to spawn a PulseAudio server on request
2009-12-28 10:49:31 -08:00
Chris Robinson
a294dd8d9b
Be more lenient in signaling the mainloop
2009-12-28 10:15:59 -08:00
Chris Robinson
dc1522282b
Try to find a compatible format from Pulse's default sink
2009-12-27 11:05:59 -08:00
Chris Robinson
528a4c6a02
Update panning for existing AL contexts when creating a new one
2009-12-26 20:27:14 -08:00
Chris Robinson
1770a8b62b
A NULL Pulse context won't have a valid error code
2009-12-26 12:18:16 -08:00
Chris Robinson
77a0a6de95
Wait for the buffer attrib update from pulse to finish
2009-12-26 11:30:41 -08:00
Chris Robinson
c1fd977e79
Consolidate pulse capture failure path
2009-12-26 10:46:29 -08:00
Chris Robinson
cbbda93292
Make sure a proper channel map is set for pulse capture
2009-12-26 09:17:03 -08:00
Chris Robinson
c6340ce12d
Clean up some loading checks
2009-12-26 08:49:11 -08:00
Chris Robinson
7bc739e965
Use the proper logging function
2009-12-26 08:16:25 -08:00
Chris Robinson
9f988808c7
Start and stop PortAudio's stream in the proper methods
2009-12-26 08:14:28 -08:00
Chris Robinson
6e9ce47a4b
GetConfigValueBool should take an int, not a float
2009-12-26 07:42:57 -08:00
Chris Robinson
89f59c0e1c
Shorten a long line
2009-12-26 07:42:16 -08:00
Chris Robinson
3793919892
Capture as much as possible directly from PulseAudio
2009-12-25 17:56:57 -08:00
Chris Robinson
d1699d50f6
Add missing newline
2009-12-25 15:18:32 -08:00
Chris Robinson
b94d950b1e
Undefine no longer needed macro
2009-12-25 14:11:43 -08:00
Chris Robinson
d3e77a0f63
Fix incorrect error check
2009-12-25 13:19:25 -08:00
Chris Robinson
965a71ee90
Only use pa_stream_set_buffer_attr_callback when available (0.9.15+)
2009-12-25 13:17:21 -08:00
Chris Robinson
fd794b44b2
Use pa_stream_begin_write when available for "zero-copy" writing
...
Must be compiled against 0.9.16 or newer to be available. It will fall back to
the old method if the function is not available at run-time.
2009-12-25 13:11:17 -08:00
Chris Robinson
c9dcba17a9
Check error returns instead of error string
2009-12-25 13:05:04 -08:00
Chris Robinson
88de4e15b3
Mark the source for updating when setting a buffer on it
...
Changing the buffer can change the playback format, which can require different
source parameter calculations. Queueing a buffer on a source that has no
buffers (or only buffers without a format, eg. buffer 0) has the same effect
2009-12-25 05:09:29 -08:00
Chris Robinson
7f0c6629b9
Use a 64-bit value to scale potentially-large numbers
2009-12-24 15:41:45 -08:00
Chris Robinson
f6ca39403d
Use the Pulse server-specified playback rate by default
2009-12-24 15:35:22 -08:00
Chris Robinson
ea7cf35ea4
Use pa_xmalloc instead of pa_xmalloc0
2009-12-24 07:38:46 -08:00
Chris Robinson
accea119d9
Update pulse capture ring buffer in 25ms chunks
2009-12-24 04:08:04 -08:00
Chris Robinson
6ea7b43c90
Don't force latency adjustment with PulseAudio
2009-12-23 13:59:58 -08:00
Chris Robinson
ddfad996a9
Don't render mono as stereo
2009-12-21 02:59:30 -08:00
Chris Robinson
d786f99094
Scale samples down when converting stereo to mono
2009-12-21 02:27:25 -08:00
Chris Robinson
008563450c
Improve some indentations
2009-12-20 21:50:00 -08:00
Chris Robinson
69c238a2e6
Properly retrieve the device frequency
2009-12-20 21:19:57 -08:00
Chris Robinson
b3fdf170b1
Fix header comment for AL_PITCH
2009-12-16 22:50:54 -08:00
Chris Robinson
56cc038603
Improve initial decay calculations for sends to reverb
2009-12-10 18:37:36 -08:00
Chris Robinson
4c83c689a8
Use the specified reverb air absorption value for wet sends
2009-12-10 18:22:45 -08:00
Chris Robinson
2b7953c472
Track whether a context is suspended or not
2009-12-09 12:14:53 -08:00
Chris Robinson
368ef1cea9
Store the source state locally after making sure it needs mixing
2009-12-09 11:56:53 -08:00
Chris Robinson
bd696a6b37
Fix IMA ADPCM offset calculation
2009-12-09 09:50:09 -08:00
Chris Robinson
a9fc272e39
Prettify CMake checks for compiler switches
2009-12-09 08:46:35 -08:00
Chris Robinson
c5952d1ddc
Move the pkg-config file to the base directory
2009-12-09 07:36:06 -08:00
Chris Robinson
656a406377
Use an inline function to calculate the low-pass filter coefficient
2009-12-09 07:21:59 -08:00
Chris Robinson
5fcd6cc510
Split non-attenuated source calculations into a separate function
2009-12-09 07:02:26 -08:00
Chris Robinson
e09b6020a6
Fix typo for reverb creation
2009-12-09 06:46:06 -08:00
Chris Robinson
84d2d623b6
Add a head-dampening option
...
This simulates occlusion of the player's head for sounds coming from behind,
when outputing to mono or stereo
2009-12-08 14:18:07 -08:00
Chris Robinson
1694e5bd12
Store the original pre-clamped distance instead of re-computing it
2009-12-08 10:12:18 -08:00
Chris Robinson
5170e251f9
Use the correct wet filter history offset
2009-12-07 12:45:23 -08:00
Chris Robinson
4697e946d3
Internally store 32-bit float buffer data, and mix accordingly
2009-12-07 10:35:30 -08:00
Chris Robinson
9286e3984c
Move default channel order setting out of the header
2009-12-07 04:19:33 -08:00