rncbc / qtractor

Qtractor - An Audio/MIDI multi-track sequencer
https://qtractor.org
GNU General Public License v2.0
499 stars 87 forks source link

Feature request: Built-in soft keyboard #347

Open blackhole89 opened 2 years ago

blackhole89 commented 2 years ago

From what I can tell, Qtractor does not currently have the sort of built-in "soft keyboard" that is found in many other sequencer programs such as LMMS, which generates MIDI events from unmodified key presses and thus allows you to use your PC keyboard for quickly testing ideas as you compose. Of course this is not an issue if you have an external MIDI keyboard, but not everyone does; the other workaround is to use an external program such as VMPK, but the UX there is also somewhat subpar as you need to switch to a different window, which then of course doesn't respond to the standard Qtractor keyboard shortcuts (as well as taking up screen estate) and thus requires WM interactions before and after (with either one or more key chords or, worse, the mouse) to switch back and forth.

It would be great if you could add it, or perhaps sketch your thoughts on how it could be added to the present codebase. I'd be happy to try working on a PR myself, but between the size of the codebase and having barely worked with Qt, I'm not quite sure how it should integrate. (Where do I catch keyboard events, and inject MIDI events? What needs to be done to prevent collisions with other shortcuts and functionality? etc.)