bevy_fundsp

Crates.iobevy_fundsp
lib.rsbevy_fundsp
version0.4.0
sourcesrc
created_at2022-08-01 08:11:09.026809
updated_at2023-08-17 06:50:31.354484
descriptionA Bevy plugin that integrates FunDSP into Bevy.
homepagehttps://github.com/harudagondi/bevy_fundsp
repositoryhttps://github.com/harudagondi/bevy_fundsp
max_upload_size
id636614
size161,893
harudagondi (harudagondi)

documentation

README

Bevy FunDSP

Bevy tracking CI Crates.io Crates.io docs.rs

A third party Bevy plugin that integrates FunDSP into Bevy.

bevy_fundsp supports integration for bevy_audio, bevy_kira_audio, and bevy_oddio.

WARNING: Lower your volume before testing your sounds!

Remember to lower the volume by passing the settings with DspManager::add_graph_with_settings or multiplying your DSP graph with a low constant (lower than 1.0).

Usage

#![allow(clippy::precedence)]

use {bevy::prelude::*, bevy_fundsp::prelude::*};

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugins(DspPlugin::default())
        .add_dsp_source(white_noise, SourceType::Dynamic)
        .add_systems(PostStartup, play_noise)
        .run();
}

fn white_noise() -> impl AudioUnit32 {
    white() >> split::<U2>() * 0.2
}

fn play_noise(
    mut commands: Commands,
    mut assets: ResMut<Assets<DspSource>>,
    dsp_manager: Res<DspManager>,
) {
    let source = assets.add(
        dsp_manager
            .get_graph(white_noise)
            .unwrap_or_else(|| panic!("DSP source not found!"))
            .clone(),
    );
    commands.spawn(AudioSourceBundle {
        source,
        ..default()
    });
}

Compatibility

bevy_fundsp bevy bevy_kira_audio bevy_oddio fundsp
bevy_main main bevy_main bevy_main main
0.3.0 0.10 0.15 0.4 0.12
0.2.0 0.9 0.13 0.3 0.9
0.1.0 0.8 0.11 0.6

License

bevy_fundsp is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

Acknowledgement

I'd like to say thanks to the authors of FunDSP and Bevy for making this plugin possible.

Ko-fi

ko-fi

Commit count: 48

cargo fmt