bevy_seedling 0.4.1

A sprouting integration of the Firewheel audio engine
Documentation

crates.io docs.rs

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")).looping(),
        sample_effects![LowPassNode { frequency: 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
rand Enable the PitchRange component. Yes
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.16 0.4
0.15 0.3

License