GrandMA Version 1 Command Line Interface implemented in Java

Due to … massive … request I took the chance and did a major overhaul of my post about the GrandMA remote command line from a few years ago. Back in the days I pulled together a quick ‘n dirty version which somehow worked and caught some interest but never really became more than a proof of concept.

 

tl;dr: This program provides a remote command line to a GrandMA Version 1 lighting desk (console or onPC). Since it’s implemented in Java you can basically run it from every computer that you have at hand ( yes: even a Raspberry PI ). Having a command line proved to be quite handy especially when you are setting up a show from scratch. It is simply faster to issue the command “fader 1.1 thru 5.10 at 0” than to manually set 90 faders to zero (or -god forbid- use a mouse to do this on the onPC-version without a touchscreen).

 

 

I’m a little late on that topic: Meanwhile ( meaning: a few years ago ) the GrandMA Version 2 has been released and it incorporates a native Telnet interface. This somehow makes my version obsolete but … people asked for it and I owe it to myself, I think.

Continue reading

Improving the stability of the TCPSClient

This script is quite helpful when you want to run the TCPSClient (beta 3) somewhat completely unattended.

If the program hangs up, fails or anything doesn’t work as expected the CPU load increased drastically. This is taken as an indicator and the TCPSClient will be terminated and restarted.

!/bin/bash
PROCESSNAME=TCPSClient.bin
CPU_USAGE_THRESHOLD=1010
declare -i MULTIPLIER=10

killall -v $PROCESSNAME
sleep 3
while true; do
	if ps ax | grep -v grep | grep TCPSClient > /dev/null 
	then
		CPU_TEMP_USAGE=$(top -bn1 |grep TCPSClient | awk -F' ' '{print $9}')
		CPU_USAGE=$(echo "scale=2;$CPU_TEMP_USAGE*$MULTIPLIER"|bc)
		CPU_INT=${CPU_USAGE%.*}
		if [ $CPU_INT -gt $CPU_USAGE_THRESHOLD ] ; then
			echo KILLING
			killall -v $PROCESSNAME
			sleep 3
		fi
	else
		/home/pi/TCPSClient/TCPSClient.bin &
		sleep 3
	fi
done

 

This is one of the very few Linux scripts I did. Be gentle. Feel free to contact me if there are questions, suggestions, etc.

Thekenmeldesystem

Im Auftrag eines Kunden habe ich ein Thekenmeldesystem entwickelt und gebaut.

Ziel ist es, in einer Diskothek von mehreren (bis zu 10) Theken aus an zentraler Stelle Meldungen absetzen zu können (Ruf nach Security, Geschäftsführung, etc). Meldungen sollen durch einen Text und farblich entsprechendes Blinken auf einem Bildschirm dargestellt werden. Zum Beispiel: Rotes Blinken + Name der Theke, wenn es darum geht, die Security zu informieren. Für den Fall, dass von keiner Theke eine Meldung kommt, sollen Animationen abgespielt werden (Veranstaltungshinweise etc). Die Texte, Farben und Videos sollen vom Kunden angepasst werden können. Das Ganze soll Luft nach oben haben: Erweiterung um den Anschluss an ein Bussystem, mehrere Monitore, Ethernet, etc .. .

Continue reading

TCPSyphon

<TL; DR> I’ve built a TCPSyphon Server myself in Java and tried to circumvent some of the flaws of the original Version </TL; DR>

 

Maybe you heard about Syphon. “Syphon is an open source Mac OS X technology that allows applications to share frames – full frame rate video or stills – with one another in realtime” (Link). It was originally intended to only work locally and not be shared between different Hosts on a Network. Fortunately someone took care of this and built a set of applications to share “Syphon data” between multiple Computers. Actually it doesn’t: It renders local Syphon data into single images (jpeg, for example), applies a compression and sends them over the network. Anyways, this is one of the applications you don’t get around as a VJ. You just HAVE to have it: TCPSyphon.

The person behind the TCPSyphon-apps also built a client for the Raspberry Pi. The TCPSClient. Now things become really interesting.

Continue reading

Syphon to RTMP

This idea caught me a while back and it took quite some effort to rebuild it from the leftovers a few days ago. Kids don’t forget: The only difference between noodling around and being a true specialiologist (they don’t call me “Doktor Andy” for nothing) lies in a reusable form of documentation. Fortunately I got this website. What would I do without it.

<TL; DR> video from Mac to Raspberry via network</TL; DR>

The approach uses Syphon, Open Broadcaster Software (obs), nginx and Omxplayer. I guess this ain’t too revolutionary. Using RTMP is quite a common task to distribute video. But it’s a good idea to have it all written down at least once. Furthermore I couldn’t find any kind of writeup like this covering this topic so … it’s okay.

Continue reading