Compare commits
3 Commits
b76ca95495
...
2553ea9bc2
Author | SHA1 | Date | |
---|---|---|---|
2553ea9bc2 | |||
d6e3ba6a89 | |||
e605495d9f |
|
@ -2,6 +2,12 @@
|
|||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## Version 0.4.0 - 2023-07-16
|
||||
|
||||
### Miscellaneous Tasks
|
||||
|
||||
- Update to Bevy 0.11.
|
||||
|
||||
## Version 0.3.2 - 2023-05-04
|
||||
|
||||
### Bug Fixes
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "bevy_synthizer"
|
||||
version = "0.3.2"
|
||||
version = "0.4.0"
|
||||
authors = ["Nolan Darilek <nolan@thewordnerd.info>"]
|
||||
description = "A Bevy plugin for Synthizer, a library for 3D audio and synthesis with a focus on games and VR applications"
|
||||
license = "MIT OR Apache-2.0"
|
||||
|
@ -11,11 +11,11 @@ repository = "https://labs.lightsout.games/projects/bevy_synthizer"
|
|||
|
||||
[dependencies]
|
||||
anyhow = "1"
|
||||
bevy = { version = "0.10", default-features = false, features = ["bevy_asset"] }
|
||||
bevy = { version = "0.11", default-features = false, features = ["bevy_asset"] }
|
||||
synthizer = "0.5.6"
|
||||
|
||||
[dev-dependencies]
|
||||
bevy = { version = "0.10", default-features = true }
|
||||
bevy = { version = "0.11", default-features = true }
|
||||
|
||||
[package.metadata.release]
|
||||
publish = false
|
||||
|
|
|
@ -63,16 +63,19 @@ fn rotate_listener(time: Res<Time>, mut query: Query<(&mut RotationTimer, &mut T
|
|||
|
||||
fn main() {
|
||||
App::new()
|
||||
.add_plugins(DefaultPlugins)
|
||||
.add_plugin(SynthizerPlugin {
|
||||
default_panner_strategy: Some(bevy_synthizer::syz::PannerStrategy::Hrtf),
|
||||
default_distance_model: Some(bevy_synthizer::syz::DistanceModel::Inverse),
|
||||
..default()
|
||||
})
|
||||
.add_system(bevy::window::close_on_esc)
|
||||
.add_plugins((
|
||||
DefaultPlugins,
|
||||
SynthizerPlugin {
|
||||
default_panner_strategy: Some(bevy_synthizer::syz::PannerStrategy::Hrtf),
|
||||
default_distance_model: Some(bevy_synthizer::syz::DistanceModel::Inverse),
|
||||
..default()
|
||||
},
|
||||
))
|
||||
.init_resource::<AssetHandles>()
|
||||
.add_startup_system(setup)
|
||||
.add_system(load_and_create)
|
||||
.add_system(rotate_listener)
|
||||
.add_systems(Startup, setup)
|
||||
.add_systems(
|
||||
Update,
|
||||
(bevy::window::close_on_esc, load_and_create, rotate_listener),
|
||||
)
|
||||
.run();
|
||||
}
|
||||
|
|
|
@ -42,14 +42,15 @@ fn rotate_listener(time: Res<Time>, mut query: Query<(&mut RotationTimer, &mut T
|
|||
|
||||
fn main() {
|
||||
App::new()
|
||||
.add_plugins(DefaultPlugins)
|
||||
.add_plugin(SynthizerPlugin {
|
||||
default_panner_strategy: Some(bevy_synthizer::syz::PannerStrategy::Hrtf),
|
||||
default_distance_model: Some(bevy_synthizer::syz::DistanceModel::Inverse),
|
||||
..default()
|
||||
})
|
||||
.add_system(bevy::window::close_on_esc)
|
||||
.add_startup_system(setup)
|
||||
.add_system(rotate_listener)
|
||||
.add_plugins((
|
||||
DefaultPlugins,
|
||||
SynthizerPlugin {
|
||||
default_panner_strategy: Some(bevy_synthizer::syz::PannerStrategy::Hrtf),
|
||||
default_distance_model: Some(bevy_synthizer::syz::DistanceModel::Inverse),
|
||||
..default()
|
||||
},
|
||||
))
|
||||
.add_systems(Startup, setup)
|
||||
.add_systems(Update, (bevy::window::close_on_esc, rotate_listener))
|
||||
.run();
|
||||
}
|
||||
|
|
54
src/lib.rs
54
src/lib.rs
|
@ -4,13 +4,13 @@ use std::collections::HashMap;
|
|||
use bevy::{
|
||||
asset::{AssetLoader, LoadContext, LoadedAsset},
|
||||
prelude::*,
|
||||
reflect::TypeUuid,
|
||||
reflect::{TypePath, TypeUuid},
|
||||
transform::TransformSystem,
|
||||
utils::BoxedFuture,
|
||||
};
|
||||
pub use synthizer as syz;
|
||||
|
||||
#[derive(Clone, Debug, Deref, DerefMut, PartialEq, Eq, TypeUuid)]
|
||||
#[derive(Clone, Debug, Deref, DerefMut, PartialEq, Eq, TypePath, TypeUuid)]
|
||||
#[uuid = "6b6b533a-bb1f-11ec-bda2-00155d8fdde9"]
|
||||
pub struct Buffer(syz::Buffer);
|
||||
|
||||
|
@ -171,6 +171,7 @@ impl Default for Sound {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Event, Debug)]
|
||||
pub enum SynthizerEvent {
|
||||
Finished(Entity),
|
||||
Looped(Entity),
|
||||
|
@ -759,44 +760,53 @@ impl Plugin for SynthizerPlugin {
|
|||
.insert_resource(defaults)
|
||||
.add_event::<SynthizerEvent>()
|
||||
.add_systems(
|
||||
PreUpdate,
|
||||
(
|
||||
sync_config,
|
||||
swap_buffers,
|
||||
change_panner_strategy,
|
||||
add_sound_without_source,
|
||||
)
|
||||
.in_set(SynthizerSets::First)
|
||||
.in_base_set(CoreSet::PreUpdate),
|
||||
.in_set(SynthizerSets::First),
|
||||
)
|
||||
.configure_set(SynthizerSets::First.before(SynthizerSets::UpdateHandles))
|
||||
.add_systems(
|
||||
(add_source_handle, add_generator)
|
||||
.in_base_set(CoreSet::PostUpdate)
|
||||
.in_set(SynthizerSets::UpdateHandles),
|
||||
)
|
||||
.configure_set(SynthizerSets::UpdateHandles.before(SynthizerSets::UpdateProperties))
|
||||
.add_system(
|
||||
update_sound_properties
|
||||
.in_base_set(CoreSet::PostUpdate)
|
||||
.in_set(SynthizerSets::UpdateProperties),
|
||||
.configure_set(
|
||||
PreUpdate,
|
||||
SynthizerSets::First.before(SynthizerSets::UpdateHandles),
|
||||
)
|
||||
.add_systems(
|
||||
PostUpdate,
|
||||
(add_source_handle, add_generator).in_set(SynthizerSets::UpdateHandles),
|
||||
)
|
||||
.configure_set(
|
||||
PostUpdate,
|
||||
SynthizerSets::UpdateHandles.before(SynthizerSets::UpdateProperties),
|
||||
)
|
||||
.add_systems(
|
||||
PostUpdate,
|
||||
update_sound_properties.in_set(SynthizerSets::UpdateProperties),
|
||||
)
|
||||
.add_systems(
|
||||
PostUpdate,
|
||||
(update_listener, update_source_properties)
|
||||
.in_base_set(CoreSet::PostUpdate)
|
||||
.in_set(SynthizerSets::UpdateProperties)
|
||||
.after(TransformSystem::TransformPropagate),
|
||||
)
|
||||
.configure_set(SynthizerSets::UpdateProperties.before(SynthizerSets::UpdateState))
|
||||
.configure_set(
|
||||
PostUpdate,
|
||||
SynthizerSets::UpdateProperties.before(SynthizerSets::UpdateState),
|
||||
)
|
||||
.add_systems(
|
||||
PostUpdate,
|
||||
(update_source_playback_state, update_sound_playback_state)
|
||||
.in_base_set(CoreSet::PostUpdate)
|
||||
.in_set(SynthizerSets::UpdateState),
|
||||
)
|
||||
.configure_set(SynthizerSets::UpdateState.before(SynthizerSets::Last))
|
||||
.configure_set(
|
||||
PostUpdate,
|
||||
SynthizerSets::UpdateState.before(SynthizerSets::Last),
|
||||
)
|
||||
.add_systems(
|
||||
(remove_sound, events)
|
||||
.in_set(SynthizerSets::Last)
|
||||
.in_base_set(CoreSet::PostUpdate),
|
||||
PostUpdate,
|
||||
(remove_sound, events).in_set(SynthizerSets::Last),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user