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
Chris Robinson
7206f5873c
Partially handle the irom sub-chunk
...
Reject soundfonts that have ROM sample types without a valid irom sub-chunk.
2014-01-17 06:03:53 -08:00
Chris Robinson
05e9c824d5
Better handle original key and overriding root key
2014-01-17 05:14:58 -08:00
Chris Robinson
65a5311449
Rename aftertouch to keypressure
2014-01-17 04:18:49 -08:00
Chris Robinson
50c8d9181a
Add a config option to specify the extra MIDI volume scaling
...
The value specified is in decibels.
2014-01-17 00:58:47 -08:00
Chris Robinson
08ba5d9dba
Use a proper struct for envelope properties
2014-01-17 00:36:33 -08:00
Chris Robinson
e118ac93a0
Handle fontsound sample types using explicit enum values
...
Uses AL_MONO_SOFT, AL_RIGHT_SOFT, and AL_LEFT_SOFT. "Linked" samples types
aren't explicitly supported due to being under-defined in the SF2 spec, nor are
ROM samples currently.
2014-01-15 22:18:07 -08:00
Chris Robinson
9ebeae6228
Use ALfontsound_setPropi to set fontsound sample properties
...
And make sure the loop mode is properly translated for FluidSynth.
2014-01-15 21:17:46 -08:00
Chris Robinson
50b74629dd
Add a flag to specify the device being paused
...
Used to prevent UpdateDeviceParams from restarting the device, if a new context
is created while paused.
2014-01-15 16:44:12 -08:00
Chris Robinson
8d7559d9d0
Stop the device when updating parameters, don't close it
2014-01-15 16:30:23 -08:00
Chris Robinson
56899716d6
Add an extension to pause audio processing
2014-01-15 16:27:17 -08:00
Chris Robinson
443e6b73b2
Use the 64-bit clamp method when getting the MIDI clock time
2014-01-15 15:38:54 -08:00
Chris Robinson
5fdc3c093e
Don't use the same buffer segment for enqueueing in OpenSL
2014-01-15 15:27:38 -08:00
Chris Robinson
1739998045
Stop the OpenSL buffer queue when stopping the device
2014-01-15 15:14:25 -08:00
Chris Robinson
bdc5850120
Don't reset presets when loading/unloading soundfonts
2014-01-13 16:57:56 -08:00
Chris Robinson
24ffb5b464
Be more thorough when converting sf2 modulator properties
2014-01-13 16:50:12 -08:00
Chris Robinson
90fd92628d
Use FluidSynth enums when handling generators
2014-01-13 16:15:56 -08:00
Chris Robinson
0c80f62de7
Add a method to get soundfont samples
2014-01-13 00:20:14 -08:00
Chris Robinson
a5bfc1e30b
Add a method to get the current MIDI state
2014-01-12 12:27:46 -08:00
Chris Robinson
da2c9732da
Don't break with an override root key generator value of -1
...
An accidental hold-over from when it was using a switch.
2014-01-06 13:21:08 -08:00
Chris Robinson
cf66516a27
Load soundfont modulators into FluidSynth
2014-01-06 13:07:12 -08:00
Chris Robinson
4079ee2200
Add methods to get and set modulator properties on fontsounds
2014-01-05 17:21:34 -08:00
Chris Robinson
5f961a392e
Move some soundfont methods to ALsoundfont
2014-01-05 05:11:07 -08:00
Chris Robinson
540a99e71f
Allow "deleting" the default soundfont
...
The ID remains valid and the soundfont will be reloaded as needed, but this
provides a way for the application to clear up the soundfont memory.
2014-01-04 05:30:57 -08:00
Chris Robinson
86f250a3f5
Trace preset, instrument, and sample names with invalid key and velocity ranges
2014-01-04 04:34:32 -08:00