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"))]