Chris Robinson
e095047b02
Small fixups
2009-10-25 06:16:21 -07:00
Chris Robinson
31a106344f
Calculate more store only once per loop
2009-10-25 05:34:47 -07:00
Chris Robinson
b0a82aa420
Store the buffer format and frequency in the source when updated
2009-10-25 05:03:22 -07:00
Chris Robinson
c003d6032d
Retreive and store source params once per mix update
2009-10-25 04:39:36 -07:00
Chris Robinson
1665595138
Remove unneeded bufferlistitem properties
2009-10-25 02:59:31 -07:00
Chris Robinson
bbccf76b45
Dereference left over buffers and slots when sources are released
2009-10-24 07:09:44 -07:00
Chris Robinson
1f47fa9243
Try 32-bit float before 16-bit, and stereo before mono
2009-10-24 03:20:47 -07:00
Chris Robinson
7b24a12a66
Check for the -pthread switch instead of using _REENTRANT
2009-10-23 10:36:32 -07:00
Chris Robinson
921e7ac3e9
Store the buffer handle directly in the source and buffer queue list
2009-10-22 09:31:26 -07:00
Chris Robinson
8d807add41
Store the bufferID in the buffer struct
2009-10-22 08:53:59 -07:00
Chris Robinson
8501fce38b
Remove unused source fields
2009-10-21 15:40:09 -07:00
Chris Robinson
55d7984582
Set the calculated source parameters directly
2009-10-21 15:31:21 -07:00
Chris Robinson
8dbac9c0bd
Store the calculated source parameters in the source struct
2009-10-21 14:25:54 -07:00
Chris Robinson
47b8510b0c
Don't assume 16-bit samples
2009-10-21 13:50:53 -07:00
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
f72b6fe717
Release 1.9.563
2009-09-26 01:42:21 -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