David Reid
369fb6fd8f
Some small improvements to the resource manager.
...
These changes are in preparation for fixing some issues relating to
retrieval of channel counts from data sources. The problem relates to
the asynchronous nature of the resource manager and how data sources
may be in the middle of loading when trying to initialize a sound which
results in the channel count not yet being available. The channel count
is necessary in order for the engine to be able to convert the data
source to the channel count of the final output.
2021-01-10 22:38:00 +10:00
David Reid
085728fdcd
Remove ma_mixer.
2021-01-10 20:47:22 +10:00
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