Go to file
Ryan C. Gordon b2e020958f
audio: Wrap device access in opening of logical devices.
Now you open an audio device and attach streams, as planned, but each
open generates a new logical device. Each logical device has its own
streams that are managed as a group, but all streams on all logical
devices are mixed into a single buffer for a single OS-level open of
the physical device.

This allows multiple opens of a device that won't interfere with each
other and also clean up just what the opener assigned to their logical
device, so all their streams will go away on close but other opens will
continue to mix as they were.

More or less, this makes things work as expected at the app level, but
also gives them the power to group audio streams, and (once added) pause
them all at once, etc.
2023-07-30 11:55:53 -04:00
.github ci: disable precompiled headers for riscos 2023-07-22 15:55:48 -04:00
VisualC testcontroller replaces gamepadmap 2023-07-16 04:32:12 -07:00
VisualC-GDK Renamed testgamepad to testcontroller 2023-07-16 04:32:12 -07:00
VisualC-WinRT Clipboard data API revamp 2023-07-05 20:06:59 -07:00
Xcode rwlock: Added SDL_rwlock API for shared locks. 2023-04-27 21:54:02 -04:00
android-project Build on Android targeting the arm64-v8a architecture by default 2023-06-20 09:18:19 -07:00
build-scripts Fix various typos (docs/build scripts/tests) 2023-07-03 08:35:37 -07:00
cmake cmake: use pkg-config + test compile instead of Find module for detecting rpi 2023-07-28 04:41:29 +02:00
docs audio: Readd SDL_AudioSpec, but just with format/channels/freq fields. 2023-07-30 11:55:52 -04:00
include audio: Wrap device access in opening of logical devices. 2023-07-30 11:55:53 -04:00
mingw/pkg-support/cmake build: don't add SDL3 subfolder to include path for external projects 2022-11-27 14:33:13 -08:00
src audio: Wrap device access in opening of logical devices. 2023-07-30 11:55:53 -04:00
test audio: Readd SDL_AudioSpec, but just with format/channels/freq fields. 2023-07-30 11:55:52 -04:00
wayland-protocols Add and event and flag to report when a window has been occluded 2023-07-18 16:42:05 -04:00
.clang-format Commented out syntax that causes Visual Studio 2019 to complain on every edit 2022-12-02 00:43:01 -08:00
.clang-tidy Add clang-tidy config and CMake/CI support. 2023-02-06 21:02:25 -08:00
.editorconfig Fixed formatting for Haiku cc files 2023-01-25 03:03:41 -08:00
.gitignore Add VS code directory to gitignore 2023-07-25 23:36:14 -07:00
.wikiheaders-options sdlwiki: SDL3 advises users to include through 'SDL3/SDL.h' 2023-03-21 02:19:19 +01:00
Android.mk Fixed building with the 16.1.4479499 Android toolchain 2023-06-13 07:50:00 -07:00
BUGS.txt
CMakeLists.txt audio: First shot at the SDL3 audio subsystem redesign! 2023-07-30 11:55:51 -04:00
CREDITS.txt Use Apple's nomenclature for macOS and iOS 2022-11-25 16:00:06 -08:00
INSTALL.txt Use Apple's nomenclature for macOS and iOS 2022-11-25 16:00:06 -08:00
LICENSE.txt Updated copyright for 2023 2023-01-09 09:41:41 -08:00
README-SDL.txt
README.md
TODO.txt
WhatsNew.txt Removed patch note for change already in SDL 2.x 2023-07-08 09:35:42 -07:00

README.md

Simple DirectMedia Layer (SDL) Version 3.0

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.

More extensive documentation is available in the docs directory, starting with README.md

Enjoy!

Sam Lantinga (slouken@libsdl.org)