David Reid
bc23d565e7
Minor optimization to ma_copy_pcm_frames() and update to documentation.
...
This changes makes ma_copy_pcm_frames() a no-op when the input and
output buffers are both set to the same pointer. This is useful for
some in-place no-ops for effects and filters.
2020-06-06 18:16:45 +10:00
David Reid
b287d94fe8
Rename some functions for consistency.
2020-06-03 21:25:57 +10:00
David Reid
fe06814325
Don't do filtering when pitch shifting for now.
...
This may be changed back to a first order LPF later on.
2020-06-03 20:50:44 +10:00
David Reid
5b1b160c62
Fix compilation errors with MA_NO_DEVICE_IO.
2020-06-03 20:01:36 +10:00
David Reid
31f08287da
Have decoders use their native channel count in the high level API.
...
This is required so we can do different spatialization logic depending
on the channel count of the audio source.
2020-06-03 17:01:39 +10:00
David Reid
c0ebf41633
Minor renaming.
2020-06-03 16:52:05 +10:00
David Reid
766420eb2b
Update revision history.
2020-06-01 21:20:36 +10:00
David Reid
cc8201738b
Optimization to stereo panner.
2020-06-01 20:47:34 +10:00
David Reid
4d5433ae58
Use first order LPF for pitch shifting by default.
...
There is a bug that's causing glitches which appears to be something to
do with the second order LPF.
2020-06-01 20:38:37 +10:00
David Reid
fefde682e3
Don't support such extreme resampling ratios.
...
This was affecting the stability of the internal low pass filters.
2020-06-01 20:20:43 +10:00
David Reid
54adbc3dfc
Fix a possible infinite loop.
2020-06-01 18:03:43 +10:00
David Reid
352a776b52
Fix a bug in the linear resampler when changing rates.
...
This bug is happening due to the internal timer not being adjusted to
match the new sample rate.
2020-06-01 17:11:23 +10:00
David Reid
32e240d4ec
Fix a bug when mixing a data source.
2020-06-01 01:05:01 +10:00
David Reid
bf63ed17b9
Enable mmap mode for ma_audio_buffer data sources.
2020-06-01 00:09:03 +10:00
David Reid
1c26893930
Add initial implementation of stereo panning to the ma_engine API.
...
This currently only supports f32, but support for more formats will be
coming soon.
2020-05-31 23:54:29 +10:00
David Reid
f4b0b271cd
More work on the new engine API.
...
* Initial work on infrastructure for spatialization, panning and
pitch shifting.
* Add ma_engine_sound_set_pitch()
Spatialization and panning is not yet implemented, but pitch shifting
should now be working.
2020-05-31 23:14:59 +10:00
David Reid
3a62d44959
Work on changes to the effect API.
2020-05-31 07:03:14 +10:00
David Reid
105d016e69
Updates to the new ma_engine API.
...
* The engine will now auto-start by default. This can be changed in
the config by setting `noAutoStart` to true.
* Initial implementation of ma_engine_play_sound() which can be used
for fire-and-forget playback of sounds.
* Add ma_engine_sound_at_end() for querying whether or not a sound
has reached the end. The at-end flag is set atomically and
locklessly in the mixing thread.
2020-05-30 13:56:41 +10:00
David Reid
8254324a5e
Update release notes.
2020-05-30 13:40:30 +10:00
David Reid
e2b37b5d6d
Fix some warnings reported by GCC.
2020-05-30 13:40:02 +10:00
David Reid
9718ac2d64
Fix some warnings with GCC and -std=c89.
2020-05-30 13:34:23 +10:00
David Reid
3fcef2fc7e
Add atomic compare and swap.
2020-05-30 13:25:02 +10:00
David Reid
fda0c07626
Update ma_mixer_mix_data_source() return value.
...
This change makes it so MA_AT_END is returned when a non-looping data
source reaches the end. This is how the caller can know to do clean up
or whatnot.
2020-05-30 13:01:56 +10:00
David Reid
29641e08dc
Add documentation for log levels.
2020-05-30 09:49:01 +10:00
David Reid
803cd284bc
Shorten a comment for easier viewing.
2020-05-29 19:51:37 +10:00
David Reid
967174368e
Add looping example.
2020-05-29 19:50:04 +10:00
David Reid
8de49326d4
Add support for looping when reading data from data sources.
...
Updated APIs:
* ma_data_source_read_pcm_frames()
* ma_data_source_seek_pcm_frames()
2020-05-29 19:49:38 +10:00
David Reid
69253921de
Update dr_wav in preparation for some new work.
2020-05-29 19:20:24 +10:00
David Reid
1cec172623
Add ma_data_source_seek_pcm_frames().
...
This commit also explicitly defines ma_data_source_read_pcm_frames() as
supporting an output buffer of NULL in which case a forward seek should
be performed.
2020-05-29 18:00:48 +10:00
David Reid
aec20ea98c
Add support for passing in NULL for output buffer when decoding.
...
This will cause a forward seek to occur instead of a read when calling
ma_decoder_read_pcm_frames() with the output buffer set to NULL.
2020-05-29 17:57:01 +10:00
David Reid
077ae13157
Clarify some wording.
2020-05-28 22:36:34 +10:00
David Reid
046bc0d7c6
Add initial experimental work on the ma_engine API.
2020-05-28 21:25:39 +10:00
David Reid
0d691012d6
Add support for effects when mixing memory mapped data sources.
2020-05-28 16:18:16 +10:00
David Reid
783aef728e
Updates to the mixer API.
...
* Add support for volume control to ma_mixer_mix_*().
* Add support for specifying an effect to apply before mixing.
* Add optimized pipeline for memory mappable data sources.
* Remove some unnecessary functions:
- ma_mixer_mix_pcm_frames_ex()
- ma_mixer_mix_callbacks()
- ma_mixer_mix_decoder()
- ma_mixer_mix_audio_buffer()
- ma_mixer_mix_waveform()
- ma_mixer_mix_noise()
- ma_mixer_mix_rb_ex()
2020-05-27 22:58:22 +10:00
David Reid
c2aa044335
Have ma_audio_buffer_unmap to return MA_AT_END when the end is reached.
2020-05-27 21:19:16 +10:00
David Reid
df9906a11e
Add support for memory mapping to ma_data_source.
2020-05-27 21:13:06 +10:00
David Reid
f572ac8709
Change pDeviceID to constant pointers in ma_device_config.
2020-05-27 17:44:41 +10:00
David Reid
51fea1b1bd
Fix some warnings in ma_mixing.h.
2020-05-27 17:43:08 +10:00
David Reid
34fcf64c96
Update dr_wav and dr_mp3.
2020-05-27 17:37:47 +10:00
David Reid
c530416acc
Minor update to ma_mixer.
2020-05-25 22:45:40 +10:00
David Reid
f333a5efc5
Version 0.10.7
2020-05-25 16:09:22 +10:00
David Reid
e90aaccbb8
Silence a warning.
2020-05-24 16:14:23 +10:00
David Reid
8f5e64a15a
Update revision history.
2020-05-24 16:13:33 +10:00
David Reid
069a436f3a
Fix a compilation error in the C++ build.
2020-05-24 16:12:44 +10:00
David Reid
237f5a6152
Add pull request template.
2020-05-24 14:24:32 +10:00
David Reid
4883142f68
Merge branch 'dev'
2020-05-24 14:09:57 +10:00
David Reid
aeed4457cd
Update issue templates
2020-05-24 14:07:31 +10:00
David Reid
9a60cea91a
Move CONTRIBUTING into the docs folder.
2020-05-24 13:05:22 +10:00
David Reid
0455697b55
Update contribution guidelines to be a bit more professional.
2020-05-24 13:04:39 +10:00
David Reid
3f96bdf8a7
Version 0.10.6
2020-05-24 11:39:40 +10:00