Skip to content

Panel MIDI ​

The knobs and the buttons of an Electra One are the one part of it a computer cannot lend it. The mouse and the keyboard drive them one at a time, which is enough to work with but nothing like playing the instrument. Panel MIDI puts a MIDI controller on your desk in their place: a knob of your controller becomes a knob of the virtual Electra One, a pad or a key becomes one of its buttons, and the panel is a panel again.

The Panel MIDI section
The Panel MIDI section of a virtual mk2: the controller that plays the panel, and a row per knob with what it is bound to, how it is read and its step size

This is not the firmware's MIDI Learn

What the controller sends stands in for your fingers. It becomes knob touches, knob turns and button presses, through the same path the hardware's own panel uses, and it never reaches the firmware as MIDI. It is not the firmware's MIDI Learn, not its remote knobs and not MIDI control; those still exist on the virtual controller and work through its MIDI ports, as they do on the hardware. The hardware has no Panel MIDI, because it has knobs.

The controller ​

The Controller field at the top is the MIDI port your controller is on. It is chosen here, separately from the MIDI IO and USB host ports of the MIDI ports section, and it is attached to none of them: a controller playing the panel is not a controller plugged into the back of an Electra One, so the firmware does not also see its messages arrive as MIDI. Rescan reads the computer's ports again.

Learning ​

Every knob and every button of the panel has a row. Learn on a row, then move the knob or press the pad on your controller that you want to play it, and the row shows what it is now bound to, CC 21 ch 1 or Note 36 ch 10. While the row is waiting, Cancel stops it. Forget on a bound row unbinds it.

A button takes a note or a control change. A knob takes a control change, read in one of three ways, chosen in Reads as:

Reads asWhat the controller sends
CC 7 bitan absolute position from 0 to 127. Movement is the difference from where the knob was, so an absolute knob turns a relative one.
CC 14 bitan absolute position from 0 to 16383 over a pair of controllers, n and n + 32, which is what a controller with a high-resolution knob sends.
Relativethe movement itself, from an endless encoder. A second field chooses the encoding: Two's complement, Sign bit, Sign bit 2, Binary offset or No sign; the same encodings the firmware's own relative controls know.

Changing Reads as forgets the binding, since the row has to learn what the new reading looks like.

Steps is how far one unit from the controller turns the knob, from 1 to 16. A knob that feels too slow gets a larger number.

Every reading becomes movement and nothing else. The virtual controller knows its knobs and buttons, never the controls under them: where a value sits, and what an absolute knob that disagrees with it should do, is the firmware's business, and the firmware's remote knobs have the takeover modes for that.

The rows ​

The knobs are numbered as on the panel, 1 to 12 on the mk2 and 1 to 8 on the Mini. The buttons are named as the panel names them:

mk2Mini
Left Top, Left Middle, Left Bottom, Right Top, Right Middle, Right BottomButton 1 (left) to Button 6 (right), and Knob 1 switch to Knob 8 switch
The Panel MIDI section of a Mini
A virtual Mini with all eight knobs bound to the absolute knobs of a Launchkey Mini, read as CC 7 bit

On the Mini a knob's switch is a button like the six under the display, so a pad can press a knob.

From the panel ​

A knob or a button can also be bound without opening the configuration window: right-click it on the panel. The inspector opens on that knob or button with the same Learn, Forget, Reads as and Steps as its row, and a binding made there is the one the row shows.

Assigning from the panel
A right-click on knob 1 of the panel: the knob's binding, and Learn and Forget for it

If no controller has been chosen yet, the inspector asks for one first.

Kept between runs ​

The bindings are written with the port choices to the model's settings file, mk2-host-settings.txt or mini-host-settings.txt, when the controller is closed, as described under Configuration. Moving eight knobs one at a time to bind them is work, and it is done once.

Electra One proudly uses Lua and ArduinoJson.
For support contact info@electra.one · © 2019-2026 Electra One