Chris Robinson
632b4e6332
Avoid some channel order duplication
2011-06-16 00:00:40 -07:00
Chris Robinson
f26798bd19
Remove some unnecessary casts
2011-06-15 23:52:21 -07:00
Chris Robinson
7f4dcefc80
Remove the databuffer functions and structs
...
It's been disabled for a while now, and not likely to be re-enabled.
2011-06-15 23:46:35 -07:00
Chris Robinson
d702cb9b49
Avoid an unnecessary lock when retrieving the current context
2011-06-15 23:22:34 -07:00
Chris Robinson
2081228055
Declare some variables where they're used
2011-06-15 06:45:51 -07:00
Chris Robinson
f85283c036
Don't prematurely set the HRTF flag
2011-06-15 02:00:41 -07:00
Chris Robinson
14d6ab384d
Use a flag to specify when a device is running
2011-06-15 01:59:07 -07:00
Chris Robinson
62036745f3
Separate config init from library init
...
OSX has a bug where the file descriptor resource limit can't be increased once
certain functions (such as fopen) are used. Since lib initialization happens in
a global constructor and includes opening and parsing config files, it prevents
apps from being able to increase the rlimit once the lib is loaded, which is
usually before main().
By delaying config init, it allows apps the opportunity to change the rlimit
before calling certain OpenAL functions.
2011-06-14 09:43:33 -07:00
Chris Robinson
264274685a
Throw an error when no global initialization is available
2011-06-14 08:47:53 -07:00
Chris Robinson
1babf28491
Unset the local context if it's being destroyed
2011-06-14 08:27:09 -07:00
Chris Robinson
5a15dc4ddf
Avoid multiple list searches when destroying devices and contexts
2011-06-14 07:04:08 -07:00
Chris Robinson
0f782b385b
Create TLS for contexts earlier
2011-06-14 06:57:51 -07:00
Chris Robinson
1534fcfafd
Remove some unneeded includes
2011-06-14 05:06:39 -07:00
Chris Robinson
1c7ed6e693
Avoid using function pointers directly in the ALSA backend
...
Also make it use the lib wrappers
2011-06-14 05:00:59 -07:00
Chris Robinson
0c5c56cf88
Avoid using function pointers directly in the PulseAudio backend
...
Also, switch to the lib wrapper functions
2011-06-14 04:45:52 -07:00
Chris Robinson
53c5275aa4
Use a proper enum for the probe type
2011-06-14 04:02:58 -07:00
Chris Robinson
c93d7a1721
Open the logfile in append/text mode
2011-06-14 03:04:00 -07:00
Chris Robinson
9c7dad1bdf
Combine multiple probe functions into one
2011-06-14 02:28:15 -07:00
Chris Robinson
bfe09b933e
Trace errors in the opensl callback
2011-06-14 01:51:44 -07:00
Chris Robinson
823f5779e1
Set format_pcm according to the device format
2011-06-14 01:48:13 -07:00
Chris Robinson
96a18ba1d5
Make fewer assumptions on the OpenSL buffer count
2011-06-12 19:36:28 -07:00
Chris Robinson
b8bb41107c
Don't be silent when an OpenSL error occurs
2011-06-12 18:10:01 -07:00
Chris Robinson
ccffb7e380
Add missing semicolon
2011-06-12 16:30:51 -07:00
Chris Robinson
39088b2035
Uninline the timeGetTime wrapper
2011-06-12 05:04:36 -07:00
Chris Robinson
ba069ded40
Add an OpenSL backend
...
Currently for Android's OpenSL ES implementation
2011-06-12 04:41:42 -07:00
Chris Robinson
6b8209fdc9
Cleanup dynamic loading in the PortAudio backend
2011-06-12 04:37:32 -07:00
Chris Robinson
ccf62fc525
Add wrappers to handle dyanmically loading libs
2011-06-12 04:36:24 -07:00
Chris Robinson
6bfab6427a
Avoid calling some function pointers directly
2011-06-12 03:55:02 -07:00
Chris Robinson
aab4f85383
Change HRTF table user input format
2011-06-03 03:15:13 -07:00
Chris Robinson
99b9208896
Improve default HRTF filter delays
...
They're now rounded from the source's float delays
2011-06-03 03:09:13 -07:00
Chris Robinson
7402e3743d
Readd the default HRTF filter (based on the diffuse set)
2011-06-03 01:47:33 -07:00
Chris Robinson
7ddfacb58f
Use a minimum phase HRTF data set
...
This reduces the coefficient size from 128 down to 32, with a set of delays
2011-06-03 01:06:00 -07:00
Chris Robinson
c7a80418d9
Separate device-type parameter checks for alcGetIntegerv
2011-05-29 23:20:33 -07:00
Chris Robinson
e98104dac8
Avoid holding locks once the context is removed from the lists
2011-05-29 23:03:59 -07:00
Chris Robinson
884f668855
Uninline a couple more functions
2011-05-29 03:28:34 -07:00
Chris Robinson
2bbe9d1b1f
Uninline a couple mutex wrapper functions
2011-05-29 03:08:26 -07:00
Chris Robinson
91c3cffe41
Protect the mixer while the device's context array is being updated
2011-05-29 03:04:32 -07:00
Chris Robinson
60a55aa897
Hold the global lock while the device is being updated
2011-05-29 02:56:00 -07:00
Chris Robinson
9325a78043
Use a separate lock for device and context list accesses
2011-05-29 02:26:46 -07:00
Chris Robinson
cd0e80126c
Require a lock for IsDevice calls
2011-05-28 22:21:11 -07:00
Chris Robinson
1778c0d7d8
Get the device format directly from the string
2011-05-28 21:37:33 -07:00
Chris Robinson
b07901f1a0
Set the subformat type when an unknown one is encountered
2011-05-28 21:21:37 -07:00
Chris Robinson
a15a1abb21
Trace the format that is set when reporting HRTF disabled
2011-05-28 20:40:46 -07:00
Chris Robinson
7da2eea8f0
Add a 5.1 device format that uses side channels instead of back
2011-05-28 19:35:32 -07:00
Chris Robinson
596a1af7d9
Switch to the diffuse HRTF data set
2011-05-26 15:43:26 -07:00
Chris Robinson
6b6a7757ce
Clear HRTF coefficients for the LFE channel
2011-05-25 19:04:19 -07:00
Chris Robinson
8a6266239c
Rename Quad to Quadraphonic
2011-05-24 14:34:53 -07:00
Chris Robinson
d83af679bd
Fix handling of GUID definitions
2011-05-22 13:29:32 -07:00
Chris Robinson
af005668da
Avoid using an unnecessary temp variable
2011-05-21 23:14:55 -07:00
Chris Robinson
d07e94056d
Use libuuid when it has MMDevApi's UIDs
2011-05-21 21:57:44 -07:00
Chris Robinson
4d7aab1df4
Make some declarations static or static const
2011-05-21 21:28:27 -07:00
Chris Robinson
c3cbfecbae
Remove duplicate macros
2011-05-21 21:16:30 -07:00
Chris Robinson
a9d9553fff
Use a multi-dimensional array for the panning LUT
2011-05-21 17:45:54 -07:00
Chris Robinson
5cdf774ea7
Use the stored sample and channel count
2011-05-21 17:36:54 -07:00
Chris Robinson
b75d4beb1a
Dedicated dialog should go in front
2011-05-20 09:50:31 -07:00
Chris Robinson
35a0430c81
Store the separate effect parameters in a union
2011-05-20 09:36:36 -07:00
Chris Robinson
cbbb04eb40
Always fully normalize the position when using HRTF
2011-05-20 07:58:05 -07:00
Chris Robinson
7396aaf2c2
Fix HRTF elevation calculation
2011-05-19 17:57:14 -07:00
Chris Robinson
555ccce4ee
Update the device update fields after initializing the MMDevApi device
2011-05-19 15:55:27 -07:00
Chris Robinson
b838d123f8
Multiply the history offset in the filtering funcitons
2011-05-18 18:52:47 -07:00
Chris Robinson
1d3926e187
Remove some more duplication
2011-05-18 18:49:41 -07:00
Chris Robinson
c316766144
Use lerp() in a couple more places
2011-05-18 18:09:04 -07:00
Chris Robinson
c00b2f9254
Avoid looking in the buffer queue to find the frame size
2011-05-18 17:02:18 -07:00
Chris Robinson
06f5f0b7c8
Make mixers channel-count agnostic
...
As a result, this combines/removes a bunch of mixers
2011-05-17 13:25:15 -07:00
Chris Robinson
9f91ff4734
Move the channel loop to the outside of the sample mixing loop
2011-05-17 12:49:26 -07:00
Chris Robinson
f7936b4709
Avoid multiple getenv calls to the same var
2011-05-17 10:15:53 -07:00
Chris Robinson
2abeed069b
Improve handling of format support for MMDevApi
2011-05-17 04:54:09 -07:00
Chris Robinson
569106acd3
Fix COM initialization with MMDevApi
2011-05-16 10:31:38 -07:00
Chris Robinson
507d2f8afb
Properly set the channel order for WinMM playback
2011-05-16 10:28:17 -07:00
Chris Robinson
54769a823e
Implement playback using MMDevApi
2011-05-16 04:13:37 -07:00
Chris Robinson
cf3287f8ec
Fix closing of waveOut devices
2011-05-16 03:16:47 -07:00
Chris Robinson
c5fbc9f05c
Define GUIDs in ALc.c instead of the individual backend source files
2011-05-15 21:47:50 -07:00
Chris Robinson
2940b0f390
Add a skeleton backend for MMDevApi
2011-05-15 20:26:25 -07:00
Chris Robinson
e95b718cf4
Improve handling of device channels with DSound
2011-05-15 05:24:27 -07:00
Chris Robinson
143c08bfcb
Use channel config strings in log output
2011-05-15 04:49:18 -07:00
Chris Robinson
b3902c8950
Add functions to get strings from the device format
2011-05-15 04:03:15 -07:00
Chris Robinson
7210796cb8
Combine multiple loops
2011-05-15 02:12:42 -07:00
Chris Robinson
949cfe2ceb
Re-enable duplication for stereo sounds
2011-05-15 00:18:28 -07:00
Chris Robinson
c39f27d5f8
Set the duplicate-stereo flag properly after the device format is reset
2011-05-13 21:27:46 -07:00
Chris Robinson
c9ac4f06ff
Remove an unused macro and rename another
2011-05-07 04:35:49 -07:00
Chris Robinson
674b14faa3
Make a couple more pointers restricted
2011-05-07 04:32:53 -07:00
Chris Robinson
a8fdcd30a5
Some minor cleanups
2011-05-07 04:31:43 -07:00
Chris Robinson
db3cb23c1d
Add an option to reverse Z panning of mono sources
...
Applications that are not built around OpenAL's orientation system need to
convert their given vectors to it. Depending on how this is done, it can lead
to proper stereo (left-right) panning with improper surround sound (front-back)
panning, which thusly sounds correct with stereo output and incorrect with 4+
channel output.
This option is intended to help fix playback of such applications on surround
sound systems, without having to resort to forcing stereo output.
2011-05-07 03:54:46 -07:00
Chris Robinson
7972f7a2da
Combine duplicate arrays
2011-05-06 23:25:15 -07:00
Chris Robinson
8c3d50be28
Skip LFE with HRTF output
2011-05-06 04:46:21 -07:00
Chris Robinson
4198f3062c
Remove the device channel matrix
2011-05-06 04:42:54 -07:00
Chris Robinson
c2a6efc77a
Use the panning algorithms to build the multi-channel source matrix
...
This prevents the stereo-duplication option from working. It should hopefully
be restored soon.
2011-05-06 04:37:10 -07:00
Chris Robinson
6928487aa1
Remove some redundancy
2011-05-06 02:53:22 -07:00
Chris Robinson
64b5d7a519
Check the correct flag in the dsound backend
2011-05-06 01:53:13 -07:00
Chris Robinson
eef41e76d7
Don't clear the request flag if a new context doesn't specify a frequency
2011-05-06 01:50:19 -07:00
Chris Robinson
d583f7f307
Update sources automatically when device parameters change
2011-05-06 01:06:01 -07:00
Chris Robinson
f97eca34df
Minor source update fixes
2011-05-06 00:51:12 -07:00
Chris Robinson
1363e044ac
Remove the head_dampen option
...
Now that HRTF is properly supported, it's not needed
2011-05-06 00:38:10 -07:00
Chris Robinson
9967d4eadd
Mark a couple more pointers as restricted
2011-05-06 00:33:58 -07:00
Chris Robinson
2972de1047
Use function pointers to call the source mixer
2011-05-06 00:20:40 -07:00
Chris Robinson
0e824914b2
Use signed samples for 8-bit storage
2011-05-05 18:54:10 -07:00
Chris Robinson
7832a6d1d8
Add a warning when HRTF is disabled
2011-05-03 20:23:35 -07:00
Chris Robinson
0cce93a1f8
Fix WinMM backend compilation
2011-05-03 17:12:05 -07:00
Chris Robinson
679f2480c9
Add a device flag for channel config requests
2011-05-03 17:11:07 -07:00
Chris Robinson
db7ca2c7ca
Combine the mono and multi-channel mixer templates
2011-05-03 16:34:28 -07:00
Chris Robinson
e2850df07e
Use the same filters for mono sources and multi-channel
2011-05-03 16:18:46 -07:00
Chris Robinson
48def2fecb
Properly handle elevations that don't have angles up to 180
2011-05-03 03:15:28 -07:00
Chris Robinson
ba236ad108
Add a frequency-request device flag
2011-05-03 02:29:26 -07:00
Chris Robinson
9a28402b90
Fix non-spatialized mono sources
2011-05-02 18:33:32 -07:00
Chris Robinson
8c705cc4ea
Mark some mixer pointers as restricted
2011-05-02 17:14:57 -07:00
Chris Robinson
fd795a7eeb
Add casts to silence some warnings
2011-05-02 15:04:35 -07:00
Chris Robinson
abdc254e55
Use a pointer-to-arrays for the local HRTF coefficients
2011-05-02 13:35:13 -07:00
Chris Robinson
f843b7e2e3
Implement HRTF mixers for multi-channel sources
2011-05-02 02:22:30 -07:00
Chris Robinson
eea86ab891
Use flags instead of separate bools
2011-05-01 18:18:37 -07:00
Chris Robinson
56d9418119
Add an HRTF filter for mono sources
...
The data is based on the KEMAR HRTF data provided by MIT, which can be found at
<http://sound.media.mit.edu/resources/KEMAR.html >. The compact measurements
were used. See hrtf_tables.inc for more information.
The filter is only available for stereo output, using a 44100hz playback rate.
Note also that it currently only applies to mono sounds, and the cf_level and
head_dampen config options are ignored while it is active.
2011-05-01 13:59:44 -07:00
Chris Robinson
c9c965ef85
Add a device flag for enabling HRTF
2011-05-01 13:19:23 -07:00
Chris Robinson
af3adf5244
Be silent if the PulseAudio context fails to connect while probing
2011-04-30 17:58:37 -07:00
Chris Robinson
63f07db303
Add the SOFT moniker for the loopback extension functions and enums
2011-04-28 11:37:23 -07:00
Chris Robinson
c031b4d5d0
Allow MSVC to build a static lib
...
Based on a patch by Michał Cichoń <michcic@gmail.com>
2011-04-27 16:33:44 -07:00
Chris Robinson
543134a6d2
Add loopback device properties to the ALCenum list
2011-04-27 12:18:24 -07:00
Chris Robinson
ab2626f9df
Add a couple in-progress extensions to the extension lists
2011-04-27 12:15:16 -07:00
Chris Robinson
d50f9249d6
Add support for packed 24-bit samples
2011-04-26 18:17:50 -07:00
Chris Robinson
10a9753183
Add a compatibility option to treat cone angles as half angles
...
All previous versions of the library treated the source cone angles as half
angles, which is contrary to the spec. Setting the __ALSOFT_HALF_ANGLE_CONES
environment variable to "true" or "1" restores the buggy behavior for
compatibility with applications that expect it.
This is not a config file option because new apps should not be made to depend
on the old behavior.
2011-04-22 23:17:27 -07:00
Chris Robinson
1e8718fe87
Convert full-width cone angle source properties to half-width
...
The spec intends the property values to be the full angle encompassed by the
cones, but the calculation interprets them as the angle from the center
point.
2011-04-22 22:59:58 -07:00
Chris Robinson
678d0b87d0
Apply the device matrix to the multi-channel source matrix
...
Mono sources and effects already output according to the available output
device channels. Multiplying the device matrix with the source matrix results
in a matrix that has the same effect as applying the source matrix followed by
the device matrix, so all the channel remixing can be done in one place.
2011-04-14 21:03:37 -07:00
Chris Robinson
319dfce300
Fix LFE channel output
2011-04-14 15:20:25 -07:00
Chris Robinson
c3e86933d0
Only set relevant device matrix entries
2011-04-12 17:08:02 -07:00
Chris Robinson
936acf8c10
Allow the buffer_samples API to be retrieved
2011-04-10 09:48:37 -07:00
Chris Robinson
2f7de9d696
Add alBufferSamplesSOFT, as an initial start to AL_SOFT_buffer_samples
2011-03-16 11:29:22 -07:00
Chris Robinson
b510958f9e
NoErr should be noErr
2011-03-15 11:52:18 -07:00
Chris Robinson
d6c8bb35b4
Add a CoreAudio backend
...
Code courtesy of Garin Hiebert <garinh@cheesetoast.net>
2011-03-15 04:58:56 -07:00
Chris Robinson
4eeed5376f
Invert the device matrix row/column
...
It is accessed now as mat[target][source]
2011-03-13 08:46:54 -07:00
Chris Robinson
77ad538e68
Remove more unneeded casts
2011-03-13 07:11:09 -07:00
Chris Robinson
b699aca65b
Remove unnecessary casts
2011-03-13 06:34:41 -07:00
Chris Robinson
208912ceac
Fix DSound floating-point sample assumptions
2011-03-12 22:52:33 -08:00
Chris Robinson
8249dc8559
Combine multiple lists into one
2011-03-12 20:37:22 -08:00
Chris Robinson
73123bc313
Add support for ALC_EXT_DEDICATED
2011-03-12 20:11:25 -08:00
Chris Robinson
66ee3bc217
Better protect the device for multi-threading access
2011-03-12 06:23:17 -08:00
Chris Robinson
031a2a1b1e
Implement a basic non-real-time loopback device
...
Currently it behaves just like a normal device except contexts are only
processed during calls to alcRenderSamples. Additionally, the ALC_SYNC and
ALC_REFRESH context attributes are not valid for these devices, and there are
two new context attributes to specify the rendering format: ALC_FORMAT_TYPE
and ALC_FORMAT_CHANNELS. These each take one of the type and channel enums
added.
This stuff is subject to change.
2011-03-11 00:13:44 -08:00
Chris Robinson
d9126eeb2c
Finalize the loop points extension as AL_SOFT_loop_points
2011-02-09 22:54:12 -08:00
Chris Robinson
fd64fea279
Use the correct winmm device ID type
2011-02-08 10:33:18 -08:00
Chris Robinson
13397feccf
Don't inline CalcLimitedHfRatio
2011-02-07 23:58:40 -08:00
Chris Robinson
57b05fb6d4
Add a missing enum value for PA_API_VERSION 11
2011-02-07 23:53:07 -08:00
Chris Robinson
41a2c25b5a
Include cguid.h for GUID_NULL
2011-02-07 22:46:54 -08:00
Chris Robinson
6713a47d38
Fix looping on loop points
2011-02-06 01:07:37 -08:00
Chris Robinson
02e0223fe8
Re-enable channel-config-specific layout options
2011-01-23 23:57:39 -08:00
Chris Robinson
6c4add67e1
Don't duplicate the device list append function
2011-01-23 23:16:55 -08:00
Chris Robinson
2b7324c06e
Avoid using a variable for array sizes and const variable initialization
2011-01-23 22:30:18 -08:00
Chris Robinson
c95bd6cadf
Fix loop handling when traversing the buffer queue backwards
2011-01-23 15:04:42 -08:00
Chris Robinson
d73694d3e6
More improvements to the AudioIO backend
2010-12-09 23:53:32 -08:00
Chris Robinson
5d607f9484
Better check format type returned by AUDIO_SETINFO
2010-12-09 23:47:11 -08:00
Chris Robinson
816c38e9e4
Add signed 8-bit output to the AudioIO backend
2010-12-09 23:43:29 -08:00
Chris Robinson
09130e5dcd
Fix some AudioIO backend warnings
2010-12-09 23:41:54 -08:00
Chris Robinson
b87447787a
Cleanup some ok() macros
2010-12-09 23:32:47 -08:00
Chris Robinson
031111014b
Be consistent with variable name use
2010-12-09 18:09:47 -08:00
Chris Robinson
3deaa2fad3
Combine stereo and multi-channel templates
2010-12-09 17:14:12 -08:00
Chris Robinson
c3cd4c80b2
Use a matrix when rendering to the dry buffer
2010-12-09 16:37:23 -08:00
Chris Robinson
be3f3c4bf0
Make better use of the type range when converting from float
2010-12-09 05:06:29 -08:00
Chris Robinson
d1ca8b4470
Use simple loops instead of several explicit lines for the mono mixer
2010-12-09 05:05:42 -08:00
Chris Robinson
72e3386c6a
Be a bit more generic with the multi-channel mixer loops
2010-12-09 04:41:52 -08:00
Chris Robinson
4010a6b745
Remove some now-unused functions
2010-12-08 02:56:24 -08:00
Chris Robinson
c4adf541c1
Set the playing flag to TRUE when the dsound buffer starts playing
2010-12-04 20:22:12 -08:00
Chris Robinson
88e3a22772
Separate device format into 'channel config' and 'sample type' components
2010-12-04 19:50:00 -08:00
Chris Robinson
191803ad53
Fix wave and null device calculations when the timer wraps
2010-12-03 23:48:59 -08:00
Chris Robinson
59990acc2a
Add functions to write (signed) byte and ushort samples to devices
2010-12-02 16:36:37 -08:00
Chris Robinson
0bf7716332
Remove incomplete EXT_buffer_sub_data, as it's (temporarily) superceded by SOFT_buffer_sub_data
...
The EXT version can come back when other implementations take an interest
2010-12-02 01:46:43 -08:00
Chris Robinson
3339e5dc6a
Use memcpy to copy a string instead of sprintf
2010-12-02 01:12:49 -08:00
Chris Robinson
30b3f68ddf
Make a function static
2010-12-02 01:05:29 -08:00
Chris Robinson
4a0bf9fd44
Template-ize the device buffer writing functions
2010-12-01 21:50:49 -08:00
Chris Robinson
9e8fb89a52
Rename OUTPUTCHANNELS to something more descriptive
2010-12-01 18:33:17 -08:00
Chris Robinson
0cf32e2946
Reorder some parameters for consistency
2010-11-29 19:48:18 -08:00
Chris Robinson
eb489ac886
Store double formats as float
...
The mixer will cut it down to float anyway, so it's unnecessary and needlessly
creates more mixer functions
2010-11-28 23:07:57 -08:00
Chris Robinson
da4f5c6f96
Uninline some functions
...
Also add -Winline to the compiler command line to watch for future inline problems
2010-11-28 19:52:17 -08:00
Chris Robinson
f09ae196a8
Avoid making Resampler[Pre]Padding static
2010-11-28 17:37:14 -08:00
Chris Robinson
490d1c6a8e
Prefer GCC's constructor, even in Windows
2010-11-28 14:27:07 -08:00
Chris Robinson
0e748d98d5
Rename some stuff for consistency
2010-11-28 13:08:51 -08:00
Chris Robinson
c41e893361
Don't store the internal format in the buffer
...
The type and channel config are good enough
2010-11-28 12:53:35 -08:00
Chris Robinson
2fd8d6916b
Support rear formats directly in the mixer
2010-11-27 22:55:20 -08:00
Chris Robinson
d3bb5d4fcb
Add a basic WaveOut device
...
It can still use more work, but it seems to work
2010-11-27 14:13:40 -08:00
Chris Robinson
2a123a4760
Support 64-bit double buffers directly
2010-11-27 00:32:53 -08:00
Chris Robinson
d2895c7985
Use the enums in a couple more places
2010-11-27 00:15:07 -08:00
Chris Robinson
6abb9d151e
Use enums when selecting the mixer
2010-11-26 23:42:30 -08:00
Chris Robinson
16c05d2c05
Avoid some more code duplication
2010-11-26 20:22:14 -08:00
Chris Robinson
4d4d699780
Fix step calculations
2010-11-26 20:17:05 -08:00
Chris Robinson
ca1ec4b221
Fix some comments
2010-11-26 18:01:29 -08:00
Chris Robinson
facb922f3e
Properly clamp high pitch values
2010-11-26 17:47:43 -08:00
Chris Robinson
d7987677ac
Subtract the fractional position separately
2010-11-26 15:51:13 -08:00
Chris Robinson
5fbbfa482f
Rename some variables to be clearer
2010-11-26 12:59:45 -08:00
Chris Robinson
7287b5cd3c
Make the buffer padding size dependent on the resampler
2010-11-26 02:53:15 -08:00
Chris Robinson
d647ed60e8
Convert a few divisions to multiplications
2010-11-26 01:35:40 -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
98d78f7ff9
Slightly improve channel gain calculations
2010-11-26 00:24:54 -08:00
Chris Robinson
3d1eb7dcad
Add a missing break statement
2010-11-25 23:13:50 -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
46b9802902
Force the point resampler when the source plays at normal speed
2010-11-25 22:15:38 -08:00
Chris Robinson
b6fb28de1a
Pass a pointer to the samplers so they can read just the samples they need
2010-11-25 22:04:17 -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
6e3a6f90e9
Be less wave-in-specific in the winmm backend
2010-11-25 17:37:34 -08:00
Chris Robinson
fbd6439bd2
Make the first enumerated DirectSound device use the default, and fix the name
2010-11-25 14:35:32 -08:00
Chris Robinson
f72c735f9e
Make sure the target buffer size is frame aligned
2010-11-25 14:23:03 -08:00
Chris Robinson
9b23fc5db8
Minor rework of the template macros
2010-11-25 14:07:52 -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
2595d85cca
Double-up the interpolation functions (and make them use doubles)
2010-11-25 13:45:35 -08:00