Commit Graph

3049 Commits

Author SHA1 Message Date
David Reid 7af2ce2521 Make log levels an enum instead of defines. 2022-01-02 13:16:50 +10:00
David Reid ce0d8f8491 Always post debug logs to log handlers. 2022-01-02 13:12:07 +10:00
David Reid eab1cc4357 Remove old "[miniaudio]" labels from some logs. 2022-01-02 13:10:36 +10:00
David Reid 6a04b9c0ff Update documentation for log levels. 2022-01-02 13:08:19 +10:00
David Reid 3c7e4fe9b5 Remove a stray debugging line. 2022-01-02 07:23:37 +10:00
David Reid 7ee6d1d792 Add support for configuring the size of input caches in nodes.
This is important for fixed sized processing.
2022-01-01 21:31:06 +10:00
David Reid f3915423b6 Update the Steam Audio example. 2022-01-01 21:20:13 +10:00
David Reid cba36680bd Add support for fixed sized data callbacks.
This is the new default. The size of the buffer will be based on the
periodSizeInFrames and periodSizeInMilliseconds config variable. To go
back to the previous system, where the data callback could specify any
number of frames, set the noFixedSizedCallback config variable to true.
2022-01-01 21:14:22 +10:00
David Reid 2ad40dc7da Minor rewording and fix a typo. 2022-01-01 16:25:36 +10:00
David Reid 27a934a16c Update revision history. 2022-01-01 16:21:11 +10:00
David Reid 3f51e94524 Add the MA_NODE_FLAG_SILENT_OUTPUT flag for nodes.
This flag is used to tell miniaudio that it should assume the output of
the node is silence. This is useful for special nodes that want to
output to a file and don't want the output of the node to contribute to
the final mix.
2022-01-01 16:09:58 +10:00
David Reid a0b4e7824b Update comment. 2022-01-01 13:32:14 +10:00
David Reid 153b2ebd48 Add example for using the engine with SDL. 2022-01-01 13:21:30 +10:00
David Reid 21755cfcb2 Update website. 2022-01-01 12:30:14 +10:00
David Reid cf024cb71f Fix an error in the simple_mixing example.
Public issue https://github.com/mackron/miniaudio/issues/388
2022-01-01 07:42:42 +10:00
David Reid 42abbbea46 Version 0.11.2 2021-12-31 19:15:03 +10:00
David Reid 354d0c91c6 Add some clarification notes for device notifications. 2021-12-31 16:38:02 +10:00
David Reid b69ca62994 PulseAudio: Integrate the rerouted event. 2021-12-31 07:39:40 +10:00
David Reid a10675f2cf Fire the reroute notification for desktop Core Audio. 2021-12-31 07:15:08 +10:00
David Reid bcd53f09b7 Fire the reroute notification for WASAPI. 2021-12-31 07:12:38 +10:00
David Reid 19006256e0 Clean up some old documentation.
Public issue https://github.com/mackron/miniaudio/issues/386
2021-12-30 06:37:50 +10:00
David Reid 8ed545ae56 Another documentation fix.
Public issue https://github.com/mackron/miniaudio/issues/385
2021-12-30 05:49:02 +10:00
David Reid 15298ad77f Fix documentation for ma_decoder_read_pcm_frames().
Public issue https://github.com/mackron/miniaudio/issues/385
2021-12-30 05:42:57 +10:00
David Reid 6353c2e69e Fix a type mismatch error.
Public issue https://github.com/mackron/miniaudio/issues/385
2021-12-30 05:38:44 +10:00
David Reid afc0fc107b iOS: Initial work on interruption detection. 2021-12-29 13:56:55 +10:00
David Reid d077e92f5c PulseAudio: Fix a crash when initializing multiple devices.
This was due to context-level mainloop being accessed from different
audio threads at the same time. I've fixed this by giving each device
their own pa_mainloop and pa_context objects.

I considered the idea of having only a single context-level mainloop
and just using a mutex for mutal exclusion, but that would involve a
lock in the audio thread's data loop which I wasn't happy about. Also,
I wasn't sure which thread PulseAudio callbacks would get fired from
since the main loop would be iterated on different audio threads.

Public issue https://github.com/mackron/miniaudio/issues/376
2021-12-29 09:22:03 +10:00
David Reid 4f07898b69 Clarification to revision history. 2021-12-28 20:48:50 +10:00
David Reid 3c4634dd6a Add support for forcing stdint.h for sized types.
Public issue https://github.com/mackron/miniaudio/issues/334
2021-12-28 20:32:54 +10:00
David Reid 922b58463c Introduce a new device notification system.
This replaces the stop callback. The new callback supports different
event types, not all of which are supported on all backends.

This commit also fixes a bug where the stop callback is not fired.

Public issue https://github.com/mackron/miniaudio/issues/351
2021-12-28 19:35:05 +10:00
David Reid 2bd5011b4b Update revision history. 2021-12-28 08:15:15 +10:00
David Reid 3f044fc658 iOS: Add support for configuring the size of the IO buffer. 2021-12-28 08:13:30 +10:00
David Reid fdf2a28338 Fix a compilation warning with Xcode 2021-12-28 07:46:59 +10:00
David Reid 3b2e06a766 WebAudio: Optimizations to some JavaScript code.
Public issue https://github.com/mackron/miniaudio/issues/384
2021-12-28 06:32:39 +10:00
David Reid d3d4d425f1 Version 0.11.1 2021-12-27 21:37:46 +10:00
David Reid a971840b8b Update revision history. 2021-12-27 20:58:59 +10:00
David Reid 98282df3f8 Add engine_steamaudio example. 2021-12-27 20:55:16 +10:00
David Reid 3b09d4bd27 Improvements to the engine.
* Add support for setting the directional attenuation factor. This is
    useful for allowing other effects to control the directional
    attenuation, such as HRTF effects.

  * Add a function for retrieving the index of the listener that a
    sound will be spatialized against based on the current state. A
    function to retrieve the direction to that listener has also been
    added. This is useful for when an effect needs to know information
    about the listener for some kind of spatialization.

  * A bug has been fixed where silence is output if a node has zero
    inputs.

  * A bug has been fixed where a bad channel map can be used for
    spatialization.
2021-12-27 20:52:16 +10:00
David Reid f0636050da Update revision history. 2021-12-27 13:45:46 +10:00
David Reid 06425645ee Fix some compilation errors. 2021-12-27 10:22:59 +10:00
David Reid 6501a6fdb0 Add support for avoiding pthread.h in the header section.
This option is intentionally undocumented and should be used at your
own risk.
2021-12-27 10:19:31 +10:00
David Reid 90674d4b09 Don't log device info unless MA_DEBUG_OUTPUT is enabled. 2021-12-27 09:57:41 +10:00
David Reid 46a062e149 Add ma_device_get_name(). 2021-12-27 09:49:52 +10:00
David Reid b611aa4de9 Add ma_device_get_info() and try to fix a bug in AAudio.
Public issue: https://github.com/mackron/miniaudio/issues/294
2021-12-26 18:29:02 +10:00
David Reid aae6c899c9 Use enums for flag declarations.
Public enum https://github.com/mackron/miniaudio/issues/218
2021-12-25 15:34:32 +10:00
David Reid d36acb0d87 Update revision history. 2021-12-25 15:10:49 +10:00
David Reid f9a355527a Switch result codes to an enum.
Public issue https://github.com/mackron/miniaudio/issues/218
2021-12-25 14:59:12 +10:00
David Reid 2b37266b47 Update revision history. 2021-12-25 13:42:01 +10:00
David Reid a50426b08f Merge pull request #382 from kgdev/dev
fix a typo when using ma_round_to_standard_sample_rate__opensl.
2021-12-25 13:39:04 +10:00
David Reid 5efdcf7188 Merge pull request #383 from Perksey/patch-1
Reorder examples in README
2021-12-25 13:04:09 +10:00
Dylan Perks 76dcdf776b Reorder examples in README 2021-12-24 19:16:24 +00:00