sysaudio: add webaudio backend

This commit is contained in:
Ali Chraghi 2022-12-25 13:13:00 +03:30 committed by Stephen Gutekanst
parent 052d3a7da8
commit f9b3ac2106
11 changed files with 841 additions and 487 deletions

View file

@ -20,29 +20,47 @@ pub const BackendContext = switch (builtin.os.tag) {
wasapi: *@import("wasapi.zig").Context,
dummy: *@import("dummy.zig").Context,
},
.freestanding => switch (builtin.cpu.arch) {
.wasm32 => union(enum) {
webaudio: *@import("webaudio.zig").Context,
dummy: *@import("dummy.zig").Context,
},
else => union(enum) {
dummy: *@import("dummy.zig").Context,
},
},
else => union(enum) {
dummy: *@import("dummy.zig").Context,
},
};
pub const BackendPlayer = switch (builtin.os.tag) {
.linux => union(enum) {
pulseaudio: @import("pulseaudio.zig").Player,
alsa: @import("alsa.zig").Player,
jack: @import("jack.zig").Player,
dummy: @import("dummy.zig").Player,
pulseaudio: *@import("pulseaudio.zig").Player,
alsa: *@import("alsa.zig").Player,
jack: *@import("jack.zig").Player,
dummy: *@import("dummy.zig").Player,
},
.freebsd, .netbsd, .openbsd, .solaris => union(enum) {
pulseaudio: @import("pulseaudio.zig").Player,
dummy: @import("dummy.zig").Player,
pulseaudio: *@import("pulseaudio.zig").Player,
dummy: *@import("dummy.zig").Player,
},
.macos, .ios, .watchos, .tvos => union(enum) {
dummy: @import("dummy.zig").Player,
dummy: *@import("dummy.zig").Player,
},
.windows => union(enum) {
wasapi: @import("wasapi.zig").Player,
dummy: @import("dummy.zig").Player,
wasapi: *@import("wasapi.zig").Player,
dummy: *@import("dummy.zig").Player,
},
.freestanding => switch (builtin.cpu.arch) {
.wasm32 => union(enum) {
webaudio: *@import("webaudio.zig").Player,
dummy: *@import("dummy.zig").Player,
},
else => union(enum) {
dummy: *@import("dummy.zig").Player,
},
},
else => union(enum) {
dummy: @import("dummy.zig").Player,
dummy: *@import("dummy.zig").Player,
},
};