Audio using HexoDSP

This commit is contained in:
Pascal Engélibert 2022-08-23 17:02:13 +02:00
commit a2bf887700
Signed by: tuxmain
GPG key ID: 3504BC6D362F7DCA
10 changed files with 571 additions and 223 deletions

View file

@ -1,3 +1,4 @@
mod audio;
mod game;
mod levels;
mod menu;
@ -7,7 +8,6 @@ use bevy::{
prelude::*,
render::settings::{WgpuFeatures, WgpuSettings},
};
use bevy_fundsp::prelude::*;
use bevy_hanabi::*;
use bevy_rapier2d::prelude::*;
@ -19,15 +19,19 @@ enum AppState {
}
fn main() {
let (audio_event_sender, audio_event_receiver) = crossbeam_channel::bounded(512);
std::thread::spawn(move || audio::setup(audio_event_receiver));
let mut options = WgpuSettings::default();
options
.features
.set(WgpuFeatures::VERTEX_WRITABLE_STORAGE, true);
App::new()
.insert_resource(options)
.insert_resource(audio_event_sender)
.add_state(AppState::Menu)
.add_plugins(DefaultPlugins)
.add_plugin(DspPlugin)
.add_plugin(HanabiPlugin)
.add_plugin(RapierPhysicsPlugin::<NoUserData>::pixels_per_meter(64.0))
.add_plugin(RapierDebugRenderPlugin::default())
@ -38,11 +42,7 @@ fn main() {
.run();
}
fn setup(
mut commands: Commands,
mut dsp_manager: ResMut<DspManager>,
asset_server: Res<AssetServer>,
) {
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
let font: Handle<Font> = asset_server.load("UacariLegacy-Thin.ttf");
commands.insert_resource(font);
@ -56,5 +56,4 @@ fn setup(
color: Color::WHITE,
brightness: 0.6,
});
dsp_manager.add_graph(game::sine_wave, 1.0);
}