Commit Graph

2078 Commits

Author SHA1 Message Date
Christian Alonso-Daubney a185b99f12 Added pSound check to ma_sound_get_cone() 2023-10-15 07:34:09 +10:00
Christian Alonso-Daubney aef76e251c Added pEngine and listenerIndex check to ma_engine_listener_get_cone() 2023-10-15 07:34:09 +10:00
David Reid b792ccd483 Try making runtime linking more robust on Apple platforms.
Public issue https://github.com/mackron/miniaudio/issues/750
2023-10-14 11:56:16 +10:00
David Reid a3cabad692 Fix some warnings with the Emscripten build. 2023-09-21 08:43:50 +10:00
my1e5 1a9acbad95 fix-sample-rate : fixed value of 11025 Hz sample rate in ma_standard_sample_rate enum 2023-09-21 08:38:43 +10:00
David Reid 381a035fdd Fix some unused function warnings.
Public issue https://github.com/mackron/miniaudio/issues/732
2023-09-11 08:30:30 +10:00
David Reid e1a0f523d0 Update dr_wav. 2023-09-11 08:16:53 +10:00
David Reid 03e36da814 Try fixing a strange error when initializing a POSIX mutex.
https://github.com/mackron/miniaudio/issues/733
2023-09-11 07:55:08 +10:00
David Reid a47f065a4a Don't stop the device in ma_device_uninit().
If the state miniaudio side of the device does not match the actual
state of the backend side of it, such as when the device is stopped but
the backend doesn't post a notification, attempting to stop the device
might result in a deadlock.

This is a just a quick workaround hack for the moment while a more
robust solution is figured out.

https://github.com/mackron/miniaudio/issues/717
2023-09-10 07:33:59 +10:00
Oldes 568e0ae9e9 FIX: Only white noise type is generated
resolves: https://github.com/mackron/miniaudio/issues/723

Signed-off-by: Oldes <oldes.huhuman@gmail.com>
2023-08-31 07:12:15 +10:00
nmlgc 70bf42392d Fix SSE2 sample swapping in mono expansion.
The SSE2 code paths for mono expansion introduced in Version 0.11.15
mixed up the parameters of `_mm_shuffle_ps()`, which in turn caused
adjacent PCM frames to be swapped in the channel-expanded output.
2023-08-30 08:37:12 +10:00
David Reid 78c6fcb370 Fix some parenthesis errors. 2023-08-27 15:24:39 +10:00
David Reid 46eaf1fa5e Fix a bug where ma_decoder_init_file can incorrectly return successful. 2023-08-19 09:22:39 +10:00
David Reid f2ea656297 Correctly mark some functions as static. 2023-08-17 19:32:06 +10:00
David Reid 7e01c6535b More work on custom device backends.
With this commit, custom backends can now be implemented as
self-contained modules that can easily be plugged in and mixed and
matched depending on a programs requirements. The order in which
custom backends are specified in the context config determine their
priority.

This commit updates the custom_backend example by moving the SDL
code out into its own file in "extras/backends/sdl". The example will
now just include the SDL code files like normal. This represents a more
realistic scenario.
2023-08-07 16:14:05 +10:00
David Reid 60366fe469 Make some code public to ease development of custom backends. 2023-08-07 13:55:37 +10:00
David Reid 5b32ce15d1 Merge branch 'dev' into dev-0.12 2023-08-07 12:13:48 +10:00
David Reid c24141c5ae Remove the use of some deprecated functions. 2023-08-07 12:13:36 +10:00
David Reid 7266a1a6da Merge branch 'master' into dev-0.12 2023-08-07 11:06:21 +10:00
David Reid 3898fff8ed Version 0.11.18 2023-08-07 11:05:14 +10:00
David Reid 9eca9ce0cd Update dr_libs. 2023-08-07 10:00:49 +10:00
David Reid efa9e7d727 Web Audio: Memory usage optimization to the Audio Worklet path.
This applies only to duplex devices.
2023-08-06 15:31:50 +10:00
David Reid c24829cbb9 Web Audio: Refactoring to the ScriptProcessorNode path.
This unifies, as much as possible, the ScriptProcessorNode path with
the AudioWorklets path to avoid some code duplication, and to also make
the two paths more similar to each other to ease in maintenance.
2023-08-06 15:06:37 +10:00
David Reid fde7d20414 More improvements to the AudioWorklets Web Audio backend.
* Duplex mode now only creates a single AudioContext and AudioWorklet
  * Devices should now automatically start in response to a gesture
