Commit Graph

168 Commits

Author SHA1 Message Date
David Reid daf6af3910 Simplify examples build script for macOS. 2019-04-19 07:12:45 +10:00
David Reid 442d1bbb99 Fix a pedantic warning about a missing new line at EOF. 2019-04-19 06:32:33 +10:00
David Reid 0d221755f3 Update examples build scripts. 2019-04-19 06:23:46 +10:00
David Reid e1eb387acf Add simple_mixing example. 2019-03-17 12:49:47 +10:00
David Reid ceb81f60e4 Rename files from "mal" to "ma". 2019-03-06 21:01:51 +10:00
David Reid e00fe077f4 "mal_" to "ma_". 2019-03-06 20:55:51 +10:00
David Reid f1bf58d0f8 "MAL_" to "MA_". 2019-03-06 20:51:38 +10:00
David Reid b93faa46e5 MINI_AL_IMPLEMENTATION to MINIAUDIO_IMPLEMENTATION. 2019-03-06 20:49:18 +10:00
David Reid d72e7b1fce "mini_al" to "miniaudio". 2019-03-06 20:42:48 +10:00
David Reid dae1bdd6c2 Update advanced config example. 2019-03-05 19:24:15 +10:00
David Reid f4693be9f3 Update Emscripten simple playback example. 2019-03-05 19:14:08 +10:00
David Reid 2e23db7d1a Small tweak to the playback example. 2019-03-05 18:46:39 +10:00
David Reid 008cb41617 API CHANGE: Reorder parameters for some APIs.
The APIs that have changed are those that take an output pointer and an
input count in the format of "some_read_function(handle, pBuf, count)".

The updated APIs include:
  * mal_decoder_read_pcm_frames()
  * mal_pcm_converter_read()

Some APIs are scheduled to be replaced in a future version so I have
decided not to replace this at this time since it will be a waste of
time to do so.
2019-02-25 18:15:00 +10:00
David Reid 9ed608a452 Update simple playback example. 2019-02-24 21:01:53 +10:00
David Reid bd689c560e Fix Core Audio build. 2019-02-24 17:39:07 +10:00
David Reid 32c64703dd Initial working implementation of full-duplex on WASAPI. 2019-02-09 17:39:49 +10:00
David Reid 8adce03d72 Core Audio: Refactoring in preparation for full-duplex. 2019-02-03 12:35:23 +10:00
David Reid 4980fcf3c5 Reorder parameters in the callback.
This swaps the order of the input and output pointers so that it's
consistent with the order used by memcpy().
2019-01-12 11:04:11 +10:00
David Reid 67db06350d API CHANGE: Change the data callback in preparation for full-duplex.
This removes the two separate callbacks for sending and receiving data
to/from the device to a unified callback that's used for both input and
output. The new callback takes a pointer to both an input and output
buffer. When the device is opened in playback mode the input pointer
will be set to null. Likewise the output pointer will be set to null
for capture devices. Both input and output pointers will be non-null
for full-duplex devices.
2019-01-12 09:34:30 +10:00
David Reid cdc49541a2 API CHANGE: Move pUserData from device_init() to device_config_init().
This change makes it consistent with mal_pcm_converter, mal_src, etc.
2018-12-30 17:29:03 +10:00
David Reid d0e29698fd Update simple playback example. 2018-12-30 09:19:36 +10:00
David Reid 21e15a4ca1 Fix some errors with the previous commit. 2018-08-11 21:31:05 +10:00
David Reid 64a534744a Update advanced config example with new backends. 2018-08-05 12:22:30 +10:00
David Reid 1e9e2759b7 Add examples build script for Mac. 2018-06-30 19:28:58 +10:00
David Reid 59726df2c2 MAL_IMPLEMENTATION to MINI_AL_IMPLEMENTATION 2018-05-21 20:03:11 +10:00
David Reid d48671a9af Add Emscripten example. 2018-04-29 18:10:23 +10:00
David Reid 3a7304e9a1 Add build instructions for examples. 2018-04-29 17:25:31 +10:00
David Reid dd2ae15220 Add build scripts for examples. 2018-04-29 17:21:26 +10:00
David Reid baf8830cb0 Update the advanced_config example. 2018-04-29 17:11:44 +10:00
David Reid cf245b617d Remove the old device enumeration API. 2018-03-18 15:41:04 +10:00
David Reid afb0029da0 Update the advanced config example. 2018-03-11 07:21:07 +10:00
David Reid dfcaf178f9 Update playback example so it fits nicely on github's main page. 2018-03-05 22:17:27 +10:00
David Reid 53692202a2 Fix memory leaks in the advanced config example. 2018-03-04 10:22:27 +10:00
David Reid 174938e942 Fix a bug in the enumeration example. 2018-03-03 21:29:00 +10:00
David Reid a321e6a543 Update the simple playback example.
This makes the multi playback example obsolete and has thus been
removed.
2018-02-25 18:25:18 +10:00
David Reid 5d3fe6d487 Update example. 2018-02-25 10:13:04 +10:00
David Reid d4798adc6d Initial work on the MP3 decoder.
This currently uses minimp3, but this may change.
2018-02-24 14:51:10 +10:00
David Reid c294f0ee3d More clean up for the multi_playback example. 2018-02-24 09:35:53 +10:00
David Reid 400ca25a90 Minor clean up to the multi_playback example. 2018-02-24 09:32:33 +10:00
David Reid 631ab4d69b Update example for the decoder API. 2018-02-20 21:41:24 +10:00
David Reid ec2ca9a32b Silence some warnings in an example. 2018-02-19 21:47:58 +10:00
David Reid 35af204e21 Clean up whitespace. 2017-12-03 17:09:23 +10:00
David Reid 5d0705b34e Check the return value of mal_device_start() in examples. 2017-12-03 17:02:30 +10:00
David Reid c340035fe6 Polish the SDL backend and the Emscripten build.
* Remove dependency on SDL.h where possible
 * Use run-time linking where possible
 * Support both SDL 1.2 and SDL 2
 * Add device enumeration when using SDL 2

The Emscripten build currently uses SDL 1.2 because it avoids the need
for "-s USE_SDL=2" when compiling. This may change later if there's
ever a need or if there's enough demand.
2017-11-19 12:04:58 +10:00
David Reid 0f409ac32c Update the multi_playback example to include FLAC and Vorbis. 2017-11-18 16:26:45 +10:00
David Reid 8c7e9fd6b2 Merge pull request #6 from r-lyeh/master
extend with PD MOD/XM player
2017-11-18 14:53:16 +10:00
David Reid ec2bbe5995 Fix typo. 2017-11-17 19:18:48 +10:00
r-lyeh e9442b0e13 Update multi_playback.c 2017-11-16 15:34:50 +01:00
r-lyeh 37491c1fd8 extend with PD MOD/XM player 2017-11-16 15:37:42 +01:00
David Reid 15da6a79c7 Stop trying to silence a non-warning. 2017-11-11 09:51:02 +10:00