SDL/docs
Ryan C. Gordon 18c59cc969
Merge the SDL3 audio subsystem redesign!
This rips up the entire SDL audio subsystem! While we still feed the audio device from a separate thread, the audio callback into the app is now gone a totally optional alternative.

Now the app will bind an SDL_AudioStream to a given device and feed data to it. As many streams as one likes can be bound to a device; SDL will mix them all into a single buffer and feed the device from there.

So not only does this function as a basic mixer, it also means that multiple device opens are handled seamlessly (so if you want to open the device for your game, but you also link to a library that provides VoIP and it wants to open the device separately, you don't have to worry about stepping on each other, or that the OS will fail to allow multiple opens of the same device, etc).

Merged from pull request #7704.

Fixes #7379.
Reference Issue #6889.
Reference Issue #6632.
2023-08-03 21:27:54 -04:00
..
README-android.md Sync SDL3 wiki -> header 2023-07-20 14:55:15 +00:00
README-cmake.md cmake: rename SDL_TEST -> SDL_TEST_LIBRARY 2023-07-28 04:41:29 +02:00
README-contributing.md Sync SDL3 wiki -> header 2023-02-28 17:50:11 +00:00
README-dynapi.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-emscripten.md emscripten: Add JS library dependencies using EM_JS_DEPS macro 2023-07-06 19:32:05 -04:00
README-gdk.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-git.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-hg.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-highdpi.md Officially added the concept of window pixel density 2023-05-17 17:54:03 -07:00
README-ios.md Rename SDL_PIXELFORMAT_RGB888 and SDL_PIXELFORMAT_BGR888 to SDL_PIXELFORMAT_XRGB8888 and SDL_PIXELFORMAT_XBGR8888 for clarity 2023-07-01 17:58:34 -07:00
README-kmsbsd.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-linux.md audio: Redesigned audio conversion code for SDL3. 2023-04-27 18:35:15 -04:00
README-macos.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-migration.md Merge the SDL3 audio subsystem redesign! 2023-08-03 21:27:54 -04:00
README-n3ds.md Rename SDL semaphore and condition variable functions to match SDL 3.0 naming convention 2023-04-28 12:08:33 -07:00
README-ngage.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-platforms.md Revert "Update wiki.libsdl.org urls to libsdl-org/SDL/wiki (#4069)" 2021-04-01 12:15:28 -04:00
README-porting.md include: SDL_dynapi.h depends on platform defines 2023-01-08 21:37:54 +01:00
README-ps2.md Fix various typos (docs/build scripts/tests) 2023-07-03 08:35:37 -07:00
README-psp.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-raspberrypi.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-riscos.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-touch.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-versions.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-visualc.md SDL_CreateWindow() has been simplified and no longer takes a window position. 2023-03-06 09:50:12 -08:00
README-vita.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-wayland.md Sync SDL3 wiki -> header 2023-05-13 16:55:14 +00:00
README-windows.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README-winrt.md Sync SDL3 wiki -> header 2023-02-28 17:30:22 +00:00
README.md gesture: Removed the gesture API from SDL3. 2022-12-13 14:54:37 -05:00
doxyfile docs: Fix doxyfile 2023-02-19 10:01:33 -08:00
release_checklist.md Updated release_checklist.md for SDL 3.0 2023-01-04 23:47:01 -08:00

README.md

Simple DirectMedia Layer

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

SDL officially supports Windows, macOS, Linux, iOS, and Android. Support for other platforms may be found in the source code.

SDL is written in C, works natively with C++, and there are bindings available for several other languages, including C# and Python.

This library is distributed under the zlib license, which can be found in the file "LICENSE.txt".

The best way to learn how to use SDL is to check out the header files in the "include" subdirectory and the programs in the "test" subdirectory. The header files and test programs are well commented and always up to date.

More documentation and FAQs are available online at the wiki

If you need help with the library, or just want to discuss SDL related issues, you can join the SDL Discourse, which can be used as a web forum or a mailing list, at your preference.

If you want to report bugs or contribute patches, please submit them to our bug tracker

Enjoy!

Sam Lantinga mailto:slouken@libsdl.org