Compare commits

...

6 Commits
v0.8.0 ... main

Author SHA1 Message Date
6f18f7ffbc Release
Some checks failed
Release / release (push) Failing after 2m30s
Test / test (ubuntu-latest) (push) Successful in 2m4s
2025-01-06 19:39:37 -05:00
888a9e78fc Update CHANGELOG.
Some checks failed
Test / test (ubuntu-latest) (push) Has been cancelled
2025-01-06 19:39:20 -05:00
7738cdb27c chore: Don't set position if values are NaN. 2025-01-06 19:38:57 -05:00
0c8f557886 Release
All checks were successful
Release / release (push) Successful in 2m52s
Test / test (ubuntu-latest) (push) Successful in 2m8s
2024-12-06 09:52:15 -06:00
78e5bf2c45 Update CHANGELOG. 2024-12-06 09:52:02 -06:00
3c557fa5ab chore: Upgrade to Bevy 0.15.
All checks were successful
Test / test (ubuntu-latest) (push) Successful in 1m57s
2024-12-06 09:33:24 -06:00
5 changed files with 35 additions and 30 deletions

View File

@ -2,6 +2,18 @@
All notable changes to this project will be documented in this file.
## Version 0.9.1 - 2025-01-07
### Miscellaneous Tasks
- Don't set position if values are NaN.
## Version 0.9.0 - 2024-12-06
### Miscellaneous Tasks
- Upgrade to Bevy 0.15.
## Version 0.8.0 - 2024-12-02
### Bug Fixes

View File

@ -1,6 +1,6 @@
[package]
name = "bevy_synthizer"
version = "0.8.0"
version = "0.9.1"
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"
@ -10,12 +10,12 @@ repository = "https://labs.lightsout.games/projects/bevy_synthizer"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
bevy = { version = "0.14", default-features = false, features = ["bevy_asset"] }
bevy = { version = "0.15", default-features = false, features = ["bevy_asset"] }
synthizer = "0.5.6"
thiserror = "1"
[dev-dependencies]
bevy = { version = "0.14", default-features = true }
bevy = { version = "0.15", default-features = true }
[package.metadata.release]
publish = false

View File

@ -31,14 +31,10 @@ fn load_and_create(
if !listeners.is_empty() {
return;
}
commands.spawn((
TransformBundle::default(),
Listener,
RotationTimer::default(),
));
commands.spawn((Transform::default(), Listener, RotationTimer::default()));
let handle = asset_server.load("footstep.wav");
commands.spawn((
TransformBundle::from(Transform::from_translation(Vec3::new(10., 0., 0.))),
Transform::from_translation(Vec3::new(10., 0., 0.)),
Source::default(),
Sound {
audio: handle.into(),

View File

@ -13,16 +13,12 @@ impl Default for RotationTimer {
}
fn setup(mut commands: Commands, context: Res<Context>) {
commands.spawn((
TransformBundle::default(),
Listener,
RotationTimer::default(),
));
commands.spawn((Transform::default(), Listener, RotationTimer::default()));
let generator: syz::Generator = syz::FastSineBankGenerator::new_sine(&context, 440.)
.expect("Failed to create generator")
.into();
commands.spawn((
TransformBundle::from(Transform::from_translation(Vec3::new(10., 0., 0.))),
Transform::from_translation(Vec3::new(10., 0., 0.)),
Source::default(),
Sound {
audio: generator.into(),

View File

@ -2,9 +2,8 @@
use std::collections::HashMap;
use bevy::{
asset::{io::Reader, AssetLoader, AsyncReadExt, LoadContext},
asset::{io::Reader, AssetLoader, LoadContext},
prelude::*,
reflect::TypePath,
transform::TransformSystem,
};
pub use synthizer as syz;
@ -30,11 +29,11 @@ impl AssetLoader for BufferAssetLoader {
type Settings = ();
type Error = BufferAssetLoaderError;
async fn load<'a>(
&'a self,
reader: &'a mut Reader<'_>,
_settings: &'a (),
_load_context: &'a mut LoadContext<'_>,
async fn load(
&self,
reader: &mut dyn Reader,
_settings: &(),
_load_context: &mut LoadContext<'_>,
) -> Result<Self::Asset, Self::Error> {
let mut bytes = Vec::new();
reader.read_to_end(&mut bytes).await?;
@ -442,14 +441,16 @@ fn update_source_properties(
if let Some(source) = handle.cast_to::<syz::Source3D>().expect("Failed to cast") {
if let Some(transform) = transform {
let translation = transform.translation();
source
.position()
.set((
translation.x as f64,
translation.y as f64,
translation.z as f64,
))
.expect("Failed to set position");
if !translation.x.is_nan() && !translation.y.is_nan() && !translation.z.is_nan() {
source
.position()
.set((
translation.x as f64,
translation.y as f64,
translation.z as f64,
))
.expect("Failed to set position");
}
let distance_model = distance_model
.cloned()
.map(|v| *v)