Help creating midi note remapper vst plugin
-
Hi, I just discovered HISE, and I'm trying to create a simple plugin that remaps midi notes to new, user-selected notes. The primary use of this would be for drum mapping. There are existing tools for this, like CodeFN42's NoteMapper, but they are very cumbersome, time-consuming, and unintuitive to use.
The interface I want is simple: an input keyboard component on top, and an output keyboard component on the bottom. The user clicks on a note in the input keyboard to select it, then clicks one or more keys in the output keyboard to specify which notes should be triggered instead when the input note is played.
I've been able to create the two keyboards, with all 128 midi notes in each, within a viewport. Btw this was more difficult than it should've been, because the keyboard component doesn't seem to like spanning from 0 to 127, and it just cuts off like 80% up the range, so I had to stitch together 2 separate keyboard components per keyboard.
Now, if I didn't care about showing the user what notes were selected in either input or output keyboard, I have enough programming skills to make this plugin work. But I'm having trouble highlighting or selecting the keys in some way.
I tried
setKeyColour
, which seemed very promising, but unfortunately that affects all displayed keyboards. I would need to be able to color the input and output keyboards separately. I also tried setting the keyboards tolatch
mode to try to use the "key depressed" state to indicate which notes are selected, but I have a tough time making it so that only one key on the input keyboard is selected at any given time. I'd much prefer to set the key color though, as it's way easier to see.Any insight would be appreciated.
-
Actually, I just thought of a UI-design work around for this problem, though I'd still appreciate a response as if I hadn't thought of this. It'd still be good to somehow separately set the color of different keyboard components.
I can just have one keyboard on screen, and when the user clicks a note, it changes the "mode" of that keyboard to be the output keyboard, then the user can select the notes they want, then press a button to return to the input keyboard. This would allow me to change the global keyboard color based on which keyboard was being shown.
-
HISE can't output MIDI notes, so you're out of luck.
-
That's a bummer. Do you know of any other tools that could let me design such a plugin somewhat easily?
-
-
Wouldn't you be able to design such a thing using JUCE?
Projucer has settings for instruments that produce midi output, which leads me believe that such a thing should be possible to make using JUCE. -
Wouldn't you be able to design such a thing using JUCE?
Projucer has settings for instruments that produce midi output, which leads me believe that such a thing should be possible to make using JUCE.Of course, but @evesira asked for something easy.