serenity/Documentation
Timothy Flynn a34e369252 Ladybird+LibWeb+WebContent: Create a platform plugin for playing audio
This creates (and installs upon WebContent startup) a platform plugin to
play audio data.

On Serenity, we use AudioServer to play audio over IPC. Unfortunately,
AudioServer is currently coupled with Serenity's audio devices, and thus
cannot be used in Ladybird on Lagom. Instead, we use a Qt audio device
to play the audio, which requires the Qt multimedia package.

While we use Qt to play the audio, note that we can still use LibAudio
to decode the audio data and retrieve samples - we simply send Qt the
raw PCM signals.
2023-06-13 06:14:01 +02:00
..
Browser Documentation: Start documenting LibWeb code style & patterns 2023-03-14 11:31:57 +01:00
HumanInterfaceGuidelines Documentation: Add section on Ellipses to Text.md 2023-05-23 05:59:49 +02:00
Kernel Documentation: Correct some typos found in kernel markdown files 2023-05-06 08:01:26 +01:00
AdvancedBuildInstructions.md Documentation: Update VS Code docs for tone, add query-driver directions 2023-03-13 08:00:09 -06:00
BareMetalInstallation.md Documentation: Update information regarding MSIx for NVMe :^) 2023-05-07 21:16:41 +02:00
BuildInstructions.md Meta+Documentation: Require Xcode 14.3 or Clang 14 for the host compiler 2023-05-24 01:20:02 -06:00
BuildInstructionsLadybird.md Ladybird+LibWeb+WebContent: Create a platform plugin for playing audio 2023-06-13 06:14:01 +02:00
BuildInstructionsMacOS.md Meta+Documentation: Require Xcode 14.3 or Clang 14 for the host compiler 2023-05-24 01:20:02 -06:00
BuildInstructionsOther.md Documentation: Add instructions for building images without root 2022-04-04 12:49:32 +02:00
BuildInstructionsWindows.md Documentation: Update WSL QEMU Installation Requirements 2022-12-03 16:04:38 -07:00
BuildProfilingInstructions.md Documentation: Add BuildProfilingInstructions.md 2021-07-30 20:51:11 +02:00
CLion_Add_Configuration.png Documentation: Add Kernel/Userland quick switch to CLion configuration 2022-04-01 17:39:15 +01:00
CLion_Add_Configuration_Existing.png Documentation: Add Kernel/Userland quick switch to CLion configuration 2022-04-01 17:39:15 +01:00
CLionCodeStyleSettings.xml Documentation: Recommend CLion code style settings over manual steps 2022-12-03 23:54:48 +00:00
CLionConfiguration.md Meta: Rename BuildIt.sh to BuildGNU.sh 2023-06-12 16:22:55 -07:00
CodingStyle.md Documentation: Document preference for SCREAMING_CASE constants 2023-04-13 15:57:30 +02:00
EmacsConfiguration.md Toolchain+Ports: Update GCC to 13.1.0 2023-05-15 07:00:29 +02:00
EventLoop.md Everywhere: Fix a variety of typos 2022-09-14 04:46:49 +00:00
FAQ.md Documentation: Remove unnecessary answer to non-asked question in FAQ 2023-04-12 14:48:49 +02:00
HardwareCompatibility.md Documentation: Remove references to the removed NE2000 driver 2023-01-08 21:51:59 +01:00
HelixConfiguration.md Documentation: Add instructions for configuring the Helix editor 2023-06-03 12:20:40 +02:00
HighDPI.md Playground: Rename the application to GMLPlayground 2022-06-28 21:10:10 +01:00
Links.md Everywhere: Fix a few typos 2023-04-12 19:37:35 +02:00
NetworkBoot.md Kernel: Make i8042 controller initialization sequence more robust 2023-01-06 11:09:56 +01:00
NvimConfiguration.md Documentation: Add query-driver to clangd arguments in NvimConfiguration 2023-03-13 08:00:09 -06:00
Patterns.md Documentation: Document the "Fallible Constructor" pattern 2023-01-26 20:24:16 +00:00
QEMU_Components.png Documentation: Suggest using x86_64 QEMU on Windows 2021-07-10 23:24:45 +02:00
QtCreatorConfiguration.md Toolchain+Ports: Update GCC to 13.1.0 2023-05-15 07:00:29 +02:00
README.md Documentation: Start documenting LibWeb code style & patterns 2023-03-14 11:31:57 +01:00
RunningOnRaspberryPi.md Documentation: Add note about testing UART on the Raspberry Pi 4B 2023-05-26 08:29:26 -06:00
RunningTests.md Meta+CMake: Remove "image" ninja target in favor of "qemu-image" 2023-03-12 01:48:56 +00:00
SelfHostedRunners.md Meta: Switch to clang-format-15 as the standard formatter 2022-12-03 23:52:23 +00:00
SmartPointers.md AK: Convert the try_make<T> factory function to use ErrorOr 2022-02-03 23:33:20 +01:00
StringFormatting.md AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Tftpd32_Dhcp.png Documentation: Add RunningOnRaspberryPi page 2021-10-16 00:36:51 +01:00
Tftpd32_Serving.png Documentation: Add RunningOnRaspberryPi page 2021-10-16 00:36:51 +01:00
Tftpd32_Tftp.png Documentation: Add RunningOnRaspberryPi page 2021-10-16 00:36:51 +01:00
TransferringFiles.md Documentation: Rename WebServer_localhost to .jpg 2023-02-01 13:40:37 +00:00
Troubleshooting.md Documentation: Add troubleshooting note regarding KVM GDB 2023-02-02 02:02:23 -07:00
VimConfiguration.md Meta: Add configuration file for YouCompleteMe 2022-10-27 20:52:39 +01:00
VirtualBox.md Documentation: Update VirtualBox docs memory section 2023-01-06 11:08:58 -07:00
VirtualBox_Creation_Reference.png Documentation: Remove execute bit from image file 2022-08-24 07:29:13 +00:00
VMware.md Documentation: Update VMWare docs memory section 2023-01-06 11:08:58 -07:00
VSCodeConfiguration.md Documentation: Update VS Code docs for tone, add query-driver directions 2023-03-13 08:00:09 -06:00
WebServer_localhost.jpg Documentation: Rename WebServer_localhost to .jpg 2023-02-01 13:40:37 +00:00
WHPX_Feature.png Documentation: Add screenshot for WHPX 2021-07-10 23:24:45 +02:00
Xcode_ladybird_Scheme.png Documentation: Add instructions for debugging Ladybird with Xcode 2023-03-28 09:18:50 +01:00

SerenityOS Documentation

Serenity development moves quickly, so some of these might be out of date. Please let us know if something here is wrong, or submit a PR with any additions or corrections! If you have any questions that are not answered here or in the FAQ, you are welcome to ask on Discord.

A list of useful pages across the web can be found on the link list.

Building and Running

OS-specific

Make sure to read the basic Build Instructions first.

Running on Hardware

Configuring Editors

Development

File and Data Formats

Browser/LibWeb

Kernel

Applications

Documentation for SerenityOS applications and utilities can be found in the man pages.