2023-08-06 10:42:48 +10:00
David Reid 4d23c1c5ab Update build instructions for Emscripten. 2023-08-05 17:53:58 +10:00
David Reid 810cdc2380 Improvements to Audio Worklets support for Web Audio.
Public issue https://github.com/mackron/miniaudio/issues/597
2023-08-05 17:02:26 +10:00
David Reid 53907863c7 Add support for stopping and sound and fading out.
This adds the following APIs:

  * ma_sound_stop_with_fade_in_pcm_frames()
  * ma_sound_stop_with_fade_in_milliseconds()
  * ma_sound_set_stop_time_with_fade_in_pcm_frames()
  * ma_sound_set_stop_time_with_fade_in_milliseconds()

These functions will overwrite any existing fades. For the
set_stop_time variants, you specify the time that the sound will be put
into it's stopped state. The fade will start at stopTime - fadeLength.
If the fade length is greater than the stop time, the fade length will
be clamped.

Public issue https://github.com/mackron/miniaudio/issues/669
2023-08-05 10:04:59 +10:00
David Reid f9f542b2fb Fix a fading bug introduced with an earlier commit. 2023-08-05 09:19:17 +10:00
David Reid e43457fcce Add initial implementation for scheduled fades.
This adds the following APIs:

  * ma_sound_set_fade_start_in_pcm_frames()
  * ma_sound_set_fade_start_in_milliseconds()

Public issue https://github.com/mackron/miniaudio/issues/669
2023-08-04 20:28:56 +10:00
David Reid 356eb3252e Set up some infrastructure for starting fades with an offset. 2023-08-04 19:26:55 +10:00
David Reid f2fc207462 Merge branch 'dev' into dev-0.12 2023-08-04 10:47:09 +10:00
David Reid ca7284fde5 ALSA: Fix an error where restarting a device can fail. 2023-08-03 17:03:33 +10:00
David Reid 2212965267 Fix errors with the C89 build. 2023-08-03 09:16:59 +10:00
David Reid 320245606a Fix C89 build. 2023-08-02 19:41:06 +10:00
David Reid 18e4756be3 Decouple MA_API and MA_STATIC defines. 2023-08-02 08:39:56 +10:00
David Reid 8df02809b5 Remove stale comment. 2023-07-30 08:19:03 +10:00
Taiko2k 1696031633 Tweak pulseaudio stream flags 2023-07-30 08:17:21 +10:00
David Reid 90bdda29ae Fix a typo. 2023-07-30 08:14:38 +10:00
David Reid ba1b349a5a Merge branch 'dev' into dev-0.12 2023-07-22 16:39:45 +10:00
David Reid 69bc820ae8 Fix an error when loading WAV files.
The sample format of a WAV file is not always being set which results
in get_data_format() returning ma_format_unknown.
2023-07-22 16:39:17 +10:00
David Reid 052d8bd857 Merge branch 'dev' into dev-0.12 2023-07-22 16:22:25 +10:00
David Reid 98a39ded77 Fix compilation error with previous commit. 2023-07-21 18:19:49 +10:00
David Reid 4c7e3218e3 Improvements to decoder initialization.
This change makes use of the onInitFile, onInitFileW and onInitMemory
backend callbacks which enables decoding backends to have optimized
implementations for reading from a file or a block of memory without
having to go through an abstraction layer on the miniaudio side.

Public issue https://github.com/mackron/miniaudio/issues/696
2023-07-21 18:18:15 +10:00
David Reid b2ed26cf76 Fix an error with setting of the cursor when seeking a Vorbis file.
Public issue https://github.com/mackron/miniaudio/issues/707
2023-07-21 07:39:07 +10:00
David Reid 7f0a92a08f Don't call CoUninialize() when CoInitializeEx() fails. 2023-07-09 09:49:01 +10:00
David Reid ab87375257 Add ma_engine_get_volume().
Public issue https://github.com/mackron/miniaudio/issues/700
2023-07-08 09:18:41 +10:00
David Reid 0eadb0f30e Make ma_linear_resampler_set_rate_ratio() more accurate. 2023-07-07 16:47:24 +10:00
David Reid 6117016102 Fix some minor linting warnings. 2023-06-17 08:15:02 +10:00
David Reid dcd432bc84 Update data converter to use the default LPF order for resampling.
This ensures the data converter has the same defaults as the resampler
so things work a bit more consistently.
2023-06-17 08:11:10 +10:00
David Reid 22724a9156 Merge branch 'dev' into dev-0.12 2023-06-17 08:06:45 +10:00