From d80303d1383663d1a4fe49bde2a3be58fc168a1c Mon Sep 17 00:00:00 2001 From: Ixentus Date: Wed, 14 Jul 2021 03:20:21 +0000 Subject: [PATCH] Add feature flag to enable wasm for bevy_audio (#2397) Exposes Rodio feature flag to enable WASM support. Note that mp3 doesn't currently work on wasm. --- Cargo.toml | 3 +++ crates/bevy_audio/Cargo.toml | 1 + crates/bevy_internal/Cargo.toml | 3 +++ docs/cargo_features.md | 1 + 4 files changed, 8 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 6187902004..95ac5fe42d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -66,6 +66,9 @@ mp3 = ["bevy_internal/mp3"] vorbis = ["bevy_internal/vorbis"] wav = ["bevy_internal/wav"] +# WASM support for audio (Currently only works with flac, wav and vorbis. Not with mp3) +wasm_audio = ["bevy_internal/wasm_audio"] + serialize = ["bevy_internal/serialize"] # Display server protocol support (X11 is enabled by default) diff --git a/crates/bevy_audio/Cargo.toml b/crates/bevy_audio/Cargo.toml index b082e7d7d1..045916d0e3 100644 --- a/crates/bevy_audio/Cargo.toml +++ b/crates/bevy_audio/Cargo.toml @@ -30,3 +30,4 @@ mp3 = ["rodio/mp3"] flac = ["rodio/flac"] wav = ["rodio/wav"] vorbis = ["rodio/vorbis"] +wasm_audio = ["rodio/wasm-bindgen"] diff --git a/crates/bevy_internal/Cargo.toml b/crates/bevy_internal/Cargo.toml index 9d557aff5d..401df91c5a 100644 --- a/crates/bevy_internal/Cargo.toml +++ b/crates/bevy_internal/Cargo.toml @@ -32,6 +32,9 @@ mp3 = ["bevy_audio/mp3"] vorbis = ["bevy_audio/vorbis"] wav = ["bevy_audio/wav"] +# WASM support for audio +wasm_audio = ["bevy_audio/wasm_audio"] + serialize = ["bevy_input/serialize"] # Display server protocol support (X11 is enabled by default) diff --git a/docs/cargo_features.md b/docs/cargo_features.md index 794c5bc82c..fd23282e75 100644 --- a/docs/cargo_features.md +++ b/docs/cargo_features.md @@ -31,6 +31,7 @@ |flac|FLAC audio format support. It's included in bevy_audio feature.| |wav|WAV audio format support.| |vorbis|Vorbis audio format support.| +|wasm_audio|WASM audio support. (Currently only works with flac, wav and vorbis. Not with mp3)| |serialize|Enables serialization of `bevy_input` types.| |wayland|Enable this to use Wayland display server protocol other than X11.| |subpixel_glyph_atlas|Enable this to cache glyphs using subpixel accuracy. This increases texture memory usage as each position requires a separate sprite in the glyph atlas, but provide more accurate character spacing.|