Chris Robinson
6bfdb57a5b
Use a 12dB/oct rolloff instead of 24 for the lowpass filter
2008-09-13 02:46:14 -07:00
Chris Robinson
26e8ea60a5
Store pi as a static const
2008-09-13 00:44:48 -07:00
Chris Robinson
16d96eed7b
Add a Solaris playback backend
2008-09-07 14:34:14 -07:00
Chris Robinson
fa76168683
Clear the end of the buffer when at the end of the queue and not looping
2008-09-06 14:08:53 -07:00
Chris Robinson
db541f3cfa
Remove unneeded source struct member
2008-08-15 17:43:07 -07:00
Chris Robinson
ac8c082b89
Overwrite the input wet sample with the output
2008-08-14 20:44:55 -07:00
Chris Robinson
22557070ec
Ramp channel gains to remove pops and clicks from abrupt changes
...
Thanks to Christopher Fitzgerald for helping me work on it
2008-08-14 05:43:52 -07:00
Chris Robinson
ef59901e7c
Set FPU mode to round toward zero for mixing
2008-08-08 07:32:21 -07:00
Chris Robinson
cfe620ccb5
Remove unnecessary casting
2008-08-08 00:21:25 -07:00
Chris Robinson
453b015225
Prevent a 0 or negative increment for the buffer position
...
Thanks to Christopher Fitzgerald for pointing these last two problems out
2008-08-05 20:51:30 -07:00
Chris Robinson
c1cf9ae8f6
Pass a dummy variable to CreateThread to satisfy Win9x
2008-08-05 20:19:13 -07:00
Chris Robinson
869b041f2f
Reduce the default buffer size to 4096
...
Should help with latency issues some people have and not put too much extra
burden on the mixer, hopefully
2008-07-26 21:07:08 -07:00
Chris Robinson
597e01153e
Use arrays instead of pointer-to-arrays for the low-pass filter
2008-07-26 17:13:50 -07:00
Chris Robinson
d3e5fcd13e
Fix some calculations for the reverb buffer
2008-07-26 01:57:04 -07:00
Chris Robinson
3e0f9cc716
Make the filter processing function inline
2008-07-26 00:58:54 -07:00
Chris Robinson
c7e49c9f57
Implement yet another low-pass filter
...
This one using the Butterworth IIR filter design
2008-07-25 19:31:12 -07:00
Chris Robinson
559c786d0c
Specify padding per buffer, and make sure it's large enough for the filter step
2008-07-24 00:41:25 -07:00
Chris Robinson
c3a7480961
Don't advertise extra samples for mixing
2008-07-23 23:27:38 -07:00
Chris Robinson
a75e75aef5
Implement an alternative low-pass filter
...
This method samples from the buffer so that it gets a time-correct 5khz stream,
which is subtracted from the original sample and has the high-frequency gain
applied, then added back.
A better method may be to average all the samples from the current one to the
one freq/5000 away, instead of bilinear filtering the two nearest freq/5000
apart. Processing cost will need to determine its viability
2008-07-23 22:29:53 -07:00
Chris Robinson
93c0f61050
Clarify implicit destruction warnings
2008-07-22 14:29:27 -07:00
Chris Robinson
87b5d7bc7b
Store extension list with a pointer, not a per-context array
2008-07-22 12:39:10 -07:00
Chris Robinson
eba60c30c5
Don't force initialization when shutting down
...
Thanks to Michael Simms
2008-07-17 18:45:21 -07:00
Chris Robinson
e66bb09156
Move (de)initialization into ALc.c and remove unneeded file
2008-07-17 18:38:07 -07:00
Chris Robinson
0042b1f80d
Implement doppler factor source property
2008-07-15 02:33:05 -07:00
Chris Robinson
6d416ee734
Add the reverb room rolloff to the source room rolloff, not override
2008-07-15 02:23:53 -07:00
Chris Robinson
9e9ff44b17
Use volatile for member variables that are changed in a different thread
2008-07-10 20:36:28 -07:00
Chris Robinson
f369be148f
Reduce the mix buffer sizes by half
...
Nearly 3MB is a bit much. Could reduce it further, but this is good enough for now.
2008-07-08 19:37:14 -07:00
Chris Robinson
3a09e446b3
Leave SourceToListener untransformed for use with untransformed velocities
...
Distance is also left untransformed so cone calculations with SoundToListener
are correct
2008-07-03 03:13:43 -07:00
Chris Robinson
2d0b12e49e
Store thread return value in the struct to avoid void*-to-uint casting
2008-06-17 19:46:37 -07:00
Chris Robinson
376997c3ef
Fix config value check
2008-06-04 20:44:51 -07:00
Chris Robinson
15783d25e7
Don't override the format config option in DSound
2008-06-04 18:33:02 -07:00
Chris Robinson
3243f69f21
Use %AppData%\alsoft.ini for the config file in Windows
2008-06-04 18:09:21 -07:00
Chris Robinson
10a87f510c
Protect RingBufferSize calculation with the mutex
2008-06-04 17:01:44 -07:00
Chris Robinson
ca6feeda29
Make sure the lib is initialized when shutting down
...
Pretty ugly, but the destructor sequence relies in the mutex being initialized
2008-05-18 20:17:31 -07:00
Chris Robinson
fed346c285
Fix source calculations for AL_SOURCE_RELATIVE mode
...
Make sure the source position and direction are properly put into listener-
space before working with them, and don't calculate the listener velocity for
relative coordinates
2008-05-18 16:52:38 -07:00
Chris Robinson
6e86146a25
Prepare the ALSA PCM handle before starting capture
...
Thanks to Jason Daly for pointing it out
2008-05-06 16:05:36 -07:00
Chris Robinson
49d9695ad9
Check the right struct member for the filter type
2008-04-12 07:25:18 -07:00
Chris Robinson
e15bc6b9ba
Fill the correct capture device list
2008-04-05 20:33:19 -07:00
Chris Robinson
2af5498804
Define _WIN32_WINNT to 0x0500 when including windows.h
...
VC7 appears to require that value, or higher, set and fails otherwise
2008-03-01 01:39:42 -08:00
Chris Robinson
2b42d7fdb8
Don't start the DSound playback thread is startup failed
2008-03-01 00:57:37 -08:00
Chris Robinson
b1bdd7c89f
Add the first card after making sure there's a useable device on it
2008-02-15 21:48:00 -08:00
Chris Robinson
ffe7a11866
Avoid a static variable for enumerating
2008-02-15 21:09:19 -08:00
Chris Robinson
8c3188bc7d
Remove FrameSize struct member
2008-02-14 22:05:56 -08:00
Chris Robinson
880196e5a8
Remove unneeded headers
2008-02-13 19:42:47 -08:00
Chris Robinson
d523b440e3
Wait for a PCM handle to be ready for more data instead of polling every 1ms or so
2008-02-13 19:34:47 -08:00
Chris Robinson
f2875d5d13
Read in chunks of the fragment size, not expected buffer size
2008-02-12 21:19:09 -08:00
Chris Robinson
b0720333cc
UpdateSize is not used for capture devices
2008-02-12 19:50:49 -08:00
Chris Robinson
c3446a10fa
Rename UpdateFreq device field to UpdateSize
2008-02-12 19:38:27 -08:00
Chris Robinson
fbc869eed7
Pretend DSound buffer fragment size is 1/4th the total buffer size
2008-02-12 19:24:08 -08:00
Chris Robinson
e3e4dbbccf
Make the backend list static
2008-02-11 17:24:04 -08:00