Chris Robinson
a3c236598a
Simplify some vector size range checks
2014-08-10 10:52:08 -07:00
Chris Robinson
936a79da7d
Give NULL for null-vector iterators
2014-08-10 09:12:08 -07:00
Chris Robinson
94013216b6
Pass pointer-to-vector types as char* instead of void*
...
C aliasing rules only allow char* to alias an otherwise-incompatible type,
rather than void*.
2014-08-10 08:46:55 -07:00
Chris Robinson
f173a67870
Use VECTOR_FIND_IF and VECTOR_FOR_EACH instead of manual loops
2014-08-09 06:15:11 -07:00
Chris Robinson
1692dda4b9
Use the default input device for portaudio's default capture device
2014-08-08 19:48:45 -07:00
Chris Robinson
e64d0f83cd
Disable the autowah effect
...
There's apparently some issues with it causing noise or killing the output. It
might be due to the per-sample changes being too harsh for the filter to keep
up with, but it's not something I can take care of in time for release.
This commit should be reverted after release when work on fixing it can resume.
2014-08-06 23:38:05 -07:00
Chris Robinson
23441be474
Make the DYNLOAD LoadFSynth function non-inline
2014-08-05 19:38:33 -07:00
Chris Robinson
7b4a2335eb
Load fluidsynth dynamically when possible
2014-08-05 01:48:30 -07:00
Chris Robinson
f5194a9d8e
Use an ATOMIC_INIT macro instead of ATOMIC_LOAD_UNSAFE
2014-08-03 00:26:21 -07:00
Chris Robinson
87423f046e
Use atomics for the device and context list heads
2014-08-01 02:04:40 -07:00
Chris Robinson
15a58eb383
Make the source's buffer queue head and current queue item atomic
2014-07-31 07:20:36 -07:00
Chris Robinson
ce046d2f03
Rename ATOMIC_COMPARE_EXCHANGE to ATOMIC_COMPARE_EXCHANGE_STRONG
2014-07-31 04:34:46 -07:00
Chris Robinson
6864053eee
Use pulseaudio's write callback to signal a mixer proc wakeup
2014-07-26 22:04:26 -07:00
Chris Robinson
531c0d8e6b
Explicitly pass the address of atomics and parameters that can be modified
2014-07-26 03:00:49 -07:00
Chris Robinson
a3dbe08c8b
Support C11 atomics
2014-07-23 06:36:34 -07:00
Chris Robinson
e4b779c492
Use generic atomics in more places
2014-07-22 18:57:51 -07:00
Chris Robinson
5a339a2a5b
Add macros for generic atomic functionality
2014-07-22 00:20:28 -07:00
Chris Robinson
7b41ed7ec4
Check the current directory first for data files
2014-07-21 04:42:45 -07:00
Chris Robinson
8592b9371a
Use the UNUSED macro instead of a void cast
2014-07-19 20:46:41 -07:00
Chris Robinson
0c31ccd456
Stop trying to read samples if there was an error
2014-07-19 20:46:12 -07:00
Chris Robinson
9370fea359
Trace when a soundfont buffer goes unused
2014-07-19 14:18:52 -07:00
Chris Robinson
994c3f00e5
Keep existing presets when loading in a new soundfont
...
Note that alLoadSoundfontSOFT doesn't currently allow using a soundfont with
existing presets. This is for being able to load and stack multiple soundfonts
for the default soundfont.
2014-07-19 12:42:52 -07:00
Chris Robinson
85e135beea
Use a macro to specify the fourcc formatters
2014-07-18 18:56:26 -07:00
Chris Robinson
23cae7783d
Properly scale the first HRTF pass-through coefficient
...
Coefficients are scaled by 32767. For pass-through, this is attenuated by
sqrt(0.5) to maintain a consistent perceived volume.
2014-07-17 18:02:23 -07:00
Chris Robinson
15d7ed2f0d
Cleanup some HRTF code
...
Use loops instead of duplicating code, rewrite some lines to be clearer.
2014-07-16 13:26:47 -07:00
Chris Robinson
0d3b18b17d
Fix omni-directional moving HRTF coeffs
2014-07-14 09:15:12 -07:00
Chris Robinson
f4cdecebcf
Add a source radius property that determines the directionality of a sound
...
At 0 distance from the listener, the sound is omni-directional. As the source
and listener become 'radius' units apart, the sound becomes more directional.
With HRTF, an omni-directional sound is handled using 0-delay, pass-through
filter coefficients, which is blended with the real delay and coefficients as
needed to become more directional.
2014-07-11 00:03:13 -07:00
Chris Robinson
c5af088b5f
Access the result macro parameter only once
2014-07-06 22:11:29 -07:00
Chris Robinson
f4f1c1eeed
Rename some functions
2014-07-06 09:21:38 -07:00
Chris Robinson
8dec92531b
Store 4 modulators per map entry
2014-07-06 09:06:35 -07:00
Chris Robinson
f809d3c81a
Allow ALsoundfont_deleteSoundfont to handle multiple buffers
2014-07-06 05:00:05 -07:00
Chris Robinson
d0a64fe191
Don't require pre-declaring vector types
2014-07-06 03:27:39 -07:00
Chris Robinson
5de7271bcd
AL_SOFT_source_length is complete
2014-07-05 04:25:37 -07:00
Chris Robinson
ad92181a26
Don't set modulators that have no destination
2014-07-05 03:55:45 -07:00
Chris Robinson
b88aaaf1bc
Fix a couple checks
2014-07-05 01:47:08 -07:00
Chris Robinson
5afc29f65d
Use a helper function to check valid MIDI controller inputs
2014-07-04 22:08:24 -07:00
Chris Robinson
f667782df2
Set the 'valid' field when we have a valid buffer pointer
2014-07-04 06:57:58 -07:00
Chris Robinson
3f45c00779
Move an inline definition to a more appropriate source
2014-07-04 00:22:27 -07:00
Chris Robinson
fda5bc2bd2
AL_SOFT_MSADPCM is functionally complete
2014-07-03 20:59:44 -07:00
Chris Robinson
8b1b52a687
Remove an unnecessary cast
2014-07-01 22:27:53 -07:00
Chris Robinson
56bb8689d4
Fix preset zone instrument header check
2014-07-01 19:43:20 -07:00
Chris Robinson
3c6752e765
Print SF2 text INFO chunks
2014-07-01 00:36:44 -07:00
Chris Robinson
c06bb88756
Warn about all unhandled soundfont generators
2014-06-30 04:03:50 -07:00
Chris Robinson
8577df76c4
Check the last preset and instrument properties within the loop
2014-06-30 03:52:10 -07:00
Chris Robinson
22982948cf
Standardize some New/Delete methods
2014-06-30 00:10:40 -07:00
Chris Robinson
8176d2c058
Load soundfont samples into an ALbuffer
...
Also remove ALsoundfont's now-unneeded sample storage functions and struct
fields.
2014-06-29 02:04:05 -07:00
Chris Robinson
389a2f7b4b
Store and use an ALbuffer for samples in an ALfontsound
...
The fontsound still maintains its own start, end, and loop offsets, so that the
same buffer may be shared between multiple/all fontsounds. Ideally a single
buffer should be used for all fontsounds to avoid memory fragmentation and help
CPU caching, although higher quality soundfonts may need more memory than a
single buffer can hold.
2014-06-29 00:47:29 -07:00
Chris Robinson
b9462bbe3c
Only set the needed HRTF coefficients
2014-06-21 19:17:39 -07:00
Chris Robinson
81b3395b41
Avoid negating 'negative' variable names
2014-06-20 23:48:58 -07:00
Chris Robinson
be903d67b8
Don't pass the device to HRTF methods
2014-06-20 16:43:14 -07:00