From 161d86ab496fd14d218098789e70ad7a6fa31f0a Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Tue, 1 Mar 2022 21:40:21 +0100 Subject: [PATCH] Use the new SIMD helpers in Diopser --- plugins/diopser/Cargo.toml | 2 +- plugins/diopser/src/lib.rs | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/plugins/diopser/Cargo.toml b/plugins/diopser/Cargo.toml index 638688e3..a270c3a9 100644 --- a/plugins/diopser/Cargo.toml +++ b/plugins/diopser/Cargo.toml @@ -11,7 +11,7 @@ crate-type = ["cdylib"] [features] default = ["simd"] # Make it go fast, vroom. Requires a nightly compiler. -simd = [] +simd = ["nih_plug/simd"] [dependencies] nih_plug = { path = "../../", features = ["assert_process_allocs"] } diff --git a/plugins/diopser/src/lib.rs b/plugins/diopser/src/lib.rs index 7ea810c0..b44b4224 100644 --- a/plugins/diopser/src/lib.rs +++ b/plugins/diopser/src/lib.rs @@ -284,10 +284,7 @@ impl Plugin for Diopser { // supports steroo audio. #[cfg(feature = "simd")] { - let mut samples = f32x2::from_array([ - *unsafe { channel_samples.get_unchecked_mut(0) }, - *unsafe { channel_samples.get_unchecked_mut(1) }, - ]); + let mut samples = unsafe { channel_samples.to_simd_unchecked() }; for filter in self .filters @@ -297,8 +294,7 @@ impl Plugin for Diopser { samples = filter.process(samples); } - *unsafe { channel_samples.get_unchecked_mut(0) } = samples.as_array()[0]; - *unsafe { channel_samples.get_unchecked_mut(1) } = samples.as_array()[1]; + unsafe { channel_samples.from_simd_unchecked(samples) }; } #[cfg(not(feature = "simd"))]