From 245add6530f1c7d83fea5e23636145d982af4d66 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Mon, 18 Mar 2024 21:48:39 +0100 Subject: [PATCH] Return kNotImplemented for the VST3 input events --- CHANGELOG.md | 8 ++++++++ src/wrapper/vst3/view.rs | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14c22e97..2ec625f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,14 @@ Since there is no stable release yet, the changes are organized per day in reverse chronological order. The main purpose of this document in its current state is to list breaking changes. +## [2024-03-18] + +### Changed + +- (Keyboard) input events sent by the host through VST3's `IPlugView` interface + are now explicitly ignored. This may allow a couple more keyboard events to + reach through to plugin windows in hosts that use these. + ## [2024-02-23] ### Fixed diff --git a/src/wrapper/vst3/view.rs b/src/wrapper/vst3/view.rs index 051207e3..55601d7d 100644 --- a/src/wrapper/vst3/view.rs +++ b/src/wrapper/vst3/view.rs @@ -5,7 +5,7 @@ use std::ffi::{c_void, CStr}; use std::mem; use std::sync::atomic::Ordering; use std::sync::Arc; -use vst3_sys::base::{kInvalidArgument, kResultFalse, kResultOk, tresult, TBool}; +use vst3_sys::base::{kInvalidArgument, kNotImplemented, kResultFalse, kResultOk, tresult, TBool}; use vst3_sys::gui::{IPlugFrame, IPlugView, IPlugViewContentScaleSupport, ViewRect}; use vst3_sys::utils::SharedVstPtr; use vst3_sys::VST3; @@ -337,7 +337,7 @@ impl IPlugView for WrapperView

{ unsafe fn on_wheel(&self, _distance: f32) -> tresult { // We'll let the plugin use the OS' input mechanisms because not all DAWs (or very few // actually) implement these functions - kResultOk + kNotImplemented } unsafe fn on_key_down( @@ -346,7 +346,7 @@ impl IPlugView for WrapperView

{ _key_code: i16, _modifiers: i16, ) -> tresult { - kResultOk + kNotImplemented } unsafe fn on_key_up( @@ -355,7 +355,7 @@ impl IPlugView for WrapperView

{ _key_code: i16, _modifiers: i16, ) -> tresult { - kResultOk + kNotImplemented } unsafe fn get_size(&self, size: *mut ViewRect) -> tresult { @@ -398,7 +398,7 @@ impl IPlugView for WrapperView

{ } unsafe fn on_focus(&self, _state: TBool) -> tresult { - kResultOk + kNotImplemented } unsafe fn set_frame(&self, frame: *mut c_void) -> tresult {