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
David Reid
5c7bb0dc98
Update the advanced config example with backend selection.
2017-11-11 17:58:40 +10:00
David Reid
8fdb156d57
Add advanced config example.
2017-11-11 17:01:49 +10:00
David Reid
91822633c3
Simplify the simple playback example.
2017-11-11 17:01:27 +10:00
David Reid
3a603b586e
Remove unnecessary #include from the enumeration example.
2017-11-06 21:58:24 +10:00
David Reid
9f97cc6943
Whitespace.
2017-11-05 19:59:52 +10:00
David Reid
5c31a4b6d1
Move dr_wav.h into the extras folder.
2017-11-01 19:19:15 +10:00
David Reid
a69279bc74
Update playback example to include logging.
2017-10-28 16:36:02 +10:00
David Reid
cd63a62563
Update dr_wav.
2017-10-28 13:41:46 +10:00
David Reid
8d5c715ec2
Fix examples.
2017-10-28 12:56:01 +10:00
David Reid
0414907e62
Add the WinMM backend.
2017-06-25 15:42:17 +10:00
David Reid
ac158cd049
Add early support for OSS.
2017-06-24 19:08:26 +10:00
David Reid
0f21153ffe
Add helper APIs for initializing device configs.
...
* mal_device_config_init()
* mal_device_config_init_capture()
* mal_device_config_init_playback()
2017-06-18 21:25:01 +10:00
David Reid
acb5ce1595
Tabs to spaces.
2017-06-18 20:08:56 +10:00
David Reid
3348fc0a3c
Update examples.
2016-12-29 20:43:31 +10:00
David Reid
1d9ccdec51
Update examples.
2016-11-14 20:02:41 +10:00
David Reid
7afcede3bd
API CHANGE: Add device callbacks to mal_device_config.
...
Rationale:
1) It allows the callbacks to be set at initialization time which feels
a bit more intuitive to me.
2) It avoids the need to call mal_device_set_send_callback(), etc.
3) It's a bit more consistent with the onLog callback. Previously,
onLog would be passed to mal_device_init(), whereas onSend, etc were
set with mal_device_set_send_callback(), etc. which feels needlessly
inconsistent.
2016-10-26 22:20:16 +10:00
David Reid
cba66e9bae
API CHANGE: Pass config properties to mal_device_init() via a structure.
...
Rationale:
1) The number of parameters is just getting too much.
2) It makes it a bit easier to add new configuration properties in the
future. In particular, there's a chance there will be support added
for backend-specific properties.
2016-10-26 10:40:27 +10:00
David Reid
26ccabc834
Add examples.
2016-10-21 12:53:38 +10:00