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
dc76013126
Regroup and reorganize some macros
2014-07-06 08:05:35 -07:00
Chris Robinson
23979ac648
Use VECTOR_FIND_IF instead of a manual loop
2014-07-06 05:16:44 -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
ff915534cd
Avoid aliasing an int array
2014-07-05 02:01:36 -07:00
Chris Robinson
b88aaaf1bc
Fix a couple checks
2014-07-05 01:47:08 -07:00
Chris Robinson
47f5e710c2
Make some more functions static
2014-07-05 01:23:06 -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
17f79ea43e
Make a function static
2014-07-04 00:00:39 -07:00
Chris Robinson
fda5bc2bd2
AL_SOFT_MSADPCM is functionally complete
2014-07-03 20:59:44 -07:00
Chris Robinson
5303ee2588
Avoid an undefined allocation of 0 bytes
2014-07-01 23:32:06 -07:00
Chris Robinson
cb726d87ce
Simplify setting a fontsound link
2014-07-01 23:24:11 -07:00
Chris Robinson
fec1fec373
Check that a fontsound is NOT null before deleting it
2014-07-01 22:52:29 -07:00
Chris Robinson
347d8f94e8
Remove an unused variable
2014-07-01 22:52:06 -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
8f8898b7b0
Remove an unused macro
2014-06-29 04:35:35 -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
d19e42a723
Don't require MIDI sysex data to have the high bit clear
2014-06-26 04:35:51 -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
Chris Robinson
fb25a70f95
Don't overwrite the loopback device format with the HRTF format
2014-06-20 15:48:09 -07:00
Chris Robinson
0fd215cb84
Remove unused variables
2014-06-13 22:50:14 -07:00
Chris Robinson
57c683f822
Get the mixer and resampler functions when needed
2014-06-13 16:07:25 -07:00
Chris Robinson
a8deaf12f4
Combine the direct and send mixers
2014-06-13 13:34:19 -07:00
Chris Robinson
c29eb63489
Combine some dry and wet path types
2014-06-13 11:42:04 -07:00
Chris Robinson
19ec7b2ad2
Pre-apply the crossfeed filter gain to the input sample coefficients
2014-06-12 09:40:30 -07:00
Chris Robinson
4c706f59d9
Use floats for the BS2B filter
2014-06-11 09:57:48 -07:00
Chris Robinson
dfded9595c
Make bs2b_cross_feed inline
2014-06-10 12:46:58 -07:00
Chris Robinson
d0fac3fe1d
Don't try to set fp precision with __control87_2 or _controlfp
2014-06-08 23:39:52 -07:00
Chris Robinson
c07fb7b45c
Print CPU extensions that are unavailable but requested
2014-06-08 06:31:36 -07:00
Chris Robinson
8ca1f4f371
Open and close the file in the main thread in alffplay
...
This avoid problems with the file being closed while a video refresh is still
scheduled.
2014-06-08 03:26:34 -07:00
Chris Robinson
be66692f94
Require SSE for SSE2, and SSE2 for SSE4.1
2014-06-07 23:28:32 -07:00
Chris Robinson
09d5475aa6
Update the disable-cpu-exts config option description
2014-06-07 06:08:22 -07:00
Chris Robinson
2ff266ca83
Update a couple sources with the proper author
2014-06-06 07:15:22 -07:00