Ableton Live MIDI Remote Script / Control Surface

Ah, I thought I was specifically told not to :upside_down_face:

Such a trivial error, now it’s working great! Off to explore…

Thanks for the help and hard work <3

I see how the README could be misunderstood; I’ll update it.

1 Like

I struggle to know how much I can change the e1 preset. I’ve moved rows of parameters to other pages and vice versa, by cutting and pasting the elements. As far as I can see, no other change has been done to the elements.
All parameters in the original preset still exists but on other pages. Re-organizing.

But the E1 now crashes everytime one of the newly moved parameters are modulated; having to restart both E1 and Live.

So I guess I can’t move stuff around.

I also confused how to add more tracks without having to start mapping (?) I can’t duplicate them either, can I? Where is all the data about what midi cc id the mappings that are not visible in the Midi Mapper in the browser, like the connections with the channel eq? I can’t find them anywhere.

I assume you mean the mixer preset for the remote script? You should be able to move controls around, and this should not crash the E1. BUT: make sure you edit the Mixer.eproj (or Mixer.alt.eproj) in the web editor, and upload the edit to the correct slot (first slot, last page). This ensures also the associated LUA is uploaded.

You do not need to manually map controls if you want to control more tracks: the mixer preset has two buttons (lower left side) to move to the next (or previous) five tracks. The channel EQs are also automatically mapped.

I’m on Ableton Live 12 public beta test; I can say it’s working nicely with this remote script and my E1-mkI
(afternoon jamming and will give it more use in the future :wink:
Great work @jhh !!

Happy to hear it appears to work on Live 12 as well!

1 Like

Is there a way to move the currently selected device to the previous or next device in the device chain via E1? I can achieve that by clicking the left and right key on my keyboard, but I thought it would be really cool if I can do it on E1 as well.
Thank you!

This is on my list of future features :wink: Stay tuned!

1 Like

Hi there,

I’m in the process of integrating a preset for the madrona labs Aalto synth. As a first step, I’m trying to edit and add the auto-populated preset generated by the remote script by following the instructions in the “adding presets readme”.
I place the dumped .ccmap file as well as the modified .epr file into ./preloaded, but cannot execute “makedevices” sucessfully. The path to “default.lua” seems to be a problem, even though it’s located in the ElectraOne root folder. What am I doing wrong?

Another question - what would be necessary steps to include an existing E1 preset like the Aalto preset by Republique Sonore (see: Electra One App) ?
From my understanding it would require to first dump the .ccmap for the plugin device and then editing CC values in the .epr of the existing E1 according to the .ccmap values. Then proceed the same way as in my (right now failing) first step. Am i right? Are there some important things to consider?

Thank you very much!

You need to run makedevices in the folder where the default lua script is located. I.e. first do cd /Users/gododd/Music/Ableton/User\ Library/Remote\ Scripts/ElectraOne and then run ./makedevices. I’ll update the script to create more meaningful error messages.

Regarding the second question: this is indeed the best way forward. It ensures you have all the parameter names (provided you have configured the plugin in Live to expose all relevant parameters) with the correct MIDI CC settings. Editing the CC mapping in the .epr is a bit tricky though: you need to correctly set the controller type, and also make sure the 7-14 bit assignment is done correctly. Also, the defaultFormatter function must be set correctly. It might actually be safer to edit the .epr file created by the dumper, using Republique Sonore’s preset as a guide/example.

1 Like

Thank you for the quick reply. “makedevices” worked now and the device was successfully added to “devices.py”. But it’s not working yet. I followed the workaround instructions andplaced the plugin in an instrument rack, saved the instrument rack as the plugin name. I get two dumps: “Aalto” (supposedly the rack) and “Aalto-” (the plugin itself?). I uploaded and modified “Aalto-” with the E1 editor and put it into ./preloaded. Should I have named it “Aalto” instead?

Hm… that should have worked (the remote script should use Aalto- for the name of the preset to lookup when selecting the plugin within the rack. Note: you need to select the plugin itself, NOT the rack in which you put it (if you do that, it should just show you a preset with macro’s on the E1)

1 Like

Also, you need to restart ableton to reload the contents of Devices.py

1 Like

Hi @daugava, i also just bought an E1 and was working on a preset for Aalto based on the one from Republique Sonore. I was able to make it work so I thought I would share what I did:
0. expose all parameters you want to control in aalto to ableton. like this:
Screenshot 2024-01-05 at 16.45.23

  1. change the MIDI channel in the aalto-.epr to 11 - just open the file as a text file and change “channel”:1 to “channel”:11
  2. make aalto-.ccmap file to all the paramters
  3. put aalto-.epr and aalto-.ccmap to preloaded file
  4. run the makedevices script

I am attaching my files so you can try them out. I’ve only mapped the first 2 pages of the parameters to ccmap though. Also some parameters with a very long name doesn’t work yet (they are clipped in ableton live). I need to find out their actual names.

Archive.zip (4.7 KB)

1 Like

Thank you for this remark. It did the trick! I was thinking that de/reselecting the Control Surface in the Ableton preferences would be enough to reinitialize everything :see_no_evil:

Wow that is great! Thank you very much, maybe I can contribute to finishing the thing once I understand the whole process better.

1 Like

Sorry for flooding this thread, but I encountered another situation I cannot resolve.

I have a Waldorf Blofeld connected to the E1 usb host port and am using the beautiful Blofeld Preset by NewIgnis on Bank2 to control it.
I also use Ableton Live in combination with the E1 Remote Script as my DAW and am sending MIDI via E1 port 1 to the Blofeld to play it.
Apparently, the Remote Script is mapping the “Send-B” knob in Live to the same CC value as the “Osc Tune” parameter in the Blofeld preset. This yields the situation that manipulating the “Send-B” knob in Live also changes the oscillator tune value in the Blofeld preset.
I was fiddling with the routing options in the E1 Web editor and disconnecting Midi I/O → USB Host and USB Device → USB Host blocks the midi transmission to the Blofeld, but the E1 preset was still receiving the Midi data from “Send-B” knob. So I figure this routing happens within E1 between the presets in different banks? Is there a way to prevent that?

Unfortunately, as far as I know there is no way to address specific MIDI messages to specific devices other than using the MIDI channel. In other words, to resolve this conflict you either have to change the Mixer preset to use another MIDI channel (don’t forget to change the appropriate constants in config.py as well), or the Blofeld preset.

Thank you! I was unaware that the different parts of the mixer have different MIDI channels assigned. The default Sends channel happens to be the same as the Blofeld preset channel. I will change that.

@jhh on my machine it takes much longer to load my custom preset like the attached one than the predefined ones. Sometimes it takes around 5-10 seconds to load and sometimes it takes a few minutes to load. Do you know what could be the potential cause for this?
Archive.zip (4.7 KB)