Skip to content

Add configurable audio systems #361

Description

@maxolasersquad

LinApple's audio system is tied to its frontend. This isn't much of a problem for SDL3, which has a fairly robust audio system that routes to the OSes correct system properly, e.g. PipeWire, PulseAudio, ALSA. The capabilities of SDL2 and 1.2 are less capable, with 1.2 having various issues. This especially bites us when trying to support anything beyond stereo sound. The TUI is tied directly to pulse.

We should provide direct suppot for PipeWire, PulseAudio, and ALSA. Support for each should be optionally compiled in. Modern Linux almost always ships with PipeWire so PulseAudio should be the only one compiled in by default. The others are for supporting older systems and one would only want to compile them in when it is desired to support those system.

The configuration file should support the ability to provide an audio fallback hierarchy. The default will be PipeWire as primary, and native frontend as second. If none of the configured audio systems are able to initialize then it will run without sound.

The native TUI audio pipelines should be handled by miniaudio.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions