Compare commits

...

3 Commits

Author SHA1 Message Date
2553ea9bc2 Release 2023-07-16 13:24:40 -05:00
d6e3ba6a89 Update CHANGELOG. 2023-07-16 13:24:31 -05:00
e605495d9f chore: Update to Bevy 0.11. 2023-07-16 13:24:12 -05:00
5 changed files with 64 additions and 44 deletions

View File

@ -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

View File

@ -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

View File

@ -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();
}

View File

@ -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();
}

View File

@ -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),
);
}
}