Compare commits

..

No commits in common. "855fb714dab46fbf7d06f825e7044979efaaf21d" and "18dd99407755e7ee433087bc3ecc7bb7157a50ab" have entirely different histories.

View File

@ -692,12 +692,10 @@ fn events(
}
#[derive(SystemSet, Clone, Hash, Debug, PartialEq, Eq)]
pub enum SynthizerSets {
First,
pub enum SynthizerSystems {
UpdateHandles,
UpdateProperties,
UpdateState,
Last,
}
#[derive(Resource)]
@ -758,42 +756,70 @@ impl Plugin for SynthizerPlugin {
.init_resource::<LastAudio>()
.insert_resource(defaults)
.add_event::<SynthizerEvent>()
.add_systems(
(sync_config, swap_buffers, change_panner_strategy)
.in_set(SynthizerSets::First)
.in_base_set(CoreSet::PreUpdate),
)
.configure_set(SynthizerSets::First.before(SynthizerSets::UpdateHandles))
.add_systems(
(add_source_handle, add_generator, add_sound_without_source)
.add_system(sync_config.in_base_set(CoreSet::PreUpdate))
.add_system(
swap_buffers
.in_base_set(CoreSet::PostUpdate)
.in_set(SynthizerSets::UpdateHandles),
.before(SynthizerSystems::UpdateHandles),
)
.configure_set(SynthizerSets::UpdateHandles.before(SynthizerSets::UpdateProperties))
.add_systems(
(
update_listener,
update_source_properties,
update_sound_properties,
)
.add_system(
change_panner_strategy
.in_base_set(CoreSet::PostUpdate)
.in_set(SynthizerSets::UpdateProperties),
.before(SynthizerSystems::UpdateHandles),
)
.configure_set(
SynthizerSets::UpdateProperties
.before(SynthizerSets::UpdateState)
.after(TransformSystem::TransformPropagate),
)
.add_systems(
(update_source_playback_state, update_sound_playback_state)
.add_system(
add_source_handle
.in_base_set(CoreSet::PostUpdate)
.in_set(SynthizerSets::UpdateState),
.in_set(SynthizerSystems::UpdateHandles)
.before(SynthizerSystems::UpdateProperties),
)
.configure_set(SynthizerSets::UpdateState.before(SynthizerSets::Last))
.add_systems(
(remove_sound, events)
.in_set(SynthizerSets::Last)
.in_base_set(CoreSet::PostUpdate),
.add_system(
add_generator
.in_base_set(CoreSet::PostUpdate)
.in_set(SynthizerSystems::UpdateHandles)
.before(SynthizerSystems::UpdateProperties),
)
.add_system(
add_sound_without_source
.in_base_set(CoreSet::PostUpdate)
.in_set(SynthizerSystems::UpdateHandles)
.before(SynthizerSystems::UpdateProperties),
)
.add_system(
update_listener
.in_base_set(CoreSet::PostUpdate)
.in_set(SynthizerSystems::UpdateProperties)
.after(TransformSystem::TransformPropagate)
.before(SynthizerSystems::UpdateState),
)
.add_system(
update_source_properties
.in_base_set(CoreSet::PostUpdate)
.in_set(SynthizerSystems::UpdateProperties)
.after(TransformSystem::TransformPropagate)
.before(SynthizerSystems::UpdateState),
)
.add_system(
update_sound_properties
.in_base_set(CoreSet::PostUpdate)
.in_set(SynthizerSystems::UpdateProperties)
.before(SynthizerSystems::UpdateState),
)
.add_system(
update_source_playback_state
.in_base_set(CoreSet::PostUpdate)
.in_set(SynthizerSystems::UpdateState),
)
.add_system(
update_sound_playback_state
.in_base_set(CoreSet::PostUpdate)
.in_set(SynthizerSystems::UpdateState),
)
.add_system(remove_sound.in_base_set(CoreSet::PostUpdate))
.add_system(
events
.in_base_set(CoreSet::PostUpdate)
.after(SynthizerSystems::UpdateState),
);
}
}