Commit Graph

175 Commits

Author SHA1 Message Date
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