,
}
impl {
- pub fn new() -> Box {
}
}
-// TODO: Come up with some way to hae Cargo spit out a VST3 module. Is that possible without a
-// custom per-plugin build script?
+/// Export a VST3 plugin from this library using the provided plugin type and a 4x4 character class
+/// ID. This CID should be a `[u8; 16]`. You can use the `*b"fooofooofooofooo"` syntax for this.
+///
+/// TODO: Come up with some way to hae Cargo spit out a VST3 module. Is that possible without a
+/// custom per-plugin build script?
#[macro_export]
macro_rules! nih_export_vst3 {
- ($plugin_ty:ty) => {
+ ($plugin_ty:ty, $cid:expr) => {
#[no_mangle]
pub extern "system" fn GetPluginFactory() -> *mut ::std::ffi::c_void {
- let factory = ::nih_plug::wrapper::vst3::Factory::<$plugin_ty>::new();
+ let factory = ::nih_plug::wrapper::vst3::Factory::<$plugin_ty>::new(
+ ::nih_plug::wrapper::vst3::GUID { data: $cid },
+ );
Box::into_raw(factory) as *mut ::std::ffi::c_void
}