Commit Graph

300 Commits

Author SHA1 Message Date
David Reid 479503ec02 Add documentation about negative amplitude with waveforms. 2020-02-22 15:05:52 +10:00
David Reid 619b94c3b4 Optimizations to f32 and s16 waveform generation. 2020-02-22 14:32:06 +10:00
David Reid 6b2997728e Minor rewording. 2020-02-22 13:15:13 +10:00
David Reid 187e8b2e5d Bug fixes to noise generation. 2020-02-22 13:01:35 +10:00
David Reid ccba7ef6a9 Fix a compilation error when using MA_USE_REFERENCE_CONVERSION_APIS. 2020-02-22 11:23:15 +10:00
David Reid 367e864431 Update release notes. 2020-02-22 10:46:31 +10:00
David Reid 53adeab6ea Add documentation for the noise API. 2020-02-22 10:24:00 +10:00
David Reid 117b1b8595 Update waveform API to be consistent with other APIs. 2020-02-22 10:06:14 +10:00
David Reid 502d55ec69 Fix typos. 2020-02-22 09:48:33 +10:00
David Reid 4a3ddad442 Add initial code for a noise generation API. 2020-02-21 20:28:12 +10:00
David Reid 2322d65470 Make use of EMSCRIPTEN_KEEPALIVE consistent with documentation.
Unlikely fix for https://github.com/dr-soft/miniaudio/issues/134
2020-02-21 19:17:33 +10:00
David Reid 17e5caf9bb Fix a typo. 2020-02-21 19:04:37 +10:00
David Reid ea17a0d820 Update documentation. 2020-02-19 20:32:15 +10:00
David Reid 50f97346c5 Add band-pass filter. 2020-02-19 19:17:10 +10:00
David Reid f7d7208f68 Add high pass filter. 2020-02-19 18:28:07 +10:00
David Reid 3f321db1fb Add documentation for the waveform API. 2020-02-19 18:05:39 +10:00
David Reid f98fd001de Add some APIs to allow dynamics changes to waveform parameters. 2020-02-19 17:40:07 +10:00
David Reid 8a7a65c271 API CHANGE: Replace ma_sine_wave with ma_waveform.
The ma_waveform API is a more general API supporting different waveform
including sine, square, triangle and sawtooth.
2020-02-18 20:46:36 +10:00
David Reid 415ded561c Remove more unused macros. 2020-02-16 20:50:48 +10:00
David Reid 57884cdf66 Remove unused macros. 2020-02-16 20:50:04 +10:00
David Reid d356e71a02 Fix VC6 build. 2020-02-16 14:58:38 +10:00
David Reid 336a8cbb98 API CHANGE: Rename ma_calculate_frame_count_after_src().
This has been renamed to ma_calculate_frame_count_after_resampling()
for consistency with the new ma_resampler API.
2020-02-16 12:59:31 +10:00
David Reid 18df4a80c8 Bug fix for ma_decoder_get_length_in_pcm_frames().
This previously returned the frame count based on the internal sample
rate of the underlying stream, whereas it should have instead returned
a frame count based on the output sample rate. This commit fixes this.

This commit commit also changes the implementation of
ma_calculate_frame_count_after_src() to use the ma_resampler API which
should make it a bit more robust and easier to maintain.
2020-02-16 12:46:58 +10:00
David Reid 7e5863b37b Add some comments. 2020-02-15 07:37:00 +10:00
David Reid 259d8aa2eb Core Audio: Add a comment. 2020-02-14 21:54:03 +10:00
David Reid cd66d5848c WebAudio: Add a clarification comment concerning draining. 2020-02-14 19:59:14 +10:00
David Reid 159fbf330b OpenSL: Drain buffers when stopping the device. 2020-02-14 19:47:38 +10:00
David Reid 1b8ddf5985 AAudio: Add a comment clarifying draining. 2020-02-14 18:55:31 +10:00
David Reid 386852887f sndio: Add note about draining. 2020-02-13 21:52:37 +10:00
David Reid 137ae5533f audio(4): Drain the playback device when stopping. 2020-02-13 21:39:22 +10:00
David Reid 1d2c52d5b6 WinMM: Drain the playback device when stopping. 2020-02-13 21:18:42 +10:00
David Reid adef2adfbd WASAPI: Refactoring to device enumeration.
Public issue https://github.com/dr-soft/miniaudio/issues/126
2020-02-13 20:07:27 +10:00
David Reid c67175c3ea Make volume control more thread safe.
This change makes a copy of the master volume factor before applying it
so that if another thread changes the volume it won't apply the change
part way through the processing of a period.
2020-02-13 17:29:16 +10:00
David Reid 578496e237 Minor clarification changes. 2020-02-12 21:56:43 +10:00
David Reid 45a3ad3b87 Update documentation. 2020-02-12 21:37:25 +10:00
David Reid 9ce58044dc Update documentation. 2020-02-12 21:21:43 +10:00
David Reid 4c409c824a API CHANGE: Remove ma_device_set_stop_callback().
With this change the stop callback must be set via the device config.
2020-02-12 20:50:43 +10:00
David Reid 4d34108589 Update documentation. 2020-02-12 20:47:51 +10:00
David Reid 314eb68544 Use default LPF filter count for decoders. 2020-02-12 18:34:39 +10:00
David Reid 74a1cf38b9 WASAPI: Fix WASAPI bug where the buffer size is not set correctly. 2020-02-12 18:20:26 +10:00
David Reid 53cfae9932 Update documentation. 2020-02-12 17:58:08 +10:00
David Reid 841c0b8d7e Minor restructuring in preparation for removing -lm dependency. 2020-02-11 18:54:23 +10:00
David Reid 25b21e5851 Remove unused function. 2020-02-10 21:14:11 +10:00
David Reid 54584cb4c2 Update build instructions and remove dependency on sqrt(). 2020-02-10 19:45:08 +10:00
David Reid ce98c1ed72 Update documentation. 2020-02-10 19:02:52 +10:00
David Reid 0965404db2 Clarify the PulseAudio backend is not enabled on Windows. 2020-02-09 16:00:39 +10:00
David Reid 6547d6b20d Fix a typo. 2020-02-09 15:40:05 +10:00
David Reid bb31038e16 Core Audio: Fix compilation errors. 2020-02-09 15:28:51 +10:00
David Reid 9ee6cf0d17 OSS: Bug fixes. 2020-02-09 05:07:07 +10:00
David Reid 7aac694905 API CHANGE: Remove bufferSizeInFrames and bufferSizeInMilliseconds.
These used to represent the size of the entire buffer, with the latency
defined by the the size of this buffer, divided by the period count.
This ended up being confusing because people assumed the buffer size by
itself was enough to define the latency. With this commit, these config
variables have been replaced with ones that take the size of a period
rather than the size of the entire buffer. These are called
periodSizeInFrames and periodSizeInMilliseconds. With this change, the
latency is determined by these settings alone, without needing to take
the period count into account. This should make things much easier to
understand.

This commit removes MA_BASE_BUFFER_SIZE_IN_MILLISECONDS_LOW_LATENCY and
MA_BASE_BUFFER_SIZE_IN_MILLISECONDS_CONSERVATIVE.

This commit removes ma_get_default_buffer_size_in_milliseconds() and
ma_get_default_buffer_size_in_frames().
2020-02-09 14:53:36 +10:00