Foxdot livecoding Jam - testing our new collaborative web-based code editor WebTroop.

Опубликовано: 21 Февраль 2026
на канале: Crash Server
243
20

We are currently developing a new collaborative livecoding interface to replace our Troop which is getting old.
Since the beginning of CrashServer we have been using Troop which is a Python program that allows several people to play on the same document. It sends instructions to the desired musical livecoding languages ​​such as Foxdot, Tidal, Supercollider, ...
Although we use it during all our lives, it has some limitations and bugs. It is no longer maintained, did not manage large documents well and bugged during multiple copy/pastes.

We decided to develop a new interface entirely in the browser that replaces Troop. The specifications are at least those of Troop, namely a single collaborative document for participants and the sending of instructions to FoxDot.

We based ourselves on the CodeMirror v5 library and Node.js for the back-end. We also integrated our CrashPanel into the interface which gives us valuable information when we play. The communication between the different elements is done in Websockets and allows us to retrieve information for our software managing the visuals (Cables.gl at the moment)

Here are some of the features:
choice of different themes and fonts
autocomplete with list of foxdot functions, list of synthesizers and loops
display and coloring of logs
display of important information in the crashpanel: cpu, bpm, scale, root, game time, beat counter, random suggestions, list of active players (with the possibility of stopping them by clicking on them), help display, server status and modification of the interface color according to the CPU load
a chat to discuss between players
a display of the current line of the other player to be able to synchronize and know what the other is doing.
a jump to the other player to join him quickly.
a tool-tip display of help information on FoxDot functions.
and many other things to discover.

This is a version still in testing but it seems stable enough to use it live. It is quite specific to our style of play with many functions for our live use but if it interests people we can make a port for FoxDot/Renardo.

Do not hesitate to leave a comment.