Chris Robinson
67ba924ed3
Store and mix signed 16-bit samples
2010-09-22 23:38:06 -07:00
Chris Robinson
764cfb6a0d
Allow the mixing loop to access the different sample formats
2010-09-22 20:53:04 -07:00
Chris Robinson
4e3c945093
Compact some reused code
2010-09-22 18:49:46 -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
03f56419d0
Duplicate stereo sources by default
...
The mixer is smart enough now to handle proper volume adjustments depending on
the number of output speakers
2010-09-22 11:09:34 -07:00
Chris Robinson
3ee9d24c3f
Use separate macros for the different mixing loops
2010-09-22 09:38:24 -07:00
Chris Robinson
9b1ad6c873
Consolidate some code
2010-09-21 19:49:47 -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
8a0e15ff37
Store air absorption factor locally
2010-09-12 00:10:33 -07:00
Chris Robinson
8953a73fb1
Prevent effectiveDist from going negative
2010-09-11 23:57:15 -07:00
Chris Robinson
1a2883ae9a
Pass dry-path click buffers as parameters to MixSource
2010-09-11 23:43:12 -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
33eb2786f8
Avoid another non-descript incrementing variable
2010-09-09 16:47:54 -07:00
Chris Robinson
c8ec4fd505
Avoid using a single-letter iterator value
2010-09-09 14:53:14 -07:00
Chris Robinson
fe98ab5398
Combine multiple checks into one
2010-09-08 17:29:16 -07:00
Chris Robinson
76be7eb1e7
Better protect against sample overflow when converting float to short
2010-09-08 16:26:19 -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
6027fda0ce
Combine two arrays into one
2010-08-16 16:07:44 -07:00
Chris Robinson
e5cae87502
Handle clicks by watching changes between updates
2010-08-16 14:53:21 -07:00
Chris Robinson
ba0ec1b4ba
Use the correct value to dereference an array
2010-08-16 11:42:18 -07:00
Chris Robinson
2acd6f52f1
Add a bit more information to the README
2010-08-15 16:55:11 -07:00
Chris Robinson
b520228bc6
Consolidate some click removal calculations
2010-08-15 15:55:02 -07:00
Chris Robinson
343a8241ab
Use a multiplier instead of if checks
2010-08-15 15:09:38 -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
94b7e5a227
Rename Null Output to No Output
2010-08-13 22:06:38 -07:00
Chris Robinson
928572d384
Start the device when creating a context without specified attributes
2010-08-12 17:24:55 -07:00
Chris Robinson
2d1988bb6f
Output on available channels only, for the echo and modulator effects
2010-08-09 06:12:00 -07:00
Chris Robinson
e007dc3614
Fix early/late reverb panning, and only output reverb on available channels
2010-08-09 05:11:58 -07:00
Chris Robinson
2ed929eadc
Update device parameters using a separate function
2010-08-09 00:28:48 -07:00
Chris Robinson
f1924fa7ea
Decrement context count when it's removed from the list
2010-08-08 02:48:28 -07:00
Chris Robinson
df822513fa
Don't re-init and re-allocate some stuff when the device is left running
2010-08-07 09:13:51 -07:00
Chris Robinson
762bdaeee1
Panning init cleanup
2010-08-07 08:49:29 -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
d6dc855511
Set up increment once
2010-08-07 02:32:16 -07:00
Chris Robinson
8f49f2c25e
Forward some more source properties instead of duplicating
2010-08-07 01:35:43 -07:00
Chris Robinson
f4304ca062
Calculate the actual stepping value in the source update method
2010-08-07 00:38:02 -07:00
Chris Robinson
044662e4b7
Calculate gain steps once during a source mix
2010-08-06 07:55:00 -07:00