Commit Graph

1899 Commits

Author SHA1 Message Date
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
David Reid b95e86765e Remove old research code. 2020-05-23 17:13:37 +10:00
David Reid ea3f7f511e Add ma_audio_buffer API.
The ma_audio_buffer object is used for storing raw audio data in memory
and reading from it like any other data source. It supports flexible
memory management, reading, seeking, memory mapping and looping.

See documentation under "Audio Buffers" for a detailed description.
2020-05-23 17:07:19 +10:00
David Reid d836c0b56c Update readme to be a bit more concise. 2020-05-23 09:24:05 +10:00
David Reid eaca001361 Add research code for ma_data_source. 2020-05-22 21:37:48 +10:00
David Reid 329f184004 PulseAudio: Fix compilation errors with C89 and MA_NO_RUNTIME_LINKING. 2020-05-22 20:04:59 +10:00
David Reid f8c63d9ce0 Fix MA_NO_RUNTIME_LINKING for ALSA. 2020-05-22 18:57:51 +10:00
David Reid 70350d2a86 ALSA: Fix some compilation warnings. 2020-05-22 18:51:00 +10:00
David Reid 63c4409d20 Fix navigation in readme. 2020-05-21 20:51:22 +10:00
David Reid 1872ca4a46 Add Twitter link. 2020-05-21 20:46:06 +10:00
David Reid f26de790dd Use HTTPS instead of HTTP. 2020-05-21 20:24:46 +10:00
David Reid 56a785e2af Remove Decoding and add Documentation section to readme. 2020-05-21 20:20:45 +10:00
David Reid 169132de39 Fix formatting in examples build readme. 2020-05-21 20:19:22 +10:00
David Reid 5f1fe8ea92 Experiment with a menu in the readme. 2020-05-21 19:59:05 +10:00
David Reid f08171dc82 More experiments with the readme. 2020-05-21 19:49:29 +10:00
David Reid 704a279f95 Experiment with a readme change. 2020-05-21 18:51:39 +10:00