Chris Robinson
213e3ba4af
Select the mixer when setting the mixer-specific parameters
2014-03-19 16:10:09 -07:00
Chris Robinson
6ee54fb1f3
Store some source mixing parameters in the active source struct
2014-03-19 13:14:11 -07:00
Chris Robinson
d6f7aac1bb
Use a separate struct for tracking active sources
2014-03-18 19:56:25 -07:00
Chris Robinson
be2aeeb2fb
Remove some unneeded code and unnecessary macros in the OpenSL backend
2014-03-17 15:17:56 -07:00
Chris Robinson
dc74473025
Store the old-style backend funcs in the wrapper
2014-03-17 10:54:27 -07:00
Chris Robinson
d346038102
Don't define HAVE_DYNLOAD with the IDE parser
2014-03-17 09:46:07 -07:00
Chris Robinson
cf066fd306
Don't assume the default mmdevapi device is in the collection
2014-03-17 09:40:56 -07:00
Chris Robinson
308d87b12a
Return the original value from CompExchange*
2014-03-09 03:49:40 -07:00
Chris Robinson
372f3178f8
Remove the Apple-specific atomic function implementations.
...
I'm not sure if they're even used, but they were rather ugly and are set to get
even uglier since they don't follow normal conventions (missing exchange, and
cas not returning the original value).
2014-03-09 03:28:00 -07:00
Chris Robinson
a1c440bd09
Add an extension to support MSADPCM buffer formats
2014-03-04 22:44:30 -08:00
Chris Robinson
f3a87d72b2
Add an extension to alter the block alignment for buffer unpack/pack ops
...
This is for unpacking (reading, e.g. alBufferData) and packing (writing, e.g.
alGetBufferSamplesSOFT) operations. The alignments are specified in sample
frames, with 0 meaning the default (65 for IMA4, 1 otherwise). IMA4 alignment
must be a multiple of 8, plus 1 (e.g. alignment = n*8 + 1), otherwise an error
will occur during (un)packing. Chenging the block alignment does not affect
already-loaded sample data, only future unpack/pack operations... so for
example, this is perfectly valid:
// Load mono IMA4 data with a block alignment of 1024 bytes, or 2041 sample
// frames.
alBufferi(buffer, AL_UNPACK_BLOCK_ALIGNMENT_SOFT, 2041);
alBufferData(buffer, AL_FORMAT_MONO_IMA4, data, data_len, srate);
alBufferi(buffer, AL_UNPACK_BLOCK_ALIGNMENT_SOFT, 0);
2014-03-04 05:53:35 -08:00
Chris Robinson
ea8a85b19c
Move PATH_MAX fallback definitions to alMain.h
2014-02-27 18:17:20 -08:00
Chris Robinson
3867e3857d
Add back the missing PATH_MAX fallback
2014-02-27 02:55:43 -08:00
Chris Robinson
a8249c3469
Move OpenDataFile to helpers.c so other sources can use it
2014-02-27 01:49:23 -08:00
Chris Robinson
3145bac8c6
Add an explicit cast to make Windows happy
2014-02-26 17:45:18 -08:00
Chris Robinson
99d82690ef
Don't fallback to relative filename handling if opening as absolute fails
2014-02-26 17:38:19 -08:00
Chris Robinson
1b9a722601
Expand environment variables for all config option values when loading
2014-02-26 17:25:05 -08:00
Chris Robinson
89506435fa
Support environment variables in the hrtf_tables config value
2014-02-25 19:18:59 -08:00
Chris Robinson
9dd16f8b9c
Attempt to restore the Neon-enhanced ApplyCoeffsStep method
...
Unable to test, but it hopefully works.
2014-02-23 21:28:34 -08:00
Chris Robinson
9a4ded2491
Revert "Apply HRTF coefficient stepping separately"
...
This reverts commit 25b9c3d0c15e959d544f5d0ac7ea507ea5f6d69f.
Conflicts:
Alc/mixer_neon.c
Unfortunately this also undoes the Neon-enhanced ApplyCoeffsStep method.
2014-02-23 21:17:09 -08:00
Chris Robinson
c68ce288d0
Move HRTF macros and function declarations to a separate header
2014-02-23 21:11:01 -08:00
Chris Robinson
5731534e8d
Move the default hrtf table to an external file
2014-02-23 21:02:11 -08:00
Chris Robinson
9f43de62ab
Add a return value to FindHrtfFormat
2014-02-23 20:14:07 -08:00
Chris Robinson
ef8002a832
Check the hrtf config option earlier
...
This is to make sure it tries to find an HRTF-compatible format before reseting
the device, just like when using ALC_HRTF_SOFT.
2014-02-23 20:00:52 -08:00
Chris Robinson
e6e3bdee83
Avoid checking the hrtf config option twice
2014-02-23 19:18:54 -08:00
Chris Robinson
0e51becd58
Search system-dependant data paths for relative hrtf table filenames
2014-02-23 17:58:34 -08:00
Chris Robinson
46b2115bfb
Avoid using a global static buffer for config loading
2014-02-23 14:07:09 -08:00
Chris Robinson
0626a44eb1
Fix indentation
2014-02-23 09:54:26 -08:00
Chris Robinson
29e0af5ef0
Fix a race condition in the mmdevapi message queue thread
2014-02-09 18:55:51 -08:00
Chris Robinson
09d1319e82
Add some extra traces to the mmdevapi backend
...
Trying to track down the cause of some reported errors.
2014-02-09 10:52:12 -08:00
Chris Robinson
ea0aea6508
Change the autowah to have a cutoff range of 20Hz to 20KHz
...
This is the same as allowed in the SF2 spec for its filter cutoff generator,
which can be used for a wah effect in MIDI. It makes sense to use a similar
range here.
2014-02-07 03:23:49 -08:00
Chris Robinson
6f711c32ba
Fix some types
2014-02-07 03:20:27 -08:00
Chris Robinson
926ecc2dbe
Slightly shorten a long line
2014-02-02 16:11:53 -08:00
Chris Robinson
7c4339c195
Rework MIDI clock timing
...
It's best to avoid using doubles in the mixer since the FPU's set to single-
precision mode. The new clock timing is similar to the device clock timing, and
should hopefully be less prone to drift caused by fp rounding errors.
2014-02-02 02:39:56 -08:00
Chris Robinson
755f161fc5
Use nanosecond resolution for MIDI
...
This makes the MIDI clock use the same resolution as the device clock and
source latency and the device clock.
2014-02-01 23:01:06 -08:00
Chris Robinson
7bfea9087e
Remove an unnecessary special-case for the click removal
2014-02-01 19:31:05 -08:00
Chris Robinson
11a7b3e8f8
Avoid duplicating code in alcGetIntegerv
2014-02-01 18:40:36 -08:00
Chris Robinson
112b0f166f
Add an alcGetInteger64vSOFT method and a way to get the device clock
2014-02-01 17:55:42 -08:00
Chris Robinson
69f3a7da6d
Keep track of a device clock time, based on the number of samples processed
2014-02-01 16:37:11 -08:00
Chris Robinson
9e2a8843a8
Properly fill the SF2 sample buffer on big endian
2014-02-01 14:33:57 -08:00
Chris Robinson
68a32a3486
Fix an infinite loop when loading SF2 samples on big endian machines
2014-02-01 14:29:47 -08:00
Chris Robinson
a4bc0a46e9
Implement dry and wet mixers for Neon
...
Code provided by Philippe Simons <simons.philippe@gmail.com>.
2014-01-26 01:34:39 -08:00
Chris Robinson
49baa9128d
bufferQueue's Clear method doesn't take any parameters
2014-01-19 17:26:51 -08:00
Chris Robinson
f193b539ce
Clear the OpenSL buffer queue when stopping
2014-01-19 02:45:51 -08:00
Chris Robinson
35fd4dcf77
Check and trace INFO properties when reading them
2014-01-19 02:44:55 -08:00
Chris Robinson
748be9a97d
Include sys/sysconf.h if available for sysconf()
2014-01-18 19:16:46 -08:00
Chris Robinson
1a90c7f498
Check for 0-sized sf2 structure arrays
2014-01-17 06:48:40 -08:00
Chris Robinson
be883131a7
Remove redundancy in a couple error messages
2014-01-17 06:33:23 -08:00
Chris Robinson
658d35a1b0
Put the version and irom storage into the Soundfont struct
2014-01-17 06:20:39 -08:00
Chris Robinson
d387deb3e8
Fix a couple warning messages to show the correct instrument ID
2014-01-17 06:10:29 -08:00