nih-plug icon indicating copy to clipboard operation
nih-plug copied to clipboard

Handling Keyboard Events on the Audio Thread directly

Open nat3Github opened this issue 1 year ago • 1 comments

It would be nice to have a way to handle Keyboard events directly in the audio thread.

Implementation Idea: a Channel<KeyEvents> that gets shared between the WindowHandle and the audiothread, where duplicate KeyEvent messages get send to the audiothread.

rationale: lower latency when triggering audio with the keyboard than going around the editor gui thread, possibly processing that late and sending it again to the audio thread.

This is a feature request not a bug!

nat3Github avatar Jun 17 '24 12:06 nat3Github

(disclaimer: Rust and nih-plug newbie)

I've implemented something similar (using crossbeam_channel) to trigger the export of a recorded buffer through a file dialog created from the audio thread when a button is clicked in the GUI.

Chances are I'm doing something unorthodox here, as any delay in real-time audio processing could be noticeable (see this blog: Real-time audio programming 101: time waits for nothing).

tphbrok avatar Jul 16 '24 21:07 tphbrok