Just received my Electra One mkii and started getting into its LUA scripting possibilities. Using the preset “Handling Simple CC” from here, my Electra One mkii freezes when receiving a MIDI data ramp on channel 1 CC1 and CC64 on its virtual “Port 1” via the USB Type B port. The freeze is persistent and no restart or firmware reflash will help.
It looks like line 26 of the lua script is causing this as commenting that line avoids the freeze:
The only way I found out to unfreeze the Electra One is to boot into the firmware flash mode (keep the bottom-right button pressed when starting the device), enable the USB disk and deleting all files from ELECTRA/ctrlv2/slots/.
Why is the freeze happening?
Why is the freeze persisting reboots and firmware reflashes?
Is there a better way to unfreeze the device than deleting the ELECTRA/ctrlv2/slots/ directory?
I was able to replicate the part when E1 gets stuck when this preset is loaded at the boot time. I will review that today along with other few issues.
I was not, however, able to freeze it by sending it CC data. When you say “MIDI data ramp on” what does that mean? Is there a way for me to replicate. Thanks!
Here is the REAPER project file that causes the freeze when the “Handling Simple CC” preset is loaded: electra-one-simple-cc.RPP.zip (2.2 KB)
Not sure if that will replicate the MIDI out routing on your machine. The essential step is to make track 2 named out-cc1/cc64 to output its MIDI data to Electra One Port 1.
The Midi data ramp is just a ramp on the ModWheel from 0 to 127, like this:
As soon as the first ModWheel value is received on the Electra One with the parameterMap line being active, the device freezes. Disabling that line doesn’t cause the freeze anymore on incoming ModWheel messages.
ok, I am working though the backlog of recent things and questions.
@Mint-Gecko - I identified the problem. It was actually the pages.setActiveControlSet(2). The fix will be included (with other few fixes) in the upcoming release.
I can confirm that commenting pages.setActiveControlSet(2) also fixes the freeze. So that was the culprit and parameterMap.set() was just taking the fall for it?
The freeze when receiving MIDI CC ramps from the uploaded project is still happening with v3.3.1 and the Simple MIDI CC template. I even had line pages.setActiveControlSet(2) commented out and it still froze on receiving MIDI data.
Redid some of the tests with v3.3.0 and v3.3.1 and the factory state of the sdcard. On both versions, commenting out pages.setActiveControlSet(2) doesn’t prevent the freeze. Only commenting parameterMap.set(deviceId, PT_VIRTUAL, controllerNumber, value) prevents the freeze.
What has improved with v3.3.1 is that the freeze is gone on the next bootup. With v3.3.0, the freeze would persist on restart. But the freeze when the LUA code calls parameterMap.set(deviceId, PT_VIRTUAL, controllerNumber, value) is still happening for both versions. Is this a bug or is something wrong with my device?
nopes, not your device. I am looking at that already. What I am seeing is that it gets into troubles with play is hit in Reaper. I can see that Reaper sends bulk of “reset midi” messages to set pitchbends and several controllers. With 3.3.1 I was testing the release with Reaper constantly playing, that seems to work just fine.