To send parameter names would require some special processing specifically for the Launch Control XL, because there is no general MIDI 1.x standard for exchanging text. Text is usually done via manufacturer-specific SysEx, but other schemes exist.
Midi 2.0 does have a spec for exchanging this kind of information, but there are very few devices that support Midi 2 property exchange (which can theoretically work over Midi 1.x IIRC).
Looks like it would be technically possible to create a MIDI-CAT clone that uses this Novation sysex system API for a deeper integration with VCVRack, along similar lines to my Electra-One (Orestes-One) and TouchOSC (Pylades) controller modules. It seems to allow some control of what text is rendered in its display, and also supports relative encoders for smoother control changes.
Thanks @pachde and @adadcalledrichard – I feel like a bit of a fool now , for some reason I thought MIDI-CAT coudl already handle this and I was brushing up against an edge case – Now I can see I’lm demanding brand new features!
I’m not much of a coder so I would have to spend some time with Claude to try and get it working. I did however just buy this controller because I imagined it working this way, so I guess rather than spending money on Claude I’m happy to offer some sort of bounty to get it up and running?
Just a quick info: MB got an experimental “v2 mod” with support for custom tags and different selection drop downs. Not sure if I will keep it, but maybe some of you want to try it out.
Oh yes, please! I had that in as a feature request for ages with support. Much appreciated, as that fuzziness in the VCV module browser drives me batty regularly.
If I were to implement a browser for vcvs files within MB, would anyone know of any online repositories that host vcvs files? I’ve explored patchstorage.com, but there are just a few selections/vcvs and they are mixed with regular patches.
It would be great if there was support for selections as well. Having these integrated into the browser would make things a lot easier. Thanks for considering.
Next release for the VCV Library incoming, this is preliminary changlog. I want to get this update finished in a week, because I’m working on an even bigger update, which will follow afterwards…
As others stated, there is no standard on that (besides MIDI 2.0 which is no „standard“ at all at the moment) and would require a custom implementation for the device.
A few years ago I experimented with a Teensy microcontroller and a Native Instruments M32 keyboard to make a „smarter“ MIDI controller with some deeper integration out of it - on its own the M32 is almost useless as a MIDI controller and needs the NI software on a computer to work properly. The challenge was, this controller uses a bit of MIDI for communication, but the interesting stuff is happening as a USB HID device (setting text on the display, using the capacitive touch knobs, setting LED lighting of the buttons). I reversed engineered parts of its protocol using a USB sniffer software and in the end a had a proof-of-concept running on the Teensy. For different reasons I stopped pursuing this project, but I always wanted to revive this project and the code, not on a microcontroller, but as a module in VCV Rack. At some point I even asked how to approach communication with HID.
I just had a few day of free time and I finally explored how to setup the build system to allow this kind of communication with hardware. I hacked together an expander for MIDI-CAT, which directly accesses the mapping slots for two-way communication. Considering the time I spent on it, it’s working pretty nicely: when I touch one of the knobs, the displays shows the parameters name and its value. Just like the tooltip on parameters on the screen.
Now, to lower any expectations, this is far from polished and I am not even sure what to do with it. Most probably it will go back into my virtual drawer of unfinished ideas for VCV Rack modules, I don’t know. In any case, any other hardware controller than the M32 will not work with it and would need some kind of custom „driver“ for the protocol.
There is also something new on my GitHub repository:
I have now an Experimental build, which includes several new modules and features, but it is unclear if and when they will be released. Expect things to break.
The existing Development build is the development branch for the next VCV Library version - everything in there is supposed to stay and not to break - at least from now on.
SPLICE-KIT is in the Experimental build, because it won’t be in the next version for the VCV Library (which will submitted for review tomorrow, if nothing goes wrong).
Wow… Very impressive work Ben! So it’s basically a MIDI controllable patch matrix with patch memory? Kinda like on the VCS-3…
And everything is remembered in the patch?
Sorry, I can’t remember now if you said it in the video, but is the shifting between the scenes/banks CV controllable? Or just MIDI controllable? That would be incredibly useful for both performing and experimenting with connections. It’s also really useful if it can be used fully both manually/standalone and with MIDI integration.
I never thought about the VCS-3, but yes, this is pretty much the idea. No CV control for the time being, as CV control makes everything so much more difficult. The focus is on performance and usability with grid controllers via MIDI.