Unlocked notification fires on emscripten upon successful resume of
audio context attached to a device. This occurs only once per device
and it happens after the browser has received the input event
necessary to begin playing audio on most webpages. This is due
to autoplay rules.
It is recommended to wait until this event is fired to start a
'main game loop' on the web.
The SSE2 code paths for mono expansion introduced in Version 0.11.15
mixed up the parameters of `_mm_shuffle_ps()`, which in turn caused
adjacent PCM frames to be swapped in the channel-expanded output.
With this commit, custom backends can now be implemented as
self-contained modules that can easily be plugged in and mixed and
matched depending on a programs requirements. The order in which
custom backends are specified in the context config determine their
priority.
This commit updates the custom_backend example by moving the SDL
code out into its own file in "extras/backends/sdl". The example will
now just include the SDL code files like normal. This represents a more
realistic scenario.
The Cosmopolitan-specific windows.h stuff has now been moved to an
external file in the extras folder:
extras/cosmopolitan/include/windows.h
To compile with Cosmpolitan it is now required that you add the above
path to the command line when compiling.
This reverts commit 0788be818b.
This change was technically incorrect. Reverting this change for now
until a better fix is in place. Likely this will require an extra
parameter for controlling this.