Commit Graph

160 Commits

Author SHA1 Message Date
David Reid e3af234720 Silence a warning in the node graph example. 2024-02-28 08:15:13 +10:00
David Reid 5cb0c05675 Update Steam Audio example to work with latest version. 2024-02-28 08:10:34 +10:00
David Reid 766a155fb3 Stop using MA_ASSERT in examples.
This is useful because MA_ASSERT is only defined in the implementation
section of miniaudio.h which can cause issues when people copy/paste
the code and use it in a file that does not have visibility of the
implementation.

Note that there are still more references to implementation-defined
macros, but these have been moved to the public section in the dev-0.12
branch so I'm not bothering to change those just yet.

Public issue https://github.com/mackron/miniaudio/issues/787
2023-12-17 08:42:19 +10:00
David Reid 537c4ca36c Update the simple_playback_sine example. 2023-09-05 06:48:49 +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 a8f3cb857e Fix compilation errors with MA_NO_DEVICE_IO. 2023-05-22 18:09:04 +10:00
David Reid 4cd066807b Add an example for high- and low-level interop.
This example captures data from the microphone using the low-level API
and then plays back the data through the engine. The intermediary data
source is a ring buffer.
2023-03-25 12:08:11 +10:00
David Reid 1f37940923 Minor improvement to the simple_playback_sine example. 2023-02-28 11:23:24 +10:00
David Reid 25885e4163 WebAudio: Add early experimental support for AudioWorklets.
Public issue https://github.com/mackron/miniaudio/issues/597.
2023-02-25 20:37:26 +10:00
cdigit 6de98570f6 Update duplex_effect.c 2023-01-14 10:33:24 +11:00
David Reid 034cc5f82a Fix engine_advanced example. 2022-10-02 13:20:29 +10:00
David Reid 9589a62f0c Fix example. 2022-01-20 17:20:26 +10:00
David Reid 3a3616e0ee Update Steam Audio example. 2022-01-03 16:37:16 +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 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 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 98282df3f8 Add engine_steamaudio example. 2021-12-27 20:55:16 +10:00
David Reid 3344df4f1c Minor updates to example description. 2021-12-18 18:15:21 +10:00
David Reid bb0d5506de Add an example for using effects with the engine. 2021-12-18 13:17:18 +10:00
David Reid fdc43c4c95 Minor updates to examples. 2021-12-18 13:14:57 +10:00
David Reid 0704e1fd24 Add a diagram for the node graph to documentation. 2021-12-15 19:41:55 +10:00
David Reid 13b905ca64 Add node graph example. 2021-12-15 18:10:43 +10:00
David Reid 9598247096 Remove old files and update examples. 2021-12-10 21:13:34 +10:00
David Reid dc912eb123 Fix some examples. 2021-12-10 07:03:25 +10:00
David Reid efa95d998f Remove the loop parameter from ma_data_source_read_pcm_frames(). 2021-10-13 18:51:17 +10:00
David Reid d177cb5e60 Update readme. 2021-08-14 19:18:26 +10:00
David Reid 2671e07560 Add examples for the high level API. 2021-08-14 18:41:26 +10:00
David Reid 369d3b8df7 Fix compilation errors with examples. 2021-07-31 10:22:20 +10:00
David Reid ce86d63181 Update simple_loopback example. 2021-07-28 17:34:54 +10:00
David Reid 33aae652fe API CHANGE: Update ma_get_standard_channel_map().
This adds a capacity parameter for added safety. It also changes the
order of parameters to make it a bit more consistent.
2021-07-04 19:46:00 +10:00
David Reid 3fad6cad86 API CHANGE: Add channel maps to ma_data_source_get_data_format().
This commit also removes the onGetChannelMap callback from the decoding
backend vtable.
2021-07-04 18:21:36 +10:00
David Reid 29ef420ee1 API CHANGE: Update ma_decoder_read_pcm_frames().
This makes ma_decoder_read_pcm_frames() consistent with other data
sources. It now returns a result code and outputs the number of frames
read via an output parameter.
2021-07-04 17:23:53 +10:00
David Reid 82f3b0eb7a API CHANGE: Remove unnecessary parameter from ring buffers.
This removes the `pBufferOut` parameter from the following APIs:

  * ma_rb_commit_read
  * ma_rb_commit_write
  * ma_pcm_rb_commit_read
  * ma_pcm_rb_commit_write
2021-07-04 16:03:52 +10:00
David Reid b1f64fdaf6 Update simple_playback example. 2021-07-01 17:05:31 +10:00
David Reid c54bb96964 Rename some config variables. 2021-07-01 14:58:05 +10:00
David Reid 9f4460797f Fix memory leaks. 2021-07-01 14:36:22 +10:00
David Reid 022b38517e Simplify the custom_decoder example. 2021-07-01 13:46:43 +10:00
David Reid 07fbb6ac6d Update custom_decoder example. 2021-06-30 20:43:05 +10:00
David Reid dad754b745 Add support for custom decoding backends.
Public issue https://github.com/mackron/miniaudio/issues/311
2021-06-27 21:43:31 +10:00
David Reid ea84294d97 Fix the custom_backend example. 2021-06-24 19:23:30 +10:00
David Reid 5551dc67e1 Update wording in example. 2021-06-24 19:07:33 +10:00
David Reid 595ba3f729 Update wording in example. 2021-06-24 18:52:33 +10:00
David Reid 46a033b43a Initial work on custom loop points and chaining for data sources.
This is locked behind the following compile time macro for now since
it'll involve breaking changes to custom data sources. This will be
removed in version 0.11:

  MA_EXPERIMENTAL__DATA_LOOPING_AND_CHAINING

Public issue https://github.com/mackron/miniaudio/issues/290
2021-05-16 15:36:20 +10:00
David Reid c715ead0e8 Minor simplification to the custom backend example. 2021-01-31 10:17:28 +10:00
David Reid 7fd98209ef Migrate the WebAudio backend over to the new callback system.
This changes a few things for custom backends and the calculation of
the size of the buffer. See the custom_backend example.
2020-11-17 20:43:29 +10:00
David Reid db0442fb78 Migrate the WASAPI backend over to the new callback system.
This includes changes to callbacks used by custom backends. It adds a
`pConfig` parameter to both onContextInit and onDeviceInit. This allows
custom backends to specify custom config properties.
2020-11-15 15:41:15 +10:00