diff --git a/src/wrapper/vst3.rs b/src/wrapper/vst3.rs index bfb3eebb..090f7e1b 100644 --- a/src/wrapper/vst3.rs +++ b/src/wrapper/vst3.rs @@ -949,8 +949,14 @@ impl IEditController for Wrapper

{ } unsafe fn create_view(&self, _name: vst3_sys::base::FIDString) -> *mut c_void { - // We currently don't support GUIs - ptr::null_mut() + // Without specialization this is the least redundant way to check if the plugin has an + // editor. The default implementation returns a None here. + match self.inner.plugin.read().editor_size() { + Some(_) => { + Box::into_raw(WrapperView::

::new(self.inner.clone())) as *mut vst3_sys::c_void + } + None => ptr::null_mut(), + } } }