Control copy & paste, copies don't output sysex

My thinking was to have a control on a given page with the default sysex, then just copy and paste it wherever I want, modifying parameter addresses as I go (so as to avoid having to configure the same parameters & sysex bytes over and over again).

Expected result: Paste copy → modify parameter address bytes → modified sysex parameter change string controls the new parameter.

Actual result: Copies of original don’t seem to send any midi, although I can see the indicators flash on the e1.

Steps to recreate error (using the GUI preset editor).

  1. Configure a fader to send a sysex parameter change (say, ADSR Attack Rate).
  2. Copy the fader and paste the copy to an adjacent spot on the grid.
  3. Edit the copy, changing the parameter address to the correct byte values for (say) ADSR Decay Rate.
  4. Output from the copy either non-existent or invalid.

When I double-check the json, the copy & original are both set up correctly, but the copies don’t work.

Yet if I drag & drop a fresh control in the GUI and set it up exactly the same as the copy, it works.

1 Like

Hi, I was looking at the problem earlier today. It is kind of feature / issue in the same time.

Electra identifies and maintains value of parameters and their messages using the combination of the parameter type (CC7, NRPN, SysEx,…) and the parameter number. When you copy a control, you make a copy including the identical parameter type and number. If you leave these unchanged and change just the SysEx data, the controller will send the first message associated with the parameter type / number. If you change the parameter number, it should work just fine.

If you create a new control, the editor will assign it a new parameter automatically.

Yup, editor sends the preset data correctly. It is the controller that have to make the choice which of the messages will be sent.

You might wonder why the parameter number is needed. It is a part of longer run work on making it possible read incoming SysEx messages in real-time and being able to assign parsed value to a parameter.

I will try to adjust the editor / controller to make it more clear to the users.

1 Like