David Reid
07f1f20c17
Some renaming for the OpenSL backend.
2016-12-29 23:52:34 +10:00
David Reid
d568fe547a
Win32: Simplify use of COM.
2016-12-29 23:44:52 +10:00
David Reid
dd0554be0e
Don't omit backend-specific attributes in structures.
...
The rationale behind this commit is to ensure the size of each data
structure remains consistent regardless of which backends are enabled
and disabled. This is important for mini_al because it publicly exposes
every struct.
2016-12-29 21:57:54 +10:00
David Reid
02788795fb
Update documentation.
2016-12-29 21:27:00 +10:00
David Reid
3348fc0a3c
Update examples.
2016-12-29 20:43:31 +10:00
David Reid
47cc931933
Miscellaneous work on the OpenAL backend.
2016-12-29 20:43:06 +10:00
David Reid
629b37bbba
Remove dependency on OpenAL headers.
2016-12-29 19:41:26 +10:00
David Reid
c466f8de33
Apple platform detection.
2016-12-29 19:21:44 +10:00
David Reid
4f62eed986
Misc. fixes for the OpenAL backend.
2016-12-29 18:11:51 +10:00
David Reid
516ff2e539
Get basic playback working on the OpenAL backend.
2016-12-29 15:22:44 +10:00
David Reid
518f628fd6
Exploratory work on the OpenAL backend.
2016-12-29 00:07:38 +10:00
David Reid
f8daea0710
API CHANGE: Remove the rewinding APIs.
...
The rationale for this is that it's to unreliable and inconsistent
across each backend and not worth the added maintenance cost.
2016-12-28 17:45:49 +10:00
David Reid
8191bb5050
Fix an error where the incorrect backend is being used.
2016-12-28 17:38:31 +10:00
David Reid
74a790a508
Fix C++ build for the WASAPI backend.
2016-12-28 17:28:43 +10:00
David Reid
ea5cc7fc28
Update gitignore.
2016-11-22 11:20:20 +10:00
David Reid
e33d149aec
Fix a compilation error.
2016-11-14 22:21:53 +10:00
David Reid
8987711b90
Give DirectSound priority over WASAPI for now.
2016-11-14 22:19:39 +10:00
David Reid
e4fc7599ff
Update documentation.
2016-11-14 20:23:49 +10:00
David Reid
ddabf406a4
Update example code in documentation.
2016-11-14 20:19:30 +10:00
David Reid
d80651e110
Update change log.
2016-11-14 20:14:50 +10:00
David Reid
08d46c27a8
Remove a todo.
2016-11-14 20:06:41 +10:00
David Reid
dd7c706ea0
Update example in readme.
2016-11-14 20:03:59 +10:00
David Reid
1d9ccdec51
Update examples.
2016-11-14 20:02:41 +10:00
David Reid
262452139f
Add a todo.
2016-11-14 19:56:35 +10:00
David Reid
6d84abec2e
Fix a copy/paste error.
2016-11-14 19:50:50 +10:00
David Reid
4e05d6d88c
Remove unneeded property from mal_device.
2016-11-14 19:50:18 +10:00
David Reid
d1d265b74d
API CHANGE: Change parameters of mal_device_init().
...
These changes add a mal_context parameter and moves the output device
to the last parameter for consistency with mal_context_init().
2016-11-14 19:44:48 +10:00
David Reid
3982453b6b
API CHANGE: Have mal_enumerate_devices() take a context object.
2016-11-14 13:56:12 +10:00
David Reid
982791b377
Add some infrastructure for the new context system.
2016-11-14 13:29:09 +10:00
David Reid
80c8f7d843
Prioritize WASAPI over DirectSound.
2016-11-13 23:43:46 +10:00
David Reid
fb4cc86624
WASAPI: Add initial support for capture.
2016-11-13 23:33:32 +10:00
David Reid
16c3856dba
WASAPI: Add initial support for playback.
2016-11-13 22:36:39 +10:00
David Reid
ff8ef78480
WASAPI: Add support for device enumeration.
2016-11-13 17:21:51 +10:00
David Reid
a03ed3259d
Prep work for WASAPI.
2016-11-13 14:48:35 +10:00
David Reid
85ce6df27f
Prep work for better handling non-desktop UWP builds.
2016-11-13 14:46:23 +10:00
David Reid
2fae24ff04
Disable DirectSound for UWP.
2016-11-13 11:24:20 +10:00
David Reid
9be149f6fe
Clean up whitespace.
2016-11-06 09:24:00 +10:00
David Reid
6498df3fa1
Rename an assert to mal_assert and memset to mal_zero_object.
2016-11-06 07:45:00 +10:00
David Reid
84bb6f86bc
Add a simple logo for the website and readme.
2016-10-28 10:47:34 +10:00
David Reid
38d9a34f7d
Bump version.
2016-10-28 08:16:16 +10:00
David Reid
6c911783b4
Add a TODO.
2016-10-27 20:28:26 +10:00
David Reid
9d336be542
Fix compilation warning.
2016-10-27 00:17:37 +10:00
David Reid
1b34736831
Move #include's for OpenSL|ES to a more appropriate spot.
2016-10-26 22:40:17 +10:00
David Reid
d4c0a07c40
Move some #define's out of the public section.
2016-10-26 22:38:51 +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
4e2e48d29e
DirectSound: Fix compilation error with MSVC when compiling as C++.
2016-10-26 15:36:22 +10:00
David Reid
ca53ff1053
Drop support for f64, A-law and Mu-law formats.
...
Rationale:
1) These formats just aren't common enough to justify the added
maintenance cost.
2) It makes software format conversion a lot simpler since it reduces
the number of permutations.
2016-10-26 15:22:22 +10:00
David Reid
8774f70d6f
OpenSL|ES: Explicitly fail for known unsupported formats.
2016-10-26 12:40:37 +10:00
David Reid
6901b5caa1
OpenSL|ES: Call the onStop callback when the device is stopped.
2016-10-26 11:20:52 +10:00
David Reid
91ae8801ac
Add support for backend-specific default buffer size and periods.
...
Previously, there was only a single default buffer size and period
count. This forces the library to use a lowest common denominator for
every backend which forces higher quality backends to suffer because
of the lesser quality ones.
This change adds basic infrastructure for future work to tweak these
properties for each individual backend to try and get the best out
them.
2016-10-26 11:07:47 +10:00