Chris Robinson
65d2e0eb8d
Use an array of objects for active sources instead of pointers
2014-08-21 02:27:56 -07:00
Chris Robinson
b92e643e97
Use a NULL source for inactive activesources
...
Also only access the activesource's source field once per update.
2014-08-21 00:29:42 -07:00
Chris Robinson
3a6baab495
Use the current binary dir for shared function checks too
2014-08-20 13:47:56 -07:00
Jesper Särnesjö
ba9995a8de
Use directories relative to current project in CheckFileOffsetBits.cmake
...
Enables building OpenAL Soft in a subdirectory of another project.
2014-08-20 13:31:24 -07:00
Chris Robinson
e3d72ccd15
Support brace-enclosed environment variable names
...
This makes it possible to append alpha-numeric characters directly to an
environment variable value, e.g. ${FOO}bar will use "FOO" as the variable name
and keep the "bar" as-is, whereas $FOObar will take "FOObar" as the variable
name.
2014-08-19 16:54:53 -07:00
François Cami
3c13e1e333
Update COPYING to the latest https://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt to fix the FSF' address Fix the FSF' address in the source
2014-08-18 11:34:29 -07:00
Chris Robinson
864528bb7b
Use the POSITION_INDEPENDENT_CODE target property when available
2014-08-16 20:46:55 -07:00
Chris Robinson
4a7e04add3
Don't force specific compile flags for the different build types
2014-08-16 19:57:56 -07:00
Chris Robinson
8630e8c7fc
Don't try to include stdalign.h if C11 _Alignas isn't available
...
Some compilers will allow including stdalign.h, and even define alignas to
_Alignas, even if that C11 feature is unavailable (e.g. because it requires a
suitable -std= setting).
2014-08-16 10:17:30 -07:00
Chris Robinson
dd1df64537
Search for the correct include and lib directories for the DX SDK
...
And only set them when needed.
2014-08-15 14:26:06 -07:00
Chris Robinson
d60ce35846
Add a changelog, detailing notable changes for each release
2014-08-15 00:06:59 -07:00
Chris Robinson
b907c21f48
Release 1.16.0
2014-08-14 17:30:11 -07:00
Chris Robinson
8364aa5f6f
ALC_SOFT_pause_device is finished
2014-08-12 08:45:11 -07:00
Chris Robinson
ba3f1e7468
Assume SSE is available if building with support and no run-time checking
2014-08-11 14:45:28 -07:00
Chris Robinson
74c8de6372
Try the __cpuid intrinsic if GCC's __get_cpuid isn't available
2014-08-11 14:19:15 -07:00
Chris Robinson
e3ee534c39
Check for GCC's __get_cpuid before using it
2014-08-11 13:38:43 -07:00
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