Commit Graph

3417 Commits

Author SHA1 Message Date
Chris Robinson
8ecbeb4945 Only support dsound and mmdevapi on Windows 2014-08-11 09:13:08 -07:00
Chris Robinson
960cdec0b5 Remove a couple unnecessary HAVE_*_H header defines
The xmmintrin.h and arm_neon.h headers are always available with SSE and Neon
support, respectively.
2014-08-11 09:09:00 -07:00
Chris Robinson
4a9545affa Don't try to generate .def or .lib files when building statically 2014-08-10 19:48:53 -07:00
Chris Robinson
6273a18de5 Add an option to build an import .lib with dlltool on mingw
Also make sure the ordinals are stripped from the .def file (using sed), so
that the generated .lib will link apps to the DLL using function names instead
of ordinals.
2014-08-10 19:40:29 -07:00
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
22856844c6 Properly set FluidSynth's include dir for older cmake versions 2014-08-10 05:50:19 -07:00
Chris Robinson
357beb0570 Create a .def file when building with MinGW
Preferably we'd tell CMake to make it itself instead of specifiying compiler-
specific flags, but there doesn't seem to be a way to.
2014-08-10 05:10:11 -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
10c01110f3 Modify CPU extensions and effect options to be enabled when checked
It looks nicer and more featured for options to be checked when they're
allowed, rather than when disallowed.
2014-08-07 05:16:05 -07:00
Chris Robinson
6048d70232 Add a 48khz HRTF data set
Made by simply using makehrtf's resampling option with the 44.1hz KEMAR data
set.
2014-08-07 04:26:06 -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
951870b189 Enable large file support 2014-08-05 05:05:05 -07:00
Chris Robinson
bda39c5038 Filter for relative HRTF data paths and add Add/Remove label texts 2014-08-05 04:56:51 -07:00
Chris Robinson
066a48c5fb Update alsoft-config
Adds Compressor effect and SSE 4.1 for exclusion, and alters the HRTF tables
tooltip to refer the the default data sets instead of the built-in set.
2014-08-05 02:43:04 -07:00
Chris Robinson
7b4a2335eb Load fluidsynth dynamically when possible 2014-08-05 01:48:30 -07:00
Chris Robinson
451b780e08 Fix some lock ordering to avoid potential deadlocks 2014-08-03 00:56:58 -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
659b340716 Use the right type for atomic compare-exchange 2014-08-01 02:47:46 -07:00
Chris Robinson
1c1e878be7 Add some casts for inline assembly atomics
And remove an unnecessary void cast
2014-08-01 02:40:25 -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
cdfc5a4d31 Remove an unused function 2014-07-31 04:44:39 -07:00
Chris Robinson
ce046d2f03 Rename ATOMIC_COMPARE_EXCHANGE to ATOMIC_COMPARE_EXCHANGE_STRONG 2014-07-31 04:34:46 -07:00
Chris Robinson
6ce464aed8 Avoid a CPU memory fence, and better order memory barriers to accesses
Code produced by GCC 4.9's C11 atomic implementation does not seem to add a
CPU memory fence even with memory_order_seq_cst. Unnecessary memory fences
will be a detriment to performance, so they should only be added if needed.
2014-07-31 04:19:33 -07:00
Chris Robinson
7c847e62c3 Change Windows-based atomics for non-C99 compilers 2014-07-27 19:34:32 -07:00
Chris Robinson
38e8dc8540 Use a full memory barrier for Windows 2014-07-27 18:31:10 -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
0ad3f61351 Don't try to use internal visibility
A number of functions are passed as callbacks to external libraries, which
internal visiiblity doesn't allow.
2014-07-26 17:48:36 -07:00
Chris Robinson
d3980bdebc Always set the active source's update method
If the source is stopped, changes its buffer, then played again quickly, the
source will never be removed from the active source list causing the update
method to remain as it was. If the buffer was changed between mono and multi-
channel, this causes it to use the wrong method.
2014-07-26 16:41:39 -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
a3b1d4a5e2 Implement RefCount as a generic atomic type 2014-07-22 18:18:14 -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
0ff4a91442 Make some functions static 2014-07-20 01:27:33 -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
36381f3164 Load the default soundfont as a comma-separate list of filename
This allows multiple soundfont files to be "patched" together to create a
single soundfont. For instance a GM soundfont with a separate soundfont for
GS-only additions.
2014-07-19 13:44:02 -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
17682cb0ce Explicitly include libavutil/channel_layout.h for the channel layout stuff 2014-07-18 01:21:42 -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
8635733d59 Fix typo (overriden -> overridden) 2014-07-17 10:22:58 -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