use std::sync::Arc; use nih_plug::prelude::*; #[derive(Default)] pub struct VestalWrapper { params: Arc } #[derive(Default, Clone, Params)] struct VestalWrapperParams {} impl Plugin for VestalWrapper { const NAME: &'static str = "VESTAL"; const VENDOR: &'static str = "AUTHOR"; const URL: &'static str = env!("CARGO_PKG_HOMEPAGE"); const EMAIL: &'static str = "EMAIL"; const VERSION: &'static str = env!("CARGO_PKG_VERSION"); const AUDIO_IO_LAYOUTS: &'static [AudioIOLayout] = &[]; const SAMPLE_ACCURATE_AUTOMATION: bool = true; type SysExMessage = (); type BackgroundTask = (); fn params (&self) -> Arc { self.params.clone() } fn editor (&mut self, _async_executor: AsyncExecutor) -> Option> { None } fn initialize ( &mut self, _: &AudioIOLayout, _: &BufferConfig, _: &mut impl InitContext, ) -> bool { todo!("initialize"); true } fn reset (&mut self) { todo!("reset"); } fn process ( &mut self, _: &mut Buffer, _: &mut AuxiliaryBuffers, _: &mut impl ProcessContext ) -> ProcessStatus { todo!("process"); ProcessStatus::Normal } } impl ClapPlugin for VestalWrapper { const CLAP_ID: &'static str = "ID"; const CLAP_DESCRIPTION: Option<&'static str> = Some("DESC"); const CLAP_MANUAL_URL: Option<&'static str> = Some(Self::URL); const CLAP_SUPPORT_URL: Option<&'static str> = None; const CLAP_FEATURES: &'static [ClapFeature] = &[]; } impl Vst3Plugin for VestalWrapper { const VST3_CLASS_ID: [u8; 16] = *b"VESTAL_________."; const VST3_SUBCATEGORIES: &'static [Vst3SubCategory] = &[]; } nih_export_clap!(VestalWrapper); nih_export_vst3!(VestalWrapper); #[derive(Default)] pub struct VestalWrapper { params: Arc } #[derive(Default, Clone, Params)] struct VestalWrapperParams {} impl Plugin for VestalWrapper { const NAME: &'static str = "VESTAL"; const VENDOR: &'static str = "AUTHOR"; const URL: &'static str = env!("CARGO_PKG_HOMEPAGE"); const EMAIL: &'static str = "EMAIL"; const VERSION: &'static str = env!("CARGO_PKG_VERSION"); const AUDIO_IO_LAYOUTS: &'static [AudioIOLayout] = &[]; const SAMPLE_ACCURATE_AUTOMATION: bool = true; type SysExMessage = (); type BackgroundTask = (); fn params (&self) -> Arc { self.params.clone() } fn editor (&mut self, _async_executor: AsyncExecutor) -> Option> { None } fn initialize ( &mut self, _: &AudioIOLayout, _: &BufferConfig, _: &mut impl InitContext, ) -> bool { todo!("initialize"); true } fn reset (&mut self) { todo!("reset"); } fn process ( &mut self, _: &mut Buffer, _: &mut AuxiliaryBuffers, _: &mut impl ProcessContext ) -> ProcessStatus { todo!("process"); ProcessStatus::Normal } } impl ClapPlugin for VestalWrapper { const CLAP_ID: &'static str = "ID"; const CLAP_DESCRIPTION: Option<&'static str> = Some("DESC"); const CLAP_MANUAL_URL: Option<&'static str> = Some(Self::URL); const CLAP_SUPPORT_URL: Option<&'static str> = None; const CLAP_FEATURES: &'static [ClapFeature] = &[]; } impl Vst3Plugin for VestalWrapper { const VST3_CLASS_ID: [u8; 16] = *b"VESTAL_________."; const VST3_SUBCATEGORIES: &'static [Vst3SubCategory] = &[]; } nih_export_clap!(VestalWrapper); nih_export_vst3!(VestalWrapper);