SPIT-Protokoll

Für eine Show ist es manchmal notwendig, dass mehrere Gewerke (Licht, Sound, Medien, Animationstechnik, Tontechnik...)  zusammenarbeiten.
Jedes Gewerke wird eine eigene Steuerung/Software verwenden. Bislang war das Zusammenspiel zwischen den Steuerungen/Software nur über MIDI oder über einen Timecode möglich.
Das SPIT-Protokoll bietet eine zusätzliche und für den Anwender einfachere Möglichkeit, Aktionen zeitgenau zu synchronisieren und zu planen. Aber auch vorhandene Techniken, z.B. MIDI, lassen sich etwas freier in das Zusammenspiel der Gewerke integrieren.
Die Software liveSHOW_MIDI (siehe Downloads) und die Requisitensteuerung sind Anwendungsbeispiele für das SPIT Protokoll.
 

SPIT Protokoll

Die Idee

Eine Steuerung / Software (z.B. die liveShowSoftware) übernimmt die Rolle eines SPIT-Servers. Mehrere Clients (z.B. eine Animationssoftware, Mischpult...) können sich an dem SPIT-Server über das Netzwerk (UDP Protokoll) anmelden. Voraussetzung ist, dass alle das SPIT-Protokoll implementiert haben.

Sowohl auf dem SPIT-Server, als auch auf dem SPIT-Client können Trigger erzeugt werden. Die Trigger werden über den SPIT-Server an alle SPIT-Clients verteilt.
Im SPIT-Client können einem oder mehreren Triggern Aktionen zuweisen werden. Wird ein Trigger vom SPIT-Server abgespielt, so werden alle SPIT-Clients benachrichtigt und können die dafür festgelegte Aktion ausführen.

Spit-Trigger sind reine Nachrichten, die mit einem sprechenden Namen versehen werden. Zusätzlich beinhalten sie weitere Informationen über den Fadezustand, die aktuelle Spielzeit, den maximal einzustellenden Wert, die Dauer etc.
Somit bieten die Spit-Trigger eine freie und benutzerfreundliche Möglichkeit Nachrichten an eine andere Software zu senden. Es müssen keine komplexen Byte-Codes oder Zeiten ausgetauscht werden. Dies macht die Programmierung einer Show wesentlich verständlicher und es werden Fehler vermieden.

Beispiele für SPIT Clients: liveSHOW_Midi und RaspberryPi Requisitensteuerung.

SPIT Protokoll Beschreibung

SPIT Protokoll deutsch

SPIT_Protocol_english

C++ SPIT Client

C++ Source Dateien für SPIT Client. Die Dateien können als Vorlage für eine eigene SPIT-Client-Programmierung verwendet werden. Sie dürfen die Vorlagen frei, ohne Einschränkung verwenden und verändern.

Geeignet für Windows, Mac und Linux.
Für die unterschiedlichen Betriebssysteme müssen Sie in der Datei _SPITMACROS.h die Kommentare ändern.
Die MyApp Klasse können Sie direkt als Vorlage für Ihre eigene App verwenden.
Getestet wurde der Code unter Windows (gcc und VS2015), unter MAC (gcc) und unter Linux Raspberry Pi 4 Raspbian (gcc).

Kommentare:
Unter Raspbian / Linux

  • Zusätzliche Linker Optionen: -lpthread -luuid
  • Es muss eventuell uuid-dev installiert werden (sudo apt-get uuid-dev)

Java SPIT Client

auf dem Rechner muss Java installiert sein.

Der SPIT_TestClient ist ein ausführbares Java-Programm.

SPITLibrary_TestClient_NetbeansProject ist der Source Code für den SPIT_TestClient.
In der zip-Datei befinden sich zwei Ordner:

  • SPITLibrary, hier finden sie Java Klassenbibliotheken zur Realisierung eines SPIT Clients
  • SPIT_TestClient ist ein Test Client, der die SPITLibrary verwendet.