Snapshots in the Lua Extension API

I’m trying to write a Lua script that loads snapshots based on incoming MIDI Program Change messages. The idea is simple: when a Program Change is received on the correct Channel, the script finds the snapshot ID (with some logic around the snapshots that allow morphing) and loads that snapshot.

I didn’t find snapshots in the API reference, so i tried calling “preset.loadSnapshot(snapshotId)” and “snapshot.load()” but that doesn’t seem to be public / available.

I would really love to see this.

These functions do not exist (yet) :slightly_smiling_face:. All available functions are listed at docs.electra.one. I plan to add functions for working with snapshots and captures in the future.

However, snapshots can already be recalled using Program Change messages. When MIDI Control feature (in Settings) is enabled and properly configured to listen on a specific interface/port, the following rules apply:

  1. A Program Change within Bank 0 (CC #0 0) switches the current Electra One preset.
  2. Banks 1 to 12 (CC #0 1 to CC #0 12) activate the corresponding snapshot bank.
  3. A subsequent Program Change (1–36) loads the snapshot. The numbers shown in the top-left corner of the snapshot slots correspond to the bank and Program Change numbers you can use.

The upcoming firmware version 4.0.1 extends this functionality so that the Electra CTRL port will be able to process these messages without requiring MIDI Control to be configured.

This is cool! I will give it a try!