When you run it, you'll get a blank console window. Minimise that and ignore it. If you press a key in the window, it will exit gracefully. I'll get round to making it a non-console app soon. It'll write out a default config file (which works for my nanoKontrol2) to %AppData%\VoiceMeeterControl\config.txt. The format of that file is not super simple, but hopefully you can figure it out from examples. There's a special 'Midi Device' line, and between # and end of line is comments. The binding lines are of the format:
BindingSymbol is either '<=' for read from voicemeeter and set to the board (control lights), '=>' for read from the board and set voicemeeter (faders and buttons), or '<=>' for both.<MIDI CC id> [<rangestart>..<rangeend>] [toggle] <BindingSymbol> <VoiceMeeter API parameter name> [<vm range start>..<vm range end>];
The rangestart and end is for mapping the range of numbers the board outputs to the range of numbers voicemeeter expects. For buttons, the board wants 0..127 and voicemeeter wants 0..1, so those are the ranges there.
I've unbound the sliders in the MIDI mapping in voicemeeter for me, because now I can use this range to scale the value (I never want the slider above 0db, so I've got the board range as 0..127 and the voicemeeter range as -60..0 there. To restore voicemeeter's default behaviour you'd want -60..12 as the voicemeeter range.
So, with all those caveats, if you think it might be of interest, it's here:
https://github.com/tocklime/VoiceMeeterWrapper
Compiled version is here: https://www.dropbox.com/s/b0aht6c4sj3zm ... l.exe?dl=0
TockLime.