Commit Graph

2281 Commits

Author SHA1 Message Date
David Reid 66a20f0a87 Remove the old mixing code from ma_engine. 2021-01-10 20:39:36 +10:00
David Reid d72b6f1dca Begin work on integrating the engine with the routing system.
This commit has known issues which will be fixed in the next commits.
2021-01-10 19:48:24 +10:00
David Reid 67863c48f3 Fix a crash in ma_audio_buffer_read_pcm_frames(). 2021-01-10 17:18:21 +10:00
David Reid 8da4b4fa8b Add support for timing operations to the node graph system.
This is needed for scheduling frame-exact starting and stopping of
nodes, in addition to any kind of time-based effects required by custom
nodes, such as fading.
2021-01-10 10:56:44 +10:00
David Reid 554c505f9c Work in progress on integrating ma_engine with the routing system.
This is not fully functional as of this commit.
2021-01-09 15:18:46 +10:00
David Reid 3e8a9ec040 Remove the ability to configure the engine's sample format.
The sample format is now always 32-bit floating point. This was done
for simplicity and practicality.
2021-01-09 09:15:26 +10:00
David Reid 72bc5bc043 Update ma_node_output_bus_set_volume() to allow amplification. 2021-01-07 20:44:38 +10:00
David Reid c394348d9a Remove ma_sound_set_effect() and ma_sound_group_set_effect().
Effects will now be implemented by plugging effect nodes into the node
graph at the appropriate location.
2021-01-07 20:43:31 +10:00
David Reid afcb46dbb1 Fix a typo. 2021-01-06 22:11:02 +10:00
David Reid d580e3043f Remove some unnecessary atomics. 2021-01-06 22:06:25 +10:00
David Reid 9f62d69669 Update documentation. 2021-01-06 22:04:39 +10:00
David Reid 79845b5ec6 Update documentation. 2021-01-06 21:27:41 +10:00
David Reid fb1e61cb06 Add ma_node_detach_all_output_buses(). 2021-01-06 21:19:55 +10:00
David Reid fb336f54e3 Make ma_node_detach() private and rename to ma_node_detach_full(). 2021-01-06 21:17:02 +10:00
David Reid bb0e486d95 Simplify node attachment APIs.
With this change, attachment and detachment of a node's output bus is
now consistent:

  * ma_node_attach_output_bus()
  * ma_node_detach_output_bus()

The old function that allowed you to attach the other way around has
been removed as the caller can easily do that themselves by swapping
the order of parameters.
2021-01-06 21:10:42 +10:00
David Reid 4f96309cbf Add experimental loop detection to the routing system. 2021-01-06 19:06:39 +10:00
David Reid c540366921 Improve performance of ma_node_uninit().
This changes the way ma_node_uninit() waits for the audio thread. Now,
instead of waiting for the *entire* graph to complete, it only waits
for it's local processing to complete.
2021-01-05 22:21:56 +10:00
David Reid 61c6e5b12a Typos. 2021-01-03 22:32:52 +10:00
David Reid 02f78d7787 Make channel counts per-bus rather than per-node.
This makes it possible to give individual input and output buses unique
channel counts which might be useful for specific kinds of effects.
2021-01-03 21:44:18 +10:00
David Reid c8e1438b11 Stop pre-converting input channel counts to output channel counts. 2021-01-03 21:03:47 +10:00
David Reid f6c563e523 Merge the new routing infrastructure into miniaudio_engine. 2021-01-03 18:41:40 +10:00
David Reid 5478074840 Update revision history. 2021-01-03 18:23:43 +10:00
David Reid 816a5a34dd Add ma_offset_pcm_frames_{const_}ptr_f32.
This also silences a warning on GCC.
2021-01-03 18:08:29 +10:00
David Reid 1dcdd44088 Fix some errors with the C++ build. 2021-01-03 18:07:17 +10:00
David Reid 8fc8d25bcd Qualify spinlock parameters as volatile. 2021-01-02 16:37:57 +10:00
David Reid a4967cced4 Merge branch 'master' into dev 2020-12-31 08:12:21 +10:00
David Reid 24ed1dd98b Update pull_request_template.md 2020-12-31 08:12:35 +10:00
David Reid d533bb4558 Update revision history. 2020-12-30 07:29:18 +10:00
David Reid da0cb334ee Merge pull request #254 from Masclaux/master
Remove some warnings (warning C4100: unreferenced formal parameter)
2020-12-30 07:21:26 +10:00
Jérémy Masclaux 7b24f95fe0 Remove some warnings (warning C4100: unreferenced formal parameter) 2020-12-29 17:49:21 +01:00
David Reid bed2fbd0b2 Merge pull request #253 from eliasku/patch-1
Fix issue #252
2020-12-29 08:56:58 +10:00
Elias Ku 475d6f1296 Fix issue #252 2020-12-28 14:54:37 +03:00
David Reid 8f675e6c31 Version 0.10.29 2020-12-26 18:09:28 +10:00
David Reid d92c2016ad Remove some debugging code that was accidentally committed. 2020-12-26 18:05:08 +10:00
David Reid 0e45b95e04 Rearrange some function parameters in miniaudio_engine. 2020-12-26 18:04:33 +10:00
David Reid 4e9becd5b3 Update dr_flac and dr_mp3. 2020-12-26 18:04:14 +10:00
David Reid daac3d3412 Update revision history. 2020-12-24 21:44:09 +10:00
David Reid 9cb1925c37 Fix a bug resulting in superfluous allocations with device enumeration.
Public issue https://github.com/mackron/miniaudio/issues/251
2020-12-24 21:19:31 +10:00
David Reid 18314d6afc Update revision history. 2020-12-22 21:12:50 +10:00
David Reid 10049067e7 Core Audio: Fix some compilation errors on iOS. 2020-12-22 17:59:05 +10:00
David Reid 5a8c88d129 Core Audio: Try fixing a possible re-routing bug.
Public issue https://github.com/mackron/miniaudio/issues/101
2020-12-22 17:25:59 +10:00
David Reid 8095b9bcfb Whitespace. 2020-12-19 21:28:05 +10:00
David Reid 1d0acd6a9c Update revision history. 2020-12-19 21:27:55 +10:00
David Reid ab8d87be23 Clean up some multithreading bugs due to incorrect use of atomics.
Public issue https://github.com/mackron/miniaudio/issues/237
2020-12-19 13:20:34 +10:00
David Reid bff79eb8c8 Fix some subtle multi-threading errors due to lacking atomic loads.
Public issue https://github.com/mackron/miniaudio/issues/237
2020-12-19 11:07:38 +10:00
David Reid db53994f7c Version 0.10.28 2020-12-16 20:39:26 +10:00
David Reid 101e811ead Minor clarification to documentation.
Public issue https://github.com/mackron/miniaudio/issues/247
2020-12-16 18:35:59 +10:00
David Reid ea6281fa93 Fix compilation errors with AAudio.
Public issue https://github.com/mackron/miniaudio/issues/247
2020-12-16 18:18:19 +10:00
David Reid 37cff3f075 Force runtime linking on AAudio for the moment.
Change of plans from the previous commit.
2020-12-15 21:53:21 +10:00
David Reid 4985c2e4cc AAudio: Add support for the MA_NO_RUNTIME_LINKING option. 2020-12-15 21:41:12 +10:00