External Development Environment/IDE Compatability

The LUA editor is good, but I’d really prefer my IDE for editing, saving changes to git, etc.

I think there’s a workflow where you push files directly to E1, but I suspect that has some drawbacks.

Is there a way to have the web Lua editor stay in sync with a file (files?) that you edit externally? OK with a button that updates from the files system (but a watcher that sees the timestamp change would be better). IIRC, the project stores lua code as a json string.

Would be great to have something that the IDE can use for completion and linting of the E1 lua library calls in user code. Suspect the simplest thing would to have a local copy of the lua library source code (or some filtered version of that). Is that available?

That all said, there are some improvements that would make it the current code editor. I should probably file some bugs/feature requests there.

2 Likes

I’d love that, and an electron preset editor app with optional authentication for offline use.

I am working on a CLI, that among other things, could upload files (preset JSON, Lua) from a directory. The plan is fot the CLI to be able to do everything that the Electra exposes with its SysEx API.

I’m not ready to share the project yet, but it is coming sooner le later.

1 Like

My thinking on this is little bit different. I can imagine having an extension for existing IDEs that would allow communication with the controller and preview of the presets. It may be easier to develop than it sounds. I considered that option at the very beginning of the project, using git repo as the project storage. I eventually decided to make an “arduino” style, easy to use online editor since it would be easier to use to non-devs.

Electra firmware already supports multiple file lua scripts, shared modules, and even debugging. I will be adding this functionality to the online editor - but ofcourse, an IDE intergration would probably allow to implement those features at no extra work.

To be honest, I do not have capacity to start working on it. I do, however, publish all the SysEx calls that E1 supports on the https://docs.electra.one. The online editor and the preset browser use only the calls described in that documentation, there is no hidden magic.

This is actually very close. An electron app running on my computer:

The direction I am heading:

  1. the Editor running fully offline and run as native application
  2. using my own MIDI implementation instead of webmidi
  3. the Account, ie. preset browser, sharing, etc. staying a web service with an authentication

As with the mk2, I am working on having all the controller configuration on the mini controller too.

2 Likes