Electra One — widgets et plugin
Bibliothèque de widgets Lua pour le contrôleur MIDI Electra One, et plugin Claude Code pour les développer sur l'appareil.
actif dernière modification 28 septembre 2026 licence MIT
Les presets de l’Electra One n’offrent que des faders, des potentiomètres, des pads, des listes et des enveloppes ADSR ; ces deux dépôts ajoutent le reste en Lua (pads XY, séquenceurs pas à pas, oscilloscopes, visualisations de LFO) et l’outillage pour le mettre au point sur l’appareil. Leur limite principale : depuis le 28 septembre 2026, les neuf widgets animés s’appuient sur l’ordonnanceur schedule.* du firmware 5.0.0f, encore en bêta, alors que le plugin a été mis au point sur le firmware 4.1.4.
La démo tourne dans le navigateur : l’émulateur exécute le Lua des widgets sur un écran de 1016 × 560, celui de la MK2.
Un widget est un dossier, le plugin est l’atelier
Chaque widget vit dans widgets/<nom>/ : le code (widget.lua), un preset qui le charge tel quel (demo.preset.json), une capture et une note d’intégration. La galerie en montre 21 : 10 construits sur un thème et des primitives communs (lib/theme.lua, lib/primitives/), 11 repris de widgets partagés sur le forum d’Electra, avec leur auteur.
Le plugin electra-one-mcp sert à les développer depuis Claude Code, l’appareil branché en USB : envoyer un preset, exécuter du Lua sur l’appareil et lire ce qu’il imprime, écouter ses événements, rapatrier un preset dans le dépôt.
Commencer
Sans appareil : ouvrez l’émulateur, choisissez un widget, touchez-le à la souris.
Avec une MK2 : prenez le demo.preset.json d’un widget et envoyez-le depuis l’éditeur web d’Electra, ou par le plugin. Dans Claude Code :
/plugin marketplace add roomi-fields/claude-plugins
/plugin install electra-one@roomi-fields
Il faut Python 3.10 ou plus récent et le SDK MCP (pip install -r requirements.txt dans le dossier du plugin). Après redémarrage, l’outil push_to_device(preset_path="widgets/step-seq-16/demo.preset.json", bank=0, slot=0) envoie le preset et vérifie chaque accusé de réception.
Ce qu’ils font
- Les widgets : pad XY, séquenceur de 16 pas, liste de 16 notes à la manière du Waldorf Q, égaliseur trois bandes, vumètres, LFO en cube, panoramique spatial, enveloppes multiples, métronomes.
- Pousser vers l’appareil :
push_to_deviceconvertit le format du dépôt vers celui que lit le firmware, sépare le Lua et l’envoie en cinq étapes vérifiées. - Inspecter :
execute_luaexécute un extrait sans l’enregistrer et rend sa sortie ;device_staterend la banque, l’emplacement et la page courants. - Rapatrier :
pull_presetredescend preset et Lua, reconvertis au format du dépôt, prêts pour ungit diff. - Chercher dans la documentation : les 79 pages de
docs.electra.oneen local, 180 fonctions Lua, 62 commandes SysEx, 17 pièges constatés sur l’appareil.
Vingt outils en tout, listés dans le README du plugin.
Où ils en sont
La bibliothèque a été migrée vers le firmware 5.0.0f le 28 septembre 2026, et ce qui a été mesuré sur ce firmware est consigné dans V5_FINDINGS.md. Un octet non ASCII dans le Lua (un signe degré, un bémol) rend l’envoi invalide, sans aucun message de l’appareil : ni accusé, ni refus, ni journal. Pas encore couverts par le plugin : la capture et la relecture MIDI, et les instantanés.
Widgets · Plugin · Galerie · osc-bridge
Merci à l’équipe d’Electra One, Martin Pavlas et Thomas Moravansky, pour l’appareil et son interface Lua documentée ; aux auteurs des widgets partagés sur le forum ; à xot/ElectraOne, johnnyclem/electra-one et elliotwoods/simularca-electra-one-plugin, qui ont servi de référence pour le protocole SysEx.
Fabrication. Claude Code (Claude Opus 5.5), à partir du dépôt, de son README et de ses notes de version. Méthode