mirror of
https://codeberg.org/unspeaker/vestal.git
synced 2025-12-06 10:46:42 +01:00
96 lines
3.5 KiB
Rust
96 lines
3.5 KiB
Rust
use std::sync::Arc;
|
|
use nih_plug::prelude::*;
|
|
#[derive(Default)] pub struct VestalWrapper { params: Arc<VestalWrapperParams> }
|
|
#[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<dyn Params> {
|
|
self.params.clone()
|
|
}
|
|
fn editor (&mut self, _async_executor: AsyncExecutor<Self>) -> Option<Box<dyn Editor>> {
|
|
None
|
|
}
|
|
fn initialize (
|
|
&mut self, _: &AudioIOLayout, _: &BufferConfig, _: &mut impl InitContext<Self>,
|
|
) -> bool {
|
|
todo!("initialize");
|
|
true
|
|
}
|
|
fn reset (&mut self) {
|
|
todo!("reset");
|
|
}
|
|
fn process (
|
|
&mut self, _: &mut Buffer, _: &mut AuxiliaryBuffers, _: &mut impl ProcessContext<Self>
|
|
) -> 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<VestalWrapperParams> }
|
|
#[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<dyn Params> {
|
|
self.params.clone()
|
|
}
|
|
fn editor (&mut self, _async_executor: AsyncExecutor<Self>) -> Option<Box<dyn Editor>> {
|
|
None
|
|
}
|
|
fn initialize (
|
|
&mut self, _: &AudioIOLayout, _: &BufferConfig, _: &mut impl InitContext<Self>,
|
|
) -> bool {
|
|
todo!("initialize");
|
|
true
|
|
}
|
|
fn reset (&mut self) {
|
|
todo!("reset");
|
|
}
|
|
fn process (
|
|
&mut self, _: &mut Buffer, _: &mut AuxiliaryBuffers, _: &mut impl ProcessContext<Self>
|
|
) -> 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);
|