David Reid
b000c3fbec
Remove some unnecessary volatiles.
2022-12-11 21:10:42 +10:00
David Reid
4926e118bc
Add an optimized rsqrt implementation for SSE-enabled builds.
2022-12-11 11:56:12 +10:00
David Reid
69f4c65bf9
Fix some atomicity errors with the spatializer.
2022-12-11 10:44:35 +10:00
David Reid
4b4c5f5d97
Fix an out of date example.
2022-12-05 10:24:45 +10:00
David Reid
bfde669130
Fix a warning.
2022-12-03 11:18:43 +10:00
David Reid
9e88290aae
A couple of const correctness improvements.
...
Public issue https://github.com/mackron/miniaudio/issues/584
2022-12-03 11:18:11 +10:00
David Reid
ef08bb0dcd
Fix a typo.
2022-12-03 11:11:54 +10:00
David Reid
6770ab167d
Update documentation.
2022-12-03 11:10:35 +10:00
David Reid
b7159b76d5
Update ma_noise_set_type() to prevent a crash.
...
Updating the noise type should not be supported. An oversight on my
part. Users should reinitialize a fresh `ma_noise` object instead.
This change simply returns an error and triggers an assert in debug
mode.
Public issue: https://github.com/mackron/miniaudio/issues/585
2022-12-03 11:07:34 +10:00
David Reid
bd1c156e5f
Update change history.
2022-12-01 10:35:39 +10:00
David Reid
fc424d9ffa
Some minor code cleanup.
2022-12-01 10:33:50 +10:00
Patrick Stewart
c3aae67b84
Add fallthrough attribute to fix build with Wimplicit-fallthrough on mac
2022-12-01 11:20:42 +11:00
David Reid
58219ed84c
Add some hand-written SSE2 code.
2022-11-24 16:45:41 +10:00
David Reid
8db30c3673
Optimized paths for stereo and 5.1 for mono expansion.
2022-11-24 15:52:03 +10:00
David Reid
c99cb2b901
Channel conversion optimization for mono expansion.
2022-11-24 14:48:45 +10:00
David Reid
72f1fe386b
Optimize sounds by applying volume via the gainer.
...
By using the gainer to apply the master volume, we can essentially get
master volume control for free by premultiplying the per-channel
volumes by the master volume before processing.
2022-11-24 14:17:16 +10:00
David Reid
50f3e12e52
Add the notion of master volume to the spatializer.
2022-11-24 13:53:32 +10:00
David Reid
c2a4c036c7
Add support for master volume to ma_gainer.
2022-11-24 13:44:37 +10:00
David Reid
ab90dc0b55
Remove MA_PREFERRED_SIMD.
...
If you were previously using this, it will no longer have any effect.
SSE2 and NEON will be used if supported, but can be disabled with
`MA_NO_SSE2` and `MA_NO_NEON`.
2022-11-24 13:08:17 +10:00
David Reid
0a788f7965
Remove placeholders for hand-written AVX2 code.
...
Maintaining AVX2 optimizations by hand is not worth the effort. The use
of AVX2 is now dependent on the compiler's auto-vectorization function.
2022-11-24 13:04:43 +10:00
David Reid
da5c5c2eaa
Code clean up for ma_gainer.
2022-11-24 12:40:22 +10:00
David Reid
7fd1246dec
Add some hand written SSE2 code to ma_gainer.
2022-11-24 11:38:27 +10:00
David Reid
90bbfa2c09
Remove an attribute from ma_gainer_process_pcm_frames_internal()
2022-11-23 21:31:09 +10:00
David Reid
43374b19a9
More improvements to vectorization.
2022-11-23 21:30:08 +10:00
David Reid
5c358a75f3
Some vectorization improvements to ma_gainer.
2022-11-23 19:54:28 +10:00
David Reid
89cc773cf1
Experimental optimizations for channel mapping.
2022-11-23 16:52:13 +10:00
David Reid
33854acc8e
Implement optimized paths for 6 and 8 channels to the gainer.
2022-11-23 15:12:14 +10:00
David Reid
f3c36e4947
Fix a bounds check in ma_get_backend_name().
2022-11-22 22:05:05 +10:00
David Reid
596f23c181
Add ma_get_backend_from_name().
2022-11-22 21:52:43 +10:00
David Reid
ff75eb0a4b
Update c89atomic.
2022-11-22 21:39:11 +10:00
David Reid
f4d8a537e9
Check the return value when data is read from a libvorbis file.
2022-11-22 21:34:09 +10:00
David Reid
593897f146
Add an assert to ma_zero_memory_default().
2022-11-22 21:27:50 +10:00
David Reid
d16e6e4d37
Fix a formatting warning.
2022-11-22 21:25:00 +10:00
David Reid
1e1d76687c
Don't try returning a value in ma_pcm_f32_to_s16__neon().
2022-11-22 21:22:15 +10:00
David Reid
6a09fb9cb9
Fix non-Windows builds.
2022-11-22 18:11:53 +10:00
David Reid
a6ec466efa
WASAPI: Don't stop the device while in the middle of rerouting.
...
Public issue https://github.com/mackron/miniaudio/issues/582
2022-11-22 16:48:32 +10:00
David Reid
0ef02e01ee
Update change history.
2022-11-22 16:37:30 +10:00
David Reid
ec262595f9
Fix a bug where sounds are not resampled when NO_PITCH is used.
2022-11-22 16:34:35 +10:00
David Reid
248fa5c9f6
WASAPI: Fix a crash when starting a device while rerouting.
...
Public issue https://github.com/mackron/miniaudio/issues/582
2022-11-22 14:49:36 +10:00
David Reid
169a75e1de
WASAPI: Abandon rerouting when the device is in the middle of starting.
2022-11-22 13:23:01 +10:00
thedmd
0f392b8b8b
Compile cleanly on Switch.
2022-11-21 13:03:09 +11:00
David Reid
239a6138db
Merge branch 'dev' of https://github.com/mackron/miniaudio into dev
2022-11-20 20:45:31 +10:00
David Reid
a1024dde49
Don't treat some platforms as Unix.
2022-11-20 21:45:02 +11:00
David Reid
8eec6da491
Unify the MA_NO_DLOPEN and MA_NO_RUNTIME_LINKING options.
2022-11-20 21:45:02 +11:00
thedmd
bf64bc79db
Add MA_NO_DLOPEN to disable ma_dlopen implementation.
2022-11-20 21:45:02 +11:00
thedmd
9beb89c1e3
Detect MA_ORBIS and MA_PROSPERO before MA_BSD.
...
Checking for __ORBIS__ and __PROSPERO__ first avoid identifying PS4/PS5 as BSD systems.
2022-11-20 21:45:02 +11:00
thedmd
53bbca81b9
Remove trailing spaces.
2022-11-20 21:45:02 +11:00
David Reid
31f4a6c5b2
Update some documentation.
2022-11-20 17:13:55 +10:00
David Reid
e531dd255e
Remove the old runtime linking system for pthread.
2022-11-20 10:53:46 +10:00
David Reid
0b6e80b030
Update c89atomic.
2022-11-20 10:50:15 +10:00