1 unstable release
new 0.3.0 | Mar 24, 2025 |
---|
#71 in #bevy-engine
77 downloads per month
215KB
4K
SLoC
A sprouting integration of the Firewheel audio engine for Bevy.
Getting started
First, you'll need to add the dependency to your Cargo.toml
.
Note that you'll need to disable Bevy's bevy_audio
feature,
meaning you'll need to specify quite a few features
manually!
[dependencies]
bevy_seedling = "0.3"
bevy = { version = "0.15", default-features = false, features = [
"animation",
"bevy_asset",
"bevy_color",
"bevy_core_pipeline",
"bevy_gilrs",
"bevy_gizmos",
"bevy_gltf",
"bevy_mesh_picking_backend",
"bevy_pbr",
"bevy_picking",
"bevy_render",
"bevy_scene",
"bevy_sprite",
"bevy_sprite_picking_backend",
"bevy_state",
"bevy_text",
"bevy_ui",
"bevy_ui_picking_backend",
"bevy_window",
"bevy_winit",
"custom_cursor",
"default_font",
"hdr",
"multi_threaded",
"png",
"smaa_luts",
"sysinfo_plugin",
"tonemapping_luts",
"webgl2",
"x11",
] }
Then, you'll need to add the SeedlingPlugin
to your app.
use bevy::prelude::*;
use bevy_seedling::prelude::*;
fn main() {
App::default()
.add_plugins((DefaultPlugins, SeedlingPlugin::default()))
.run();
}
Once you've set it all up, playing sounds is easy!
fn play_sound(mut commands: Commands, server: Res<AssetServer>) {
// Play a sound!
commands.spawn(SamplePlayer::new(server.load("my_sample.wav")));
// Play a sound... with effects :O
commands
.spawn((
SamplePlayer::new(server.load("my_ambience.wav")),
PlaybackSettings::LOOP,
))
.effect(LowPassNode::new(500.0));
}
The crate docs provide an overview of
bevy_seedling
's features, and
the repository's examples
should help you get up to speed on common usage patterns.
Feature flags
Flag | Description | Default feature |
---|---|---|
wav |
Enable WAV format and PCM encoding. | Yes |
ogg |
Enable Ogg format and Vorbis encoding. | Yes |
mp3 |
Enable mp3 format and encoding. | No |
mkv |
Enable mkv format. | No |
adpcm |
Enable adpcm encoding. | No |
flac |
Enable FLAC format and encoding. | No |
stream |
Enable CPAL input and output stream nodes. | Yes |
Bevy version compatibility
bevy |
bevy_seedling |
---|---|
0.15 | 0.3 |
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~33–63MB
~1M SLoC