423 Commits

Author SHA1 Message Date
Chris Robinson
facb922f3e Properly clamp high pitch values 2010-11-26 17:47:43 -08:00
Chris Robinson
7287b5cd3c Make the buffer padding size dependent on the resampler 2010-11-26 02:53:15 -08:00
Chris Robinson
0692cf304d Don't allocate padding with the buffer itself 2010-11-26 02:31:17 -08:00
Chris Robinson
88ebe7e4c1 Decrease the buffer size more 2010-11-26 02:14:11 -08:00
Chris Robinson
1cb29ece08 Make a FRACTIONONE macro, and use it 2010-11-26 01:21:46 -08:00
Chris Robinson
de8b7fbc5f Share the interpolation functions and use them in the reverb effect 2010-11-26 01:07:54 -08:00
Chris Robinson
e1c0b5ea24 Call MixSource directly, instead of through a function pointer 2010-11-25 23:09:18 -08:00
Chris Robinson
30820c1bde Add a cubic resampler 2010-11-25 23:05:44 -08:00
Chris Robinson
17fc4ba5e3 Add "pre-padding" to the temp buffer
This will help to implement resamplers that want previous samples
2010-11-25 21:42:15 -08:00
Chris Robinson
596514f7aa Make the buffer queue a double-linked list 2010-11-25 18:30:57 -08:00
Chris Robinson
aaff188b3b Remove the cosine resampler
It's too slow when auxiliary sends are being used.
2010-11-25 13:49:51 -08:00
Chris Robinson
f1bb7c33f1 Fix a bunch of comments 2010-11-25 12:07:12 -08:00
Chris Robinson
8e7a4046d0 Don't "convert" LOKI quad to MCFORMATS quad 2010-11-25 11:49:35 -08:00
Chris Robinson
22e3e9a18b Support 8-bit sample data in the mixer 2010-11-24 19:41:25 -08:00
Chris Robinson
c9363832fe Fully progress the source to a stopped state when no buffers are playable 2010-11-24 10:16:53 -08:00
Chris Robinson
6ab22e7cbb Reorder some stored source params 2010-11-24 10:01:50 -08:00
Chris Robinson
a7b4e0b5c5 Get rid of the device timer stuff 2010-11-21 06:32:59 -08:00
Chris Robinson
5f6f046d25 Use a double when converting millisecond offsets to byte offsets 2010-11-07 21:41:04 -08:00
Chris Robinson
65e033c64b Increase the max number of source sends to 4, and decrease the default to 1 2010-11-06 15:08:54 -07:00
Chris Robinson
07346da740 Use the number of sends the device is configured for in more places 2010-11-06 14:27:33 -07:00
Chris Robinson
c95f182a90 Remove unnecessary comments and reorder some lines 2010-11-06 14:07:30 -07:00
Chris Robinson
4f81bce800 Improve a macro to reference its parameter 2010-10-11 12:24:28 -07:00
Chris Robinson
932fcfa8bf Fix 64-bit compilation 2010-10-11 12:24:07 -07:00
Chris Robinson
92d8d2f8a4 Pass the device to the mix function and localize the dry mix and click buffers 2010-09-26 12:23:22 -07:00
Chris Robinson
9fbd6c6c3f Make the SourceMix function a method of the ALsource struct 2010-09-26 01:15:27 -07:00
Chris Robinson
e9d5e53dbe Use ALfloat for the dry mix buffer 2010-09-23 17:44:02 -07:00
Chris Robinson
67ba924ed3 Store and mix signed 16-bit samples 2010-09-22 23:38:06 -07:00
Chris Robinson
8558bc1d41 Allow accessing the buffer data as multiple data types in the mixer
Also reduces a bunch of indentation
2010-09-22 17:19:35 -07:00
Chris Robinson
97daaade8a Reduce some more indentation 2010-09-21 16:54:33 -07:00
Chris Robinson
8a1d5a21c3 Reduce some indentation 2010-09-21 15:12:08 -07:00
Chris Robinson
301a8ba3a4 Improve some range checks 2010-09-21 14:41:43 -07:00
Chris Robinson
2d4453968d Implement AL_SOFT_buffer_sub_data using the current AL_EXT_buffer_sub_data spec
This extension can be useful for some applications, but a full EXT version may
not be ready for some time. Using the SOFT moniker will help differentiate it
in case changes need to be done for the EXT version.
2010-09-21 09:43:35 -07:00
Chris Robinson
a2580a85a8 Improve range checking for BufferSubData 2010-09-19 14:00:55 -07:00
Chris Robinson
a2358ffc41 Source positions at and after the end of the buffer queue go back to 0 2010-09-09 18:27:14 -07:00
Chris Robinson
6e32812bc1 Remove unnecessary check 2010-09-07 22:38:29 -07:00
Chris Robinson
50a7be6385 Fix comparison check 2010-09-07 22:23:37 -07:00
Chris Robinson
3763c95784 Add missing else 2010-09-07 16:36:42 -07:00
Chris Robinson
5fa5252648 Watch for a few more negative sizes 2010-09-07 16:33:17 -07:00
Chris Robinson
1e82561a22 Check for invalid negative sizes 2010-09-07 16:18:24 -07:00
Chris Robinson
ba32a52bb6 Remove unused struct member 2010-09-07 16:07:35 -07:00
Chris Robinson
e5cae87502 Handle clicks by watching changes between updates 2010-08-16 14:53:21 -07:00
Chris Robinson
00525274a0 Add click removal for wet sends 2010-08-15 14:52:12 -07:00
Chris Robinson
2915d9dbd9 Use click removal to handle harsh panning/volume changes 2010-08-15 00:19:38 -07:00
Chris Robinson
0c49e5ba56 Use click removal when starting a source 2010-08-14 22:59:55 -07:00
Chris Robinson
b65bc45236 Add a corrective, click-remval sample value offset
This will hopefully be more effective and rebust at removing clicks and pops,
particularly from starts and stops in the middle of a sound. Based on an idea
by Ben Davis.
2010-08-14 21:30:14 -07:00
Chris Robinson
8003278a55 Combine non-attenuated source calculation functions 2010-08-07 06:57:31 -07:00
Chris Robinson
5f22d30fc9 Calculate the source stepping value with the param calculations 2010-08-07 05:43:16 -07:00
Chris Robinson
8f49f2c25e Forward some more source properties instead of duplicating 2010-08-07 01:35:43 -07:00
Chris Robinson
98bc60cfb7 Combine stereo and stereo-duplicate mixers
Use a separate update method for stereo sources to the set appropriate channel
gains
2010-08-05 01:07:20 -07:00
Chris Robinson
e74976e645 Use a callback to specify the source update method 2010-08-03 23:10:00 -07:00