Chris Robinson
4e399b41cd
Calculate source filter coefficients with the source parameters
2009-10-21 13:08:50 -07:00
Chris Robinson
bdec1e037f
Remove unnecessary variable
2009-10-21 12:48:04 -07:00
Chris Robinson
9924cce466
Make sure the ALSA device list is reset if no cards are found
2009-10-21 11:53:45 -07:00
Chris Robinson
d3ecbd75af
Clear the echo and delay lines even if the buffer doesn't change size
2009-10-21 02:03:33 -07:00
Chris Robinson
75b65ab2a2
Remove the Frequency field from the context
2009-10-20 13:47:55 -07:00
Chris Robinson
eca8825ab4
Explicitly suspend the context being processed for mixing
2009-10-20 13:38:02 -07:00
Chris Robinson
9f9b7cf885
Make sure the context is properly locked while updating slots and sends
2009-10-20 13:02:28 -07:00
Chris Robinson
cd695d7f15
Allow creating multiple contexts on a device
2009-10-20 12:58:19 -07:00
Chris Robinson
9c0ae597cd
Make sure the effect slots and source sends are properly updated
...
Slots need to be updated due to possible frequency changes, and source sends
need to be updated in case some active sends were disabled
2009-10-20 12:53:07 -07:00
Chris Robinson
4461b4c56f
Be more tolerant with resetting the fragment size
2009-10-20 12:28:51 -07:00
Chris Robinson
93361118b7
Store a device's contexts in a dynamic array
2009-10-20 11:54:04 -07:00
Chris Robinson
50f963f6c6
Don't try to clamp the listener-to-source velocity for local sources
...
Local sources will always have a 0 VLS value
2009-10-20 11:03:16 -07:00
Chris Robinson
67c3e47ed4
Avoid handling NaN when scaling float samples for output
2009-10-20 09:48:09 -07:00
Chris Robinson
f14cf8289e
Add a method to update device-dependant effect parameters.
...
The effect state's update method will be called afterwards
2009-10-20 08:31:44 -07:00
Chris Robinson
790aa68621
Reduce indentation for CalcSourceParams
2009-10-19 13:25:40 -07:00
Chris Robinson
6d1d61026d
Be context-agnostic in the effect Create functions
...
This allows the effect Update functions to handle the playback frequency being
changed. By default the effects assume a maximum frequency of 192khz, however,
it can go higher at the cost of the sample buffers being cleared and the risk
of an abort() if reallocation fails
2009-10-19 07:46:53 -07:00
Chris Robinson
a4e3ca933b
EINTR is not a fatal write error
2009-10-19 00:33:00 -07:00
Chris Robinson
1fb58f9f8e
Fix OSS and Solaris playback loop check
2009-10-17 22:17:59 -07:00
Chris Robinson
86e0b9386d
Remove duplicate check in ALSA mmap playback
2009-10-16 10:57:58 -07:00
Chris Robinson
c7c4cf221a
Make the dry buffer part of the device
2009-10-09 01:06:33 -07:00
Chris Robinson
d6e439244a
Rename SetALCError for consistency
2009-10-07 04:32:14 -07:00
Chris Robinson
5ff225fa1b
Add missing ) in pulseaudio backend
2009-10-02 07:34:49 -07:00
Chris Robinson
2a77e840cc
Fix type casts for 7.1 output
2009-09-30 16:02:49 -07:00
Chris Robinson
00272883f6
Fallback to 16-bit or 8-bit, or mono, if ALSA doesn't accept the request
2009-09-27 08:35:10 -07:00
Chris Robinson
bd6f3b1273
Report disconnect if the device fails to reset
2009-09-27 04:58:42 -07:00
Chris Robinson
4e9767bb22
Don't store the ALSA format
2009-09-27 04:03:11 -07:00
Chris Robinson
1d54b7a266
Fix capture, too
2009-09-27 03:57:19 -07:00
Chris Robinson
c9506d939a
Make sure ALSA properly loads, and fix the thread stop condition
2009-09-27 01:12:42 -07:00
Chris Robinson
21217824b7
Avoid duplicate error handling
2009-09-27 00:58:11 -07:00
Chris Robinson
8024df2991
Load backend libs on-demand
2009-09-27 00:21:40 -07:00
Chris Robinson
8d29d25d60
Condense some local variables
2009-09-24 14:51:40 -07:00
Chris Robinson
af8e7ab984
Check the source start position in alSourcePlayv instead of the mixer
2009-09-24 12:24:10 -07:00
Chris Robinson
4289d5de7d
Parse the attribute list and reset the device before creating the context
2009-09-24 11:31:01 -07:00
Chris Robinson
83734aff0e
Slightly improve the multi-channel mixing loops
2009-09-24 08:52:51 -07:00
Chris Robinson
617b6728d3
Remove the state callbacks and watch for changes synchronously
2009-09-24 00:26:41 -07:00
Chris Robinson
7a8fd6cb20
Get rid of unnecessary messages from pulseaudio
2009-09-23 08:34:15 -07:00
Chris Robinson
55da339586
Properly clean up the pulse device
2009-09-23 08:19:00 -07:00
Chris Robinson
774eae0f2f
Silence unused parameter warning
2009-09-23 07:10:23 -07:00
Chris Robinson
201b108a54
Attempt to reload backend libs when probing, if they didn't initially load
2009-09-23 01:33:58 -07:00
Chris Robinson
bdbdbcea26
Update in properly-sized chunks for PulseAudio
2009-09-23 01:24:10 -07:00
Chris Robinson
f6c1a21cf0
Properly flip the backend entries when sorting the device list
2009-09-22 04:42:46 -07:00
Chris Robinson
c953072a15
Fix reset condition check
2009-09-22 00:16:21 -07:00
Chris Robinson
93f3e9357b
(Re)allocate and clear the stereo-to-binaural filter as needed
2009-09-21 23:52:59 -07:00
Chris Robinson
8ea8b49464
Avoid locking a NULL context when a device is disconnected
2009-09-21 23:31:04 -07:00
Chris Robinson
62cef44dcb
Reinitialize the stereo-to-binaural filter after resetting the device
2009-09-21 23:25:26 -07:00
Chris Robinson
a2edc95207
Properly set the number of sends requested by the app
2009-09-21 23:18:39 -07:00
Chris Robinson
b641f993ac
Hide the wave writer device if no output file is set
2009-09-21 05:03:40 -07:00
Chris Robinson
e2905b6bc9
Properly handle forced 32-bit float output with DSound
2009-09-21 02:57:17 -07:00
Chris Robinson
e11b59a80f
Return imediately if trying to set an unknown format
2009-09-21 02:53:33 -07:00
Chris Robinson
0ae02e8ad4
Support floating point capture for backends that can handle it
2009-09-21 02:31:33 -07:00