Electra One s.r.o.

Martin Pavlas

Ledce 80

CZ 273 05 Ledce

Czechia / Europe

info@electra.one

Copyright © 2019 electra.one - All Rights Reserved.

Upload preset to electra
 

f0 7d 01 01 { preset json } f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

01

payload upload message

01

payload is a preset definition

{ preset json }

f7

end of sysEx message

A preset defines what Electra will do for you.  It is a collection of information about all settings (faders, selection lists, pages, devices, and groups) that define what Electra will do and what synthesizers and sound modules are connected to it.

A preset can be a neatly organized set of all parameters to program sound on one synthesizer or it can be a set of parameters of several connected instruments that you want to control during the live or recording performance.

Preset upload sysEx message loads and activates a new preset in electra. The preset itself is defined as a structured JSON file. The format of the preset JSON is shown later in this document.

Upon successful receipt of the upload preset sysEx message, Electra will send sync request sysEx message back to the sender.

Request preset from electra
 

f0 7d 02 01 f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

02

request to download payload

01

payload is a preset definition

f7

end of sysEx message

Request to download Electra's current preset. Upon receiving the request, Electra will respond with a sysEx message in Upload preset json format. It means that the data you will receive can be easily send back to Electra. This makes it very convenient when you want to keep preset files externally in a sysEx librarian program.

Swap controls
 

f0 7d 03 n1 n2 f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

03

swap controls message

n1

Identifier of the first tile (control that is being dragged)

n2

Identifier of the tile where the control is going to be placed

f7

end of sysEx message

Control is a graphical representation of a MIDI parameter, for example a filter cutoff frequency. Controls are placed in slots of 6x6 grid on electra's display. Each slot is identified with a numerical Id. The first page has then slots starting with Id 1 going tup to 36. The second page continues with Ids starting 37 going up to 72.  As electra has 6 pages, slot Ids are in range 1 to 216.

The Control swap message is used to swap controls placed in two given slots. The message is aimed towards having UI applications with drag & drop functionality for reorganizing layout of controls.

Switch active page
 

f0 7d 06 n1 f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

06

switch active page messa

n1

Identifier of the first tile (control that is being dragged)

f7

end of sysEx message

Electra offers 6 pages to organize controls. Only one page can be active and shown on the display at time. You can navigate between the pages buy touching the page names at the top section of the display. Whenever a page is switched, Electra will send out the Page switch sysEx message. The payload of the message consists only of the page number in range 1 through 6.

Whenever Electra receives the Page switch message from outside, it will switch the active page to the page defined in the message. If the page number parameter is outside allowed range, the message will be ignored.

Identify request
 

f0 7d 08 f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

08

f7

Identify message

end of sysEx message

An Identify request can be used to obtain an information about Electra's firmware version.

Upon receiving the Identify request, Electra will respond with Identify response that contains json data with information about version of the firmware currently installed.

Identify response
 

f0 7d 08 { indentify json } f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

08

identify message

{ identify json }

f7

end of sysEx message

An Identify response is Electra's reply to the Identify request message.

The message consists of JSON data describing the information about version of the firmware currently installed in Electra.

{"version": "1.0.0"}

The format of the version is "[major release].[minor features].[bugfix release]"

Control update
 

f0 7d 05 { control json } f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

05

control update message

{ control json }

f7

end of sysEx message

A Control update call modifies attributes of a control in specific tile location. The update is sent in form of a json data describing one control. This json data is actually identical with control container in the preset JSON data.

Setting control type to "none" is an equivalent to removing a control from the canvas.

The format of the control JSON is shown later in this document.

Page update
 

f0 7d 09 { page json } f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

09

page update message

{ page json }

f7

end of sysEx message

A Control update call modifies attributes of a control in specific tile location. The update is sent in form of a json data describing one control. This json data is actually identical with control container in the preset JSON data.

Setting control type to "none" is an equivalent to removing a control from the canvas.

The format of the control JSON is shown later in this document.

Device update
 

f0 7d 0d { device json } f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

0d

device update message

{ device json }

f7

end of sysEx message

A Control update call modifies attributes of a control in specific tile location. The update is sent in form of a json data describing one control. This json data is actually identical with control container in the preset JSON data.

Setting control type to "none" is an equivalent to removing a control from the canvas.

The format of the control JSON is shown later in this document.

Active section switch
 

f0 7d 0a n1 f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

0a

switch active section message

n1

f7

end of sysEx message

section ID

A Control update call modifies attributes of a control in specific tile location. The update is sent in form of a json data describing one control. This json data is actually identical with control container in the preset JSON data.

Setting control type to "none" is an equivalent to removing a control from the canvas.

The format of the control JSON is shown later in this document.

Tile focus
 

f0 7d 0b n1 f7

f7

sysEx start  status byte

7d

electra.one manufacturer ID

0b

tile focus message

n1

f7

end of sysEx message

tile ID

A Control update call modifies attributes of a control in specific tile location. The update is sent in form of a json data describing one control. This json data is actually identical with control container in the preset JSON data.

Setting control type to "none" is an equivalent to removing a control from the canvas.

The format of the control JSON is shown later in this document.