Hallo miteinander,
ich möchte gerne mit euch mein sich in der Entwicklung befindende Kernel-Plugin für DMXControl 3 teilen:
MyKLC - My Kernel Lightning Control
Was macht es?
Über eine UDP Socket gestützte Verbindung ,durch Hinzunahme der jeweils verfügbaren Message Actions, kann eine entsprechende Funktionen im Kernel aufgerufen und verarbeitet werden. Je nach Aktion erfolgt zudem eine Antwort zurück an den Client.
Das Plugin arbeitet mit vorhandenen Projekten, welche zuvor entsprechend aufbereitet wurden.
Disclaimer
Zum einen aus Gründen der Transparenz, aber natürlich auch zur Möglichkeit Input seitens der eigentlichen UrheberInnen der genutzten Programm-Ressourcen zu erhalten (natürlich gerne auch andere Plugin-EntwicklerInnen), ist der Code auf GitHub einsehbar.
Das Repository: https://github.com/Wampe/MyKlc
Noch ein paar Entwicklung- und Projektspezifische Anmerkungen:
- Der initiale Codestand kann gebaut werden.
- Die bisher zur Verfügung stehenden Aktionen sind auch funktional.
- Die Anzahl der Aktionen ist zu Anfang natürlich noch sehr dürftig. Hier kommt es aber auch darauf an welche Funktionen (je nach Client) überhaupt zur Verfügung stehen könnten/sollten.
Momentan entwickle ich primär für meinen geplanten Workflow. Vorschläge zur Erweiterung sind aber definitiv willkommen. - Versionierung und Release erfolgen momentan noch manuell. Sollte bei Zeiten schauen, dass ich einen automatisierten CI/CD Prozess aufgesetzt bekomme.
Wieso überhaupt das Plugin?
Nachdem ich mich in DMXControl eingearbeitet und auch andere verfügbare Plugins evaluiert habe, kam ich zu der Erkenntnis, dass ich meinen angedachten Workflow mit den eigentlichen Bordmitteln (sowie verfügbaren Plugins) zum jetzigen Zeitpunkt nicht umgesetzt bekomme. Das ist absolut wertfrei gemeint. Nur weil ich bestimmte Funktionen einer Software nicht nutze(n kann), ist diese deshalb nicht schlecht. Zudem kann sich dies in Zukunft ändern, mit neuen Versionen (mit neuen Features, Anpassungen etc).
Bei mir ist es jedenfalls so, dass zum jetzigen Zeitpunkt Executer, Softdesk als auch Input Assignment (welche alle für sich gesehen wunderbare, starke Features sind) mir nicht dienlich sind, meinen angedachten Workflow optimal umzusetzen. Was mir zudem momentan in DMXControl 3 fehlt, ist quasi eine CueList-List bzw. CueList-Playlist-Funktion, in der ich CueLists (ggfs. auch mehrfach) hinein legen und dann nach bestimmten Kriterien ablaufen lassen kann. Aber das ist alles nicht wild, denn das wird in einem entsprechenden eigenen Client-Tool von mir berücksichtigt (und wieso dadurch auch eben dieses Plugin geboren wurde).
Vom Gerätemanagement bis hin zum Aufbau der gewünschten Lichtszenen, in Verbindung mit den grandiosen Gruppenfunktionen, wird mir DMXControl 3 (vor allem der Kernel) daher wunderbar behilflich und dienlich sein.
Welcher Workflow eigentlich überhaupt?
In meinen Livestreams, in denen ich Schlagzeug spiele, kann – nein möchte – ich nicht proaktiv auf das Licht eingehen. In Relation zum jeweiligen Musikstück, soll eine von mir vordefinierte Reihenfolge an CueLists (auf Timecode Basis und an das Plugin gesendete Trigger) abgespielt werden. Welche CueList zu welcher Zeit dann aufgerufen und gestartet wird, erfolgt auf Basis einer Playlist im Client. Das jeweilige Musikstück ergibt sich zudem auf Basis eines Song Requests, welcher von einen Dienst im Internet aus geladen wird. Daher verfolge ich das Ziel, Musik (die notwendigen Audiodateien also) sowie die dazu gehörende Licht-Playlist, mit einem Mausklick zu laden und abzuspielen.
Evtl. wird durch diese Ausführung auch etwas klarer, wieso ich angefangen habe das Plugin zu entwickeln. Sollte sich im weiteren Verlauf ergeben: „Jung, das geht wunderbar so und so...“ kann ich auch wunderbar damit leben, wenn das Repository dann nur noch ein Dasein als aktuelles Beispielprojekt hat, für die Entwicklung eines Kernel Plugins.