Development plan

The feature requests and ideas invented at Electra. The order does not reflect the development time line at this moment. It is a list of items on the development TODO in random order:

Snapshots
Saved values of preset controls. Snapshots will allow users to Save, Recall, Export, and Import values of all controls of a Preset. Snapshots will be implemented as transfers of all individual control values. ie. it does not use any type of Patch transfer SysEx messaging. Snapshots allow keep Electra in sync with the connected device even if the device does not support bi-directional communication. Snapshots may also provide more Patch/Sound storage for synths with limited memory resources.

Captures
Captures are saved Midi messages that can be triggerred upon user’s request. The concept is similar to Snapshots but a saved MIDI message (actually a set of MIDI messages) would be send instead of controls values. Electra already supports a Patch request message. Captures are very similar but user will have full control over them. ie. whatever set of messages you saved as a capture will be send out on a user action. It will be possible to insert variables in the messages.

Partial updates of the Preset
Electra’s SysEx implementation will be extended so that it will be possible to build preset by sending in MIDI messages for individual controls. This will also allow to update and remove individual controls (colours, labels, values, …)

New Electra One Console Application
Current ElectraOne console application will be replaced with a new version that will bring more functionality regarding the Preset, Snapshot, Config, Routing. This can be considered to be a native app to manage Electra hardware. Mac OS X, Windows, Linux, IOS are planned to be supported. Possibily Android.

More variables in MIDI messaging
Currently, Value and Checksum variables can be inserted to the SysEx messages. The idea is to extend number of variables. Parameter numbers, MIDI channel, Master MIDI channel, device ID, custom variables will be supported. Also, we want to allow this for other MIDI messages. ie. it would not be limited to SysEx only.

Editor for SysEx messages
Provide a graphical / user friendly editor for SysEx messages. This would cover both outgoing SysEx messages as well as the incoming SysEx patch dumps and its mapping to the parameters.

Send multiple messages with one Control
Currently, Electra can send only one MIDI message per control. This feature would allow assigning more messages to a single control value. The messages could be sent immediately (as fast as possible) or at given timeframes. An option to send message if certain condition is met would be a nice addition.

Relative Controls
Introduce new type of control that sends and reacts to relative CC messages. This would allow easier / better integration with many DAWs.

Improve Envelopes
Electra now supports only three types of envelopes. More types of envelopes should be added or a generic envelope should be added.

Increase / Decrease Controls
Slightly related to Relative controls but these controls would work with absolute numbers too. Imagine these as increment and decrement buttons that modify one parameter value.

Customize user interface means
Currently, function of the hardware buttons and the touch interface is defined by the firmware. We would like to make it possible to override this on the Config level (whole Electra, ie. all presets) as well as on the Preset level (ie. a preset may change behaviour of the hardware means). This would include the long-touches, double-taps, button presses, etc. Possibly, assigment of the knobs to particular section, leaving the rest purely touch-only.

MIDI Routing
This would allow Electra to do more precise routing between Electra’s ports and MIDI channels. As part of this the number of USB device ports could be increased to say 16 and these ports would be given an option to use custom port names. This would, for example, allow mapping of MIDI synths connected to individual MIDI IO port channels to specific USB DAW ports (if I use iConnectivity term).

Display / Enable Controls on conditions
Make it possible to enable/ disable or show/hide controls according to matching a conditon (< = >) on a value of particular control value.

Multi-client on Windows
Find a way to make it possible use Electra with multiple applications connected. This works fine on MacOS X and Linux. Not on Windows.

Control of MIDI messaging rates
Many old synths get into troubles when MIDI messages are sent to them too fast. We want to make it possible to specify the maximum rate of the MIDI messages on per device basis.

Improve External MIDI control
I implemented my idea of controlling Electra with MIDI messages. Page, Preset switching, etc. It seems, however, that it is not very useful in many situations. I used the dedicated CTRL port. This does makes it impossible to use a controller that would partly control Electra but it would also send message to gear / computer connected to Electra. This needs to be changed / improved.

Multi-touch LCD
Not much to add to it :slight_smile: The hardware can handle up to 5 touch points. We want to take advantage of that and use it in the user interface.

Improve visual grouping of Controls
Current groups are very limited and often it is not possible to “group” controls while getting the most of the available space on the display. This needs to be improved.

Runtime configuration changes
Make it possible to change the Master MIDI channel, port assingments, etc.

Improve the Preset management on the web
The management and access to presets is very limited in the web application. Filtering, searching, rating, it all needs to be added.

Automation and generation of MIDI data
Electra is capable of generating MIDI data by itself. This data could be used to modulate values of controls or it could be sent out directly to the connected devices.

12 Likes