Monthly report CrashServer March 2022

MARCH 2022 - Monthly report !

Endl; while :live || << pipe the dream.

Crash Panel

The idea came while watching the streams of Alog10 where [Neirdap], a french musician using Foxdot modified the interface to show subdivisions of the clock (n/8,n/16,n/32,…) enhancing the available beat counter.

First, we tested the modification in Foxdot. It’s quite easy, find the place where the beat counter is displayed and display the different modulos of Clock.beat. However, our focus was to display this in Troop, in order to be able to synchronize the sending of our lines on the good beat.

In order to get Troop/Foxdot compatibility, we decided to create a separate program displaying all useful information during a live. This python program uses tkinter for the display and the OSC3 module (the one from Foxdot) in order to share information.

The feature is called “Crash Panel” (obviously); it shows in real time : the current bpm, multiples of the current beat (8,16,32,64,128), the current active players, the output of help functions like the list of loops, synths, fx,… and as a bonus the “Plat du jour”.

The “plat du jour” could be seen as a incentive or more so, a suggestion to have fun with the value displayed. It’s absolutly optional. It’s the machine interfering with your mind. Take it or leave it. It may be a word, a number, a pattern, a synth, a loop, a scale or even a function.

This is all still beta. Still, we loved using those functions during our latest live show and it improved the way we played together at our last gig. It’s extra helpful information and as we’re already quite busy doing other stuff, synching with some knowledge on the present beat it amazingingly helpful. Beeing able to nod your head or whisper “32” during a live set adds quite a lot to our ability to synchronise and prepare breaks, transitions and what not.

We will release the source code soon so you can have fun too !

Crashpanel show foxdot troop information

Always flush !

Some silly annectdote. But who knows it might help someone !  While trying to debug our open frameworks code, specifically the code part managing our arduino and leds outputs we noticed some increasing lag in our signal processing. At some point, messages weren’t even sent anymore. We tried a few things, from switching protocol, looking at our arduino code and so on… In the end it’s a matter of flushing the serial after writing bytes ! Simple solutions sometimes are surprisingly elusive sometimes !


if (message!=""){
if (*msgType == '#'){ // player 1
serial.writeByte('g'); // send arduino
serial.flush();
cout << "\033[32mSVDK : \033[0m" + message.erase(0,1) << endl;
}

By the way there is some ANSI codes in there, we might get back to that later on !

HUB NEWS

Our hub is ever growing larger. We spent sometime making a new map [article], there is also a New expo room available [here], and our blog article about it lives [here]. As our 1 year anniversary of our album REISUB will tale place soon, we might have a big surprise in that regard. 

In the mean time, here are a few new assets populated our present and future hub. 

 

Live stories

Amongst others, here are some reports to the last concerts The first one in Mulhouse France at the Maker Fight, featuring combat robots !  [on this dedicated article].

Also, a streamed concert for Algorave’s anniversary [ article ].

crashOS

Our work towards a stable and functional CrashOS is well on it’s way. Actually to be clear about what crashOS is and will be, it’s actually regrouping three distinct elements:

1. CrashOS (a “real” OS)

Based on a custom debian package, this is a lightweight system with all the preinstalled packages required to live code, hack away and so on. I won’t get too in  depth on this subject as that went forwards mostly in march, thus subject for next time. 

2. CrashOS mini – An openframeworks based app and works in tandem with a terminal output of our code. OF mostly triggers lights/leds via arduino, sends and receives osc messages. This linux application is extremly lightweight and allows us to have a functionnal audio visual setup. Perfect for on the fly concerts, especially in places where video projections are not an option. 

3. CrashOS – Our openframeworks full interface
The main cause of our brain melting the last few months. We’re still ironing out the quirks but basically it’s an interface, with crashOS mini features (led, arduino) but with a full visual UI, allowing to display video, attack and destroy 3d meshes. It also allows us to control DMX enabled hardware. 
Currently it accepts videos, and obj meshes but could be expanded to do more stuff. 
We also display in there all the code we write in foxDot/Troop and seperated our code from the one we write.