Knobs, sliders, textfields that can send and listen to midi devices

I’d like to introduce a project I started to “scratch my own itch”, and which is a small library of bi-directional midi controls. Bi-directional means: if you modify controls in the GUI, the new values are sent to a midi device, and if the midi device sends a control change, the ui automatically updates to reflect the received values.

For now, the library has a small selection of controls (knob, slider, textfield, and a textview for logging purposes) which nevertheless already open up many possibilities.

The controls support midi learning, with built-in support for learning CC, NRPN, pitch bend and RPN midi messages. (I have to admit RPN is not tested at the moment).

Using this learning functionality, it becomes almost trivial e.g. to automate hundreds of parameters in my prophet rev2 hardware synthesizer (which emits/listens to a mixture of CC and NRPN messages). One of the examples included is an application to control almost all parameters in a Strymon bigsky reverb pedal.

If this kind of functionality interests you, please take a look here:

Let me know if you do something cool with it, or if you hit problems, or have ideas for future extensions.

Besides the functionality included in the quark, there’s another aspect about the quark worth mentioning, which is the documentation: the included schelp files are completely generated from specially formatted comments in the .sc files using a reasonably lightweight syntax and a python based doc extraction tool I made, but I will perhaps make a separate thread for this.


Great ! I have a Sequential OB6 which emits NRPN. I will test it with it !

I’m really looking forward to trying this out!

I was just near the point of thinking about mapping some things to a faderbox that I have and a GUI would be real nice too.

Thank you for sharing!