Firmware / Web editor beta testing

I think I know in theory what a unipolar / bipolar fader is, but there is no difference in operation.

I am still not a fan of the new pad design: selected toggles stand out too little for my taste (I like the subtlety of the design, but this too subtle :wink:

2 Likes

Also, long press on fader to show large bar in popup appears to always display the fader as if it is bipolar (ignoring the unipolar setting)

1 Like

@martin - can I get a quick sanity check that this onResponse() construct is correct for use with the 3.x beta OS? The incoming sysex should be 600+ bytes.

The Cyclone is notorious for being weird with sysex data being sent to and from it. I just want to eliminate any naming/parameter type issues on the LUA side before I look at the sysex transaction in more detail.

thanks

1 Like

@oldgearguy
Hi , Im reading along because I’ll need to do something similar in FW3 for the DSI Mopho. And I’m not yet familiar with the sysexBlock handling, and those read and seek commando’s.

What is the purpose of the last print command?

print(string.format(“Patch #: %d”, deSyx[0]))

that’s just printing the content of the 5th byte, correct?

1 Like

yes - I had more code below this, but cut it out for brevity in a post.

My normal process is to grab the sysex, then print some test values to the log to verify I’m reading and interpreting the sysex dump correctly. Then, if the log looks good, I strip that out and start doing the real processing of the data.

Note that this code block worked correctly for the Alesis Micron and other templates I was working on with the OS 2.x releases. But I know Martin changed some of the parameters to other MIDI calls between OS 2 and 3 and wanted to know about this one.

2 Likes

Dimmed colors (of controls not in the current control set) are strange: bright orange becomes dimmed red, bright blue becomes dimmed green…

2 Likes

I will wait for the finished work then . I love to experiment and test but i already do that for many other stuff for now . The V2.2 works perfectly and i use it intensively to develop other part of my set … That are not as stable as this part :slight_smile: .I read the thread regularly . So many talented/expert people there :heart_eyes: .
Thanks Martin ! For all your work and your kindness !
Have a nice evening ! :wink:

1 Like

yeah, still having trouble receiving sysex larger than 256 bytes.

The Cyclone template is requesting the current patch (668 bytes). When I send the request from the Electra One (pressing upper right/Button 4) and sending the request, I see this in the log file:

21:20:47.903		listWindows: index=0, name=mainWindow, address=1fffd494, active=1
21:20:47.907		listListeners: buttonListener: 1fffd4dc is active: 1
21:20:47.910		lua: Requesting edit buffer
21:20:47.913		lua: Requesting edit buffer
21:20:47.915		function: 1 (onRequest)

The lua: Requesting edit buffer line is my print() statement embedded in the patch.onRequest() function in the LUA script. No idea why it’s being called twice.

then the Electra One becomes unresponsive, the Chroma browser (on Windows 10) locks up and I have to reboot Windows to free up the resources locked by Chrome,. If I plug a USB<–>MIDI cable into another USB port and feed the output of the Cyclone to MIDI-Ox, it perfectly captures the sysex dump. The format looks fine, nothing crazy in it.

The LUA code I’m using is so minimal now for response - everything stripped out except for a single print() statement.

This is happening with Electra One controllers with hw version 2.0 and 2.4

1 Like

apologies for dumping logs to the forum. After the most recent lockup, I tried to do a factory reset of the E1 (middle left button on power up) because the screen/knobs were still unresponsive (2.40 HW version, rev 3x22 OS). After doing that, I get a nice empty main screen, but I can’t do anything with it - browser says ‘not connected’. Here’s the log from that startup:

21:38:43.582		processElectraSysex::handleElectraSysex: electraInfo sysex sent to the host
21:38:43.682		processElectraSysex::handleElectraSysex: electraInfo sysex sent to the host
21:38:43.699		sendSysexFile: the file does not exists: filename=ctrlv2/setup.cfg
21:38:43.769		sendSysexFile: the file does not exists: filename=ctrlv2/p005.epr
21:38:50.331		handleSysEx: preset transfer initiated: filename=ctrlv2/p005.epr
21:38:50.331		handleSysEx: Read file failed: ctrlv2/p005.epr
21:38:50.332		handleSysEx: lua script transfer initiated: filename=ctrlv2/p005.lua
21:38:50.332		handleSysEx: Read file failed: ctrlv2/p005.lua
21:38:50.369		Localfile: Cannot open file failed: ctrlv2/p005.epr
21:38:50.419		Controller::reset: preset memory deallocated
21:38:50.419		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:50.420		Preset::load: file: filename=ctrlv2/p005.epr
21:38:50.420		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:50.421		Default preset load failed
21:38:50.421		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:50.422		Controller::reset: preset memory deallocated
21:38:50.422		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:50.423		Preset::load: file: filename=ctrlv2/p005.epr
21:38:50.423		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:50.424		Default preset load failed
21:38:50.425		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:50.425		Controller::reset: preset memory deallocated
21:38:50.426		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:50.426		Preset::load: file: filename=ctrlv2/p005.epr
21:38:50.427		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:50.427		Default preset load failed
21:38:50.428		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:50.429		Controller::reset: preset memory deallocated
21:38:50.429		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:50.430		Preset::load: file: filename=ctrlv2/p005.epr
21:38:50.430		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:50.431		Default preset load failed
21:38:50.431		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:50.432		Controller::reset: preset memory deallocated
21:38:50.432		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:50.432		Preset::load: file: filename=ctrlv2/p005.epr
21:38:50.433		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:50.433		Default preset load failed
21:38:50.433		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:50.433		getPage: page does not exist: pageId=1
21:38:50.434		switchPage: Page switched: page=1, controlSetId=0
21:38:50.434		getPage: page does not exist: pageId=1
21:38:50.435		handleCtrlFileReceived: preset upload failed
21:38:50.435		processElectraSysex::handleElectraSysex: sending ACK
21:38:50.442		SysexApi::process: sysex received: command=1, parameter=1, byte1=123
21:38:50.443		SysexApi::process: unknown sysex request
21:38:50.443		Localfile: Cannot open file failed: ctrlv2/p005.lua
21:38:50.444		processElectraSysex::handleElectraSysex: sending ACK
21:38:50.444		SysexApi::process: sysex received: command=1, parameter=12, byte1=102
21:38:50.444		SysexApi::process: unknown sysex request
21:38:50.569		SysexApi::process: sysex received: command=2, parameter=4, byte1=247
21:38:50.570		SysexApi::sendPresetList
21:38:50.571		sendPresetList
21:38:50.571		Presets::sendList: cannot open transfer file
21:38:50.572		sendSysexFile: the file does not exists: filename=ctrlv2/eprxfer.tmp
21:38:50.572		SysexApi::process: sysex received: command=2, parameter=4, byte1=247
21:38:50.572		SysexApi::sendPresetList
21:38:50.573		sendPresetList
21:38:50.573		Presets::sendList: cannot open transfer file
21:38:50.574		sendSysexFile: the file does not exists: filename=ctrlv2/eprxfer.tmp
21:38:56.059		handleSysEx: preset transfer initiated: filename=ctrlv2/p005.epr
21:38:56.059		handleSysEx: Read file failed: ctrlv2/p005.epr
21:38:56.059		handleSysEx: lua script transfer initiated: filename=ctrlv2/p005.lua
21:38:56.059		handleSysEx: Read file failed: ctrlv2/p005.lua
21:38:56.069		Localfile: Cannot open file failed: ctrlv2/p005.epr
21:38:56.118		Controller::reset: preset memory deallocated
21:38:56.119		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:56.120		Preset::load: file: filename=ctrlv2/p005.epr
21:38:56.120		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:56.121		Default preset load failed
21:38:56.121		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:56.122		Controller::reset: preset memory deallocated
21:38:56.122		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:56.123		Preset::load: file: filename=ctrlv2/p005.epr
21:38:56.123		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:56.124		Default preset load failed
21:38:56.125		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:56.125		Controller::reset: preset memory deallocated
21:38:56.125		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:56.126		Preset::load: file: filename=ctrlv2/p005.epr
21:38:56.126		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:56.126		Default preset load failed
21:38:56.127		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:56.127		Controller::reset: preset memory deallocated
21:38:56.128		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:56.128		Preset::load: file: filename=ctrlv2/p005.epr
21:38:56.128		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:56.129		Default preset load failed
21:38:56.129		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:56.129		Controller::reset: preset memory deallocated
21:38:56.130		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:56.130		Preset::load: file: filename=ctrlv2/p005.epr
21:38:56.131		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:56.131		Default preset load failed
21:38:56.131		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:56.131		getPage: page does not exist: pageId=1
21:38:56.132		switchPage: Page switched: page=1, controlSetId=0
21:38:56.132		getPage: page does not exist: pageId=1
21:38:56.132		handleCtrlFileReceived: preset upload failed
21:38:56.133		processElectraSysex::handleElectraSysex: sending ACK
21:38:56.143		SysexApi::process: sysex received: command=1, parameter=1, byte1=123
21:38:56.145		SysexApi::process: unknown sysex request
21:38:56.145		Localfile: Cannot open file failed: ctrlv2/p005.lua
21:38:56.145		processElectraSysex::handleElectraSysex: sending ACK
21:38:56.145		SysexApi::process: sysex received: command=1, parameter=12, byte1=102
21:38:56.145		SysexApi::process: unknown sysex request
21:38:56.269		SysexApi::process: sysex received: command=2, parameter=4, byte1=247
21:38:56.270		SysexApi::sendPresetList
21:38:56.270		sendPresetList
21:38:56.271		Presets::sendList: cannot open transfer file
21:38:56.271		sendSysexFile: the file does not exists: filename=ctrlv2/eprxfer.tmp
21:38:56.370		SysexApi::process: sysex received: command=2, parameter=4, byte1=247
21:38:56.370		SysexApi::sendPresetList
21:38:56.371		sendPresetList
21:38:56.371		Presets::sendList: cannot open transfer file
21:38:56.371		sendSysexFile: the file does not exists: filename=ctrlv2/eprxfer.tmp
21:38:58.936		handleSysEx: preset transfer initiated: filename=ctrlv2/p005.epr
21:38:58.936		handleSysEx: Read file failed: ctrlv2/p005.epr
21:38:58.936		handleSysEx: lua script transfer initiated: filename=ctrlv2/p005.lua
21:38:58.937		handleSysEx: Read file failed: ctrlv2/p005.lua
21:38:58.969		Localfile: Cannot open file failed: ctrlv2/p005.epr
21:38:59.019		Controller::reset: preset memory deallocated
21:38:59.020		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:59.020		Preset::load: file: filename=ctrlv2/p005.epr
21:38:59.021		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:59.021		Default preset load failed
21:38:59.022		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:59.022		Controller::reset: preset memory deallocated
21:38:59.022		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:59.023		Preset::load: file: filename=ctrlv2/p005.epr
21:38:59.023		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:59.024		Default preset load failed
21:38:59.024		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:59.025		Controller::reset: preset memory deallocated
21:38:59.025		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:59.026		Preset::load: file: filename=ctrlv2/p005.epr
21:38:59.026		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:59.027		Default preset load failed
21:38:59.027		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:59.028		Controller::reset: preset memory deallocated
21:38:59.028		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:59.029		Preset::load: file: filename=ctrlv2/p005.epr
21:38:59.029		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:59.030		Default preset load failed
21:38:59.030		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:59.030		Controller::reset: preset memory deallocated
21:38:59.031		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:38:59.031		Preset::load: file: filename=ctrlv2/p005.epr
21:38:59.031		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:38:59.032		Default preset load failed
21:38:59.032		handleCtrlFileReceived: preset loaded: name=NO NAME
21:38:59.033		getPage: page does not exist: pageId=1
21:38:59.033		switchPage: Page switched: page=1, controlSetId=0
21:38:59.033		getPage: page does not exist: pageId=1
21:38:59.034		handleCtrlFileReceived: preset upload failed
21:38:59.034		processElectraSysex::handleElectraSysex: sending ACK
21:38:59.043		SysexApi::process: sysex received: command=1, parameter=1, byte1=123
21:38:59.043		SysexApi::process: unknown sysex request
21:38:59.044		Localfile: Cannot open file failed: ctrlv2/p005.lua
21:38:59.044		processElectraSysex::handleElectraSysex: sending ACK
21:38:59.045		SysexApi::process: sysex received: command=1, parameter=12, byte1=102
21:38:59.045		SysexApi::process: unknown sysex request
21:38:59.170		SysexApi::process: sysex received: command=2, parameter=4, byte1=247
21:38:59.170		SysexApi::sendPresetList
21:38:59.171		sendPresetList
21:38:59.171		Presets::sendList: cannot open transfer file
21:38:59.172		sendSysexFile: the file does not exists: filename=ctrlv2/eprxfer.tmp
21:38:59.172		SysexApi::process: sysex received: command=2, parameter=4, byte1=247
21:38:59.173		SysexApi::sendPresetList
21:38:59.173		sendPresetList
21:38:59.173		Presets::sendList: cannot open transfer file
21:38:59.174		sendSysexFile: the file does not exists: filename=ctrlv2/eprxfer.tmp
21:39:00.825		handleSysEx: preset transfer initiated: filename=ctrlv2/p005.epr
21:39:00.825		handleSysEx: Read file failed: ctrlv2/p005.epr
21:39:00.826		handleSysEx: lua script transfer initiated: filename=ctrlv2/p005.lua
21:39:00.826		handleSysEx: Read file failed: ctrlv2/p005.lua
21:39:00.870		Localfile: Cannot open file failed: ctrlv2/p005.epr
21:39:00.919		Controller::reset: preset memory deallocated
21:39:00.920		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:39:00.920		Preset::load: file: filename=ctrlv2/p005.epr
21:39:00.921		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:39:00.921		Default preset load failed
21:39:00.922		handleCtrlFileReceived: preset loaded: name=NO NAME
21:39:00.922		Controller::reset: preset memory deallocated
21:39:00.923		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:39:00.923		Preset::load: file: filename=ctrlv2/p005.epr
21:39:00.923		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:39:00.924		Default preset load failed
21:39:00.924		handleCtrlFileReceived: preset loaded: name=NO NAME
21:39:00.925		Controller::reset: preset memory deallocated
21:39:00.925		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:39:00.926		Preset::load: file: filename=ctrlv2/p005.epr
21:39:00.926		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:39:00.927		Default preset load failed
21:39:00.927		handleCtrlFileReceived: preset loaded: name=NO NAME
21:39:00.927		Controller::reset: preset memory deallocated
21:39:00.928		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:39:00.928		Preset::load: file: filename=ctrlv2/p005.epr
21:39:00.929		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:39:00.929		Default preset load failed
21:39:00.930		handleCtrlFileReceived: preset loaded: name=NO NAME
21:39:00.930		Controller::reset: preset memory deallocated
21:39:00.930		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:39:00.931		Preset::load: file: filename=ctrlv2/p005.epr
21:39:00.931		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:39:00.931		Default preset load failed
21:39:00.932		handleCtrlFileReceived: preset loaded: name=NO NAME
21:39:00.932		getPage: page does not exist: pageId=1
21:39:00.932		switchPage: Page switched: page=1, controlSetId=0
21:39:00.933		getPage: page does not exist: pageId=1
21:39:00.933		handleCtrlFileReceived: preset upload failed
21:39:00.933		processElectraSysex::handleElectraSysex: sending ACK
21:39:00.943		SysexApi::process: sysex received: command=1, parameter=1, byte1=123
21:39:00.944		SysexApi::process: unknown sysex request
21:39:00.944		Localfile: Cannot open file failed: ctrlv2/p005.lua
21:39:00.945		processElectraSysex::handleElectraSysex: sending ACK
21:39:00.945		SysexApi::process: sysex received: command=1, parameter=12, byte1=102
21:39:00.945		SysexApi::process: unknown sysex request
21:39:01.070		SysexApi::process: sysex received: command=2, parameter=4, byte1=247
21:39:01.071		SysexApi::sendPresetList
21:39:01.071		sendPresetList
21:39:01.072		Presets::sendList: cannot open transfer file
21:39:01.072		sendSysexFile: the file does not exists: filename=ctrlv2/eprxfer.tmp
21:39:01.170		SysexApi::process: sysex received: command=2, parameter=4, byte1=247
21:39:01.170		SysexApi::sendPresetList
21:39:01.171		sendPresetList
21:39:01.171		Presets::sendList: cannot open transfer file
21:39:01.171		sendSysexFile: the file does not exists: filename=ctrlv2/eprxfer.tmp
21:39:02.646		handleSysEx: preset transfer initiated: filename=ctrlv2/p005.epr
21:39:02.647		handleSysEx: Read file failed: ctrlv2/p005.epr
21:39:02.647		Localfile: Cannot open file failed: ctrlv2/p005.epr
21:39:02.648		handleSysEx: lua script transfer initiated: filename=ctrlv2/p005.lua
21:39:02.648		handleSysEx: Read file failed: ctrlv2/p005.lua
21:39:02.649		Controller::reset: preset memory deallocated
21:39:02.650		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:39:02.650		Preset::load: file: filename=ctrlv2/p005.epr
21:39:02.650		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:39:02.651		Default preset load failed
21:39:02.652		handleCtrlFileReceived: preset loaded: name=NO NAME
21:39:02.652		Controller::reset: preset memory deallocated
21:39:02.653		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:39:02.653		Preset::load: file: filename=ctrlv2/p005.epr
21:39:02.654		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:39:02.655		Default preset load failed
21:39:02.655		handleCtrlFileReceived: preset loaded: name=NO NAME
21:39:02.656		Controller::reset: preset memory deallocated
21:39:02.656		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:39:02.657		Preset::load: file: filename=ctrlv2/p005.epr
21:39:02.657		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:39:02.658		Default preset load failed
21:39:02.658		handleCtrlFileReceived: preset loaded: name=NO NAME
21:39:02.658		Controller::reset: preset memory deallocated
21:39:02.659		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:39:02.659		Preset::load: file: filename=ctrlv2/p005.epr
21:39:02.660		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:39:02.660		Default preset load failed
21:39:02.660		handleCtrlFileReceived: preset loaded: name=NO NAME
21:39:02.661		Controller::reset: preset memory deallocated
21:39:02.661		free RAM: total=262144, adj_free=202104, free=205672, heap=5120, collision=0
21:39:02.662		Preset::load: file: filename=ctrlv2/p005.epr
21:39:02.662		Preset::load: cannot open preset file: ctrlv2/p005.epr
21:39:02.663		Default preset load failed
21:39:02.663		handleCtrlFileReceived: preset loaded: name=NO NAME
21:39:02.664		getPage: page does not exist: pageId=1
21:39:02.664		switchPage: Page switched: page=1, controlSetId=0
21:39:02.664		getPage: page does not exist: pageId=1
21:39:02.665		handleCtrlFileReceived: preset upload failed
21:39:02.665		processElectraSysex::handleElectraSysex: sending ACK
21:39:02.666		SysexApi::process: sysex received: command=1, parameter=1, byte1=123
21:39:02.666		SysexApi::process: unknown sysex request
21:39:02.666		Localfile: Cannot open file failed: ctrlv2/p005.lua
21:39:02.666		processElectraSysex::handleElectraSysex: sending ACK
21:39:02.667		SysexApi::process: sysex received: command=1, parameter=12, byte1=102
21:39:02.667		SysexApi::process: unknown sysex request
21:39:02.770		SysexApi::process: sysex received: command=2, parameter=4, byte1=247
21:39:02.771		SysexApi::sendPresetList
21:39:02.772		sendPresetList
21:39:02.772		Presets::sendList: cannot open transfer file
21:39:02.772		sendSysexFile: the file does not exists: filename=ctrlv2/eprxfer.tmp
21:39:02.870		SysexApi::process: sysex received: command=2, parameter=4, byte1=247
21:39:02.870		SysexApi::sendPresetList
21:39:02.871		sendPresetList
21:39:02.871		Presets::sendList: cannot open transfer file
21:39:02.871		sendSysexFile: the file does not exists: filename=ctrlv2/eprxfer.tmp

1 Like

@oldgearguy, I will review your reports as soon as I finish work I am currently doing on the beta website.

@jhh: same thing. Issues are registered, I will review/fix them shortly.

If I change the color of the snapshot in the editor, a different color appears on the E1 display.

2 Likes

I’m building a resonance compensator to use on ladder filter synths, using firmware 3.0.

  • Pad 140 is an on/off for this.
  • CC number 7 is the volume CC controller

The function is called each time the Resonance controller is invoked.
fyi:I found the ratio 70 to 100 a good one for this audible compensation:

function resoCompensation(valueObject,value)
  if parameterMap.get (deviceId , PT_VIRTUAL, 140)== 0 then return end
  local CC7Value=parameterMap.get (deviceId , PT_CC7, 7)
  value = math.min(127,CC7Value+math.floor(value*70/100)) 
  if value~=prevValueVol  then
    midi.sendControlChange (devPort , channel, 7, value) 
    prevValueVol  =value
  end
end

The function is triggered, tweaking the synth’s resonance knob (whereby CC number 21 is the resonance):

function midi.onControlChange (midiInput, channelIn, controllerNumber, value)
  if channelIn~=channel then return end
  if controllerNumber==21 then
     resoCompensation(valueObject,value)
     return
  end
...
end

When tweaking the resonance knob , the resonance changes and therefor the volume changes via CC number 7 as well, but there is a noticeable reaction lag.

Normal behaviour looks like (when changing the knob slowly):
image

But if you turn a bit faster, the result is that the volume changes are segregated from the resonance changes.
Is there a way to remove the lag?
image

I turned off all the routing in the Controller screen except for USB device to USB host option (so two total) and now the entire browser does not lock up on receipt of a sysex dump. The patch.OnRequest() still appears to be called twice, and when I loaded to preset after a reboot, I got all this in the log file. Does it all make sense? The preset is a variant on the Oberheim Cyclone 1.1 by @milwaukee. I made some minor changes, to reduce the amount of text/duplication in the original and have been trying to add patch dump/receive to it.

12:58:28.997		processElectraSysex::handleElectraSysex: electraInfo sysex sent to the host
12:58:28.998		processElectraSysex::handleElectraSysex: electraInfo sysex sent to the host
12:58:29.081		processElectraSysex::handleElectraSysex: config sysex sent to the host
12:59:33.715		handleSysEx: preset transfer initiated: filename=ctrlv2/p000.epr
12:59:33.726		transport disabled
12:59:33.728		Controller::reset: preset memory deallocated
12:59:33.731		free RAM: total=262144, adj_free=197568, free=201280, heap=9656, collision=0
12:59:33.733		Preset::load: file: filename=ctrlv2/p000.epr
12:59:33.736		1
12:59:33.738		2
12:59:33.740		3
12:59:33.742		4
12:59:33.745		Preset::parseRule: deserializeJson() failed: InvalidInput
12:59:33.747		findElement: no "patch" defined
12:59:33.748		5
12:59:33.749		6
12:59:33.751		7
12:59:33.753		.
12:59:33.755		p: 11680
12:59:33.756		name=AUTO-TRANSPOSE
12:59:33.758		v
12:59:33.761		.
12:59:33.762		p: 12228
12:59:33.764		name=# OF DOUBLES
12:59:33.765		v
12:59:33.766		.
12:59:33.767		p: 12851
12:59:33.768		name=BASE CHANNEL
12:59:33.769		v
12:59:33.771		.
12:59:33.772		p: 13478
12:59:33.773		name=SYNCTO TRIGGER
12:59:33.774		v
12:59:33.775		.
12:59:33.776		p: 14042
12:59:33.776		name=MODE RESET
12:59:33.777		v
12:59:33.778		.
12:59:33.778		p: 14615
12:59:33.779		name=INVERT ALTERNT
12:59:33.780		v
12:59:33.780		.
12:59:33.781		p: 15193
12:59:33.781		name=TRANSPOSE SYNC
12:59:33.782		v
12:59:33.783		.
12:59:33.783		p: 15772
12:59:33.784		name=DBL INTERVAL
12:59:33.784		v
12:59:33.785		.
12:59:33.786		p: 16369
12:59:33.787		name=END BEAT 1/4N
12:59:33.787		v
12:59:33.788		.
12:59:33.789		p: 16957
12:59:33.790		name=REC/HOLD MODE
12:59:33.790		v
12:59:33.791		.
12:59:33.792		p: 17526
12:59:33.792		name=AUTO CORRECT
12:59:33.793		v
12:59:33.793		.
12:59:33.794		p: 18094
12:59:33.794		name=
12:59:33.795		v
12:59:33.796		.
12:59:33.796		p: 18357
12:59:33.797		name=
12:59:33.798		v
12:59:33.798		.
12:59:33.798		p: 18893
12:59:33.799		name=CLOCK
12:59:33.799		v
12:59:33.800		.
12:59:33.800		p: 19437
12:59:33.800		name=BPM
12:59:33.801		v
12:59:33.801		.
12:59:33.802		p: 20015
12:59:33.802		name=NOTE PULSE
12:59:33.803		v
12:59:33.803		.
12:59:33.804		p: 20578
12:59:33.804		name=DURATION 16THS
12:59:33.805		v
12:59:33.806		.
12:59:33.807		p: 21164
12:59:33.807		name=
12:59:33.808		v
12:59:33.808		.
12:59:33.809		p: 21699
12:59:33.809		name=
12:59:33.810		v
12:59:33.810		.
12:59:33.810		p: 22219
12:59:33.811		name=PEDAL E1 (64)
12:59:33.811		v
12:59:33.811		.
12:59:33.812		p: 22544
12:59:33.812		name=PEDAL E2 (80)
12:59:33.813		v
12:59:33.813		.
12:59:33.814		p: 22867
12:59:33.814		name=PEDAL E3 (96)
12:59:33.814		v
12:59:33.815		.
12:59:33.815		p: 23190
12:59:33.816		name=LINK TIMING
12:59:33.816		v
12:59:33.817		.
12:59:33.817		p: 23768
12:59:33.817		name=AUTO-TRANSPOSE
12:59:33.818		v
12:59:33.818		.
12:59:33.818		p: 24317
12:59:33.819		name=TRANSPOSE SYNC
12:59:33.819		v
12:59:33.820		.
12:59:33.820		p: 24898
12:59:33.821		name=RECURSION INT
12:59:33.821		v
12:59:33.822		.
12:59:33.822		p: 25496
12:59:33.823		name=NUM STAGES
12:59:33.824		v
12:59:33.825		.
12:59:33.825		p: 26113
12:59:33.825		name=EDIT STAGE
12:59:33.826		v
12:59:33.826		.
12:59:33.826		p: 26729
12:59:33.827		name=TRANS INTERVAL
12:59:33.827		v
12:59:33.827		.
12:59:33.828		p: 27328
12:59:33.828		name=# OF DOUBLES
12:59:33.828		v
12:59:33.829		.
12:59:33.830		p: 27761
12:59:33.830		name=CURRENT EDIT
12:59:33.831		v
12:59:33.832		.
12:59:33.833		p: 28381
12:59:33.833		name=DBL INTERVAL
12:59:33.834		v
12:59:33.835		.
12:59:33.835		p: 28979
12:59:33.836		name=DBL MIDI CH
12:59:33.837		v
12:59:33.837		.
12:59:33.838		p: 29608
12:59:33.839		name=STAGE REPS
12:59:33.840		v
12:59:33.840		.
12:59:33.841		p: 30181
12:59:33.842		name=NOTE VELOCITY
12:59:33.843		v
12:59:33.844		.
12:59:33.844		p: 30794
12:59:33.845		name=TEMPO MOD
12:59:33.846		v
12:59:33.847		.
12:59:33.848		p: 31378
12:59:33.848		name=TEMPO MOD CTLR
12:59:33.849		v
12:59:33.850		.
12:59:33.851		p: 31993
12:59:33.851		name=DURATION MOD
12:59:33.852		v
12:59:33.852		.
12:59:33.853		p: 32580
12:59:33.853		name=DURAT MOD CTLR
12:59:33.854		v
12:59:33.854		.
12:59:33.855		p: 33194
12:59:33.855		name=
12:59:33.855		v
12:59:33.856		.
12:59:33.857		p: 33457
12:59:33.858		name=
12:59:33.859		v
12:59:33.859		.
12:59:33.860		p: 33993
12:59:33.861		name=CLOCK
12:59:33.861		v
12:59:33.862		.
12:59:33.863		p: 34537
12:59:33.863		name=BPM
12:59:33.863		v
12:59:33.864		.
12:59:33.864		p: 35115
12:59:33.864		name=NOTE PULSE
12:59:33.865		v
12:59:33.865		.
12:59:33.865		p: 35678
12:59:33.866		name=DURATION 16THS
12:59:33.866		v
12:59:33.867		.
12:59:33.867		p: 36264
12:59:33.868		name=
12:59:33.868		v
12:59:33.869		.
12:59:33.869		p: 36799
12:59:33.870		name=
12:59:33.870		v
12:59:33.871		.
12:59:33.871		p: 37319
12:59:33.872		name=PEDAL E1 (64)
12:59:33.872		v
12:59:33.873		.
12:59:33.873		p: 37644
12:59:34.037		loadLua debug output:
12:59:34.038		---- START ----
12:59:34.044		loadLuaModule: Lua extension file initialized: file=ctrlv2/p000.lua
12:59:34.047		----- END -----
12:59:34.050		lua: function onClock does not exist
12:59:34.051		lua: function onStart does not exist
12:59:34.052		lua: function onStop does not exist
12:59:34.053		lua: function onContinue does not exist
12:59:34.054		lua: function onActiveSensing does not exist
12:59:34.055		lua: function onSystemReset does not exist
12:59:34.056		lua: function onTuneRequest does not exist
12:59:34.057		lua: function onProgramChange does not exist
12:59:34.058		lua: function onAfterTouchChannel does not exist
12:59:34.059		lua: function onPitchBend does not exist
12:59:34.060		lua: function onSongSelect does not exist
12:59:34.061		lua: function onSongPosition does not exist
12:59:34.062		lua: function onControlChange does not exist
12:59:34.063		lua: function onNoteOn does not exist
12:59:34.064		lua: function onNoteOff does not exist
12:59:34.064		lua: function onAfterTouchPoly does not exist
12:59:34.065		lua: function onSysex does not exist
12:59:34.065		lua: function onMessage does not exist
12:59:34.066		switchPage: Page switched: page=1, controlSetId=0

One minor bug (maybe).

I don’t see the MIDI 1 In, MIDI 2 In text lighting up across the top of the Electra One when I am sending data to it. Are these supposed to indicate raw activity at the port, or only light up on successful recognition and processing of incoming data?

beta.electra.one web app has just been updated. It is a large collection of changes based on the feedback from users. Also, this update brings more flexibility and makes addition of new features easier (in the future I mean).

beta.electra.one requires firmware 3.0-a.22 and higher.

the most important changes:

  • fully compatible with fw 3.0
  • cleaned up user interface and preset building workflow
  • default colour and message type for newly added controls
  • actions executed on selected controls (copy, cut, change colour, delete, more to be added…, suggestions?)
  • page previews
  • reordering of pages with drag and drop
  • tools pane (the right side of the screen) with Lua editor and log viewer (for easier process for developing Lua). Note for now fullHD or higher resolution is required.
  • advanced VisualStudio Code style editor for Lua
  • multiple colour palettes supported

Please note, there is still stuff to do. Especially regarding snapshots. This, however, is getting the public release of FW3 very close. I am going to review all recent issues reported here and fix them. I am sorry for slow communication. The update of the web app kept me very busy.

3 Likes

Oh My God !
You literally transcended the GUI.
It looks so great ! :star_struck:

The update of the web app kept me very busy.

… really ? I guess i know why … :joy:
Congrat !!! :partying_face: :tada: :tada: :tada:

1 Like

i installed the new fw. all color is gone. everything is gray.


1 Like

can you send me a link to the preset? (as PM) Thx!

waauw @Martin, you’ve been busy :grin:
I’ll immediately give it a parsing test :crossed_fingers:

1 Like