From a4c27288c773959ff307635b4ac25399e96f5de7 Mon Sep 17 00:00:00 2001 From: irate Date: Thu, 7 Dec 2023 20:43:16 +0100 Subject: [PATCH] Deduplicate systems in bevy_audio (#10906) # Objective The `update_emitter_positions`, and `update_listener_positions` systems are added for every call to `add_audio_source`. Instead, add them once in the `AudioPlugin` directly. Also merged the calls to `add_systems`. Caught while working on my schedule visualizer c: --- crates/bevy_audio/src/lib.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/bevy_audio/src/lib.rs b/crates/bevy_audio/src/lib.rs index d00021ae03..2bc1c0ce5a 100644 --- a/crates/bevy_audio/src/lib.rs +++ b/crates/bevy_audio/src/lib.rs @@ -87,6 +87,10 @@ impl Plugin for AudioPlugin { .run_if(audio_output_available) .after(TransformSystem::TransformPropagate), // For spatial audio transforms ) + .add_systems( + PostUpdate, + (update_emitter_positions, update_listener_positions).in_set(AudioPlaySet), + ) .init_resource::(); #[cfg(any(feature = "mp3", feature = "flac", feature = "wav", feature = "vorbis"))] @@ -107,11 +111,8 @@ impl AddAudioSource for App { { self.init_asset::().add_systems( PostUpdate, - play_queued_audio_system::.in_set(AudioPlaySet), + (play_queued_audio_system::, cleanup_finished_audio::).in_set(AudioPlaySet), ); - self.add_systems(PostUpdate, cleanup_finished_audio::.in_set(AudioPlaySet)); - self.add_systems(PostUpdate, update_emitter_positions.in_set(AudioPlaySet)); - self.add_systems(PostUpdate, update_listener_positions.in_set(AudioPlaySet)); self } }