LibertyStick - WLED-Pixel-Tube DDF für DMXControl erstellen
17.04.2024 erstellt
18.04.2024 editiert
Hier beschreibe ich, wie ich eine DDF-Datei erstelle, mithilfe von Excel und den Tabellen (Effekte und Palletten) von der WLED-Webseite.
Was ist DMXControl?
DMXControl ist eine DMX-Steuerungssoftware, mit der man sehr komplexe Bühnenlichtsteuerungen umsetzen kann. Alle DMX-Geräte werden in der Software angelegt und können Gruppenweise angesprochen, mit Bewegungsabläufen, Farben und Effekten programmiert werden.
Folgende "Features" machen DMXC für mich zur Software der Wahl:
- extrem Leistungs- und Featurestark
- H.A.L. Hardware Abstraktions-Layer (Erklärung weiter unten)
- unterstützt viele kommerzielle DMX-Interfaces von Hause aus
- sendet ArtNET "out-of-the-Box"
- OS2L-Plugin empfängt BPM/Beat-Informationen direkt von DJ-Software (VirtualDJ)
- kostenlos
- außerordentliche Community
- Stark netzwerkfähig, Licht und Ton können am selben Rechner laufen, Lichtsteuerung kann auch auf 2. Rechner ausgelagert werden - BPM/Beat-Info kommt trotzdem an
- Version 3.3 (RC2) unterstützt StreamDeck XL für Bedienung ohne separaten Rechner
H.A.L.
Software-DMX-Steuerungen arbeiten üblicherweise kanalbasiert. Das heißt, man legt Farben, Bewegungen , Gobos usw. jeweils auf den entsprechenden Kanälen der Geräte ab. Gerätegruppen können meist nur gleichartige Geräte beinhalten, da nur so sichergestellt ist, dass die korrekten Kanäle angesprochen werden.
Das Hardware-Abstraktions-Layer von DMXControl funktioniert anders. In DMXC patcht man die Geräte zwar genau so, wie in anderen Programmen - es wird aber so etwas wie ein Funktions-Layer darüber gelegt. Ein Moving-Head zum Bsp. bekommt verschiedene Funktionen zugewiesen: Dimmer, Farbe, Gobo, Pan/Tilt, Prisma usw. Die Software kümmert sich aber alleine darum, welches Gerät welche Funktion auf welchem Kanal liegen hat. So ist es möglich, ganz unterschiedliche Geräte verschiedener Hersteller zusammen in einer Gerätegruppe zu verwalten.
Wird bei anderen Programmen zum Bsp. ein Bewegungsablauf für die Geräte(gruppe) einer Art erstellt, muss die Programmierung oft neu ausgeführt werden, wenn sich z.Bsp. die Anzahl der Geräte ändert oder die Geräte umgepatcht werden.
Nicht so in DMXC. Hier werden alle Bewegungs-, Farb- oder Chaser-Szenen einer oder mehrerer Gerätegruppen zugeordnet. Die Ansteuerung der Geräte wird immer live berechnet. Egal ob heute 4 MH's auf der Bühne hängen oder morgen 12 ganz andere MH's am Bühnenrand stehen. Alle MHs befinden sich in der Gruppe und werden je nach Location einfach de- oder aktiviert. An der Programmierung ändert sich nichts.
ArtNET Steuerung per DMXControl - nicht ohne DDF
Jeder, der schon einmal eine Software-DMX-Steuerung benutzt hat, weiß, dass man spezielle Gerätedateien benötigt. Was bei Daslight die SSL-Files sind, sind bei DMXC die DDF's (Device Definition Files). Diese bestehen aus einer mehr oder weniger übersichtlichen XML-Struktur und sagen der Software, welche Funktion eine Lampe hat und auf welchem DMX-Kanal diese angesprochen werden müssen.
DMX-Kanäle für WLED-Leuchten
So wie die meisten kommerziellen DMX-Geräte unterschiedliche Kanalbelegungs-Modi mitbringen, sind auch in WLED unterschiedliche Modi möglich, welche am Gerät in der Konfiguration eingestellt werden kann.
Disabled
Incoming E1.31 packets will be ignored.
Single RGB
All LEDs are set to the same color. 3 Channels: Red, Green, Blue
Single DRGB
All LEDs are set to the same color. 4 Channels: Master Dimmer, Red, Green, Blue
Effect
Not a realtime mode & only support 1 universe. Allows setting WLED effect properties over E1.31 with 15 channels.
Effect + White
Same as Effect with additional whites = 18 channels
Effect Segment
Same as Effect with 15 channels per segment
Effect Segment + White
Same as Effect Segment including whites, so it uses 18 DMX channels per segment.
Multiple RGB
3 Channels per LED in sequence. LED 0 Red, LED 0 Green, LED 0 Blue, LED 1 Red, ... Default mode, equivalent to pre-0.9.1 E1.31. This is the mode you want to use for xLights and LedFx.
Multiple RGBW
Like Multiple RGB + additional white channels.
Dimmer + Multi RGB
Like Multiple RGB, but the first channel is a brightness control. Master Dimmer, LED 0 Red, LED 0 Green, ...
Preset
Trigger presets and control brightness. 2 Channels: Brightness, Preset ID
Mehr und jeweils aktuelle Infos hier: https://kno.wled.ge/interfaces/e1.31-dmx/
Kanalbelegung für "Effect" Modus
Theoretisch könnte man jetzt den Multi RGB Modus nutzen für jede LED 3 Kanäle für RG und B nutzen. Das hat aber den Nachteil, dass bei 8-12 Sticks mit jeweils 120 LED-Pixeln massiv viele Kanäle benötigt würden. Zusätzlich ist hier die Ansteuerung per WLAN m. E. nicht echtzeitfähig, wodurch Effekte nicht sehr schön fließend aussehen. Nebenbei hat man so keinen Zugriff auf die WLED-eigenen Effekte, um die es ja eigentlich geht.
Also nutzen wir den Effect Mode. Die 15 Kanäle lassen folgende Funktionen zu:
Effect mode (15 Channels)
Channel | Name | Beschreibung |
1 | Master Dimmer | 0 ... 255, Gerätehelligkeit 0...100% |
2 | Effect Mode ID | 0 ... 255, Effekt-Nummer |
3 | Effect Speed | 0 ... 255, Effekt-Geschwindigkeit |
4 | Effect Intensity | 0 ... 255, Effekt-Intensität, je nach Typ |
5 | Effect Pallette ID | 0 ... 255, Farbpallette, soweit anwendbar |
6 | Effect Option | 0 ... 63, normal 64 ... 127, reverse 128 ... 191, Mirror 192 ... 255, reverse & Mirror |
7 | Primary RED | erste Effekt-Farbe, R/G/B |
8 | Primary GREEN | jeweils 0 ... 255 |
9 | Primary BLUE | -> 0 ... 100 % |
10 | Secondary RED | zweite Effekt-Farbe, R/G/B |
11 | Secondary GREEN | jeweils 0 ... 255 |
12 | Secondary BLUE | -> 0 ... 100 % |
13 | Tertiary RED | dritte Effektfarbe, R/G/B |
14 | Tertiary GREEN | jeweils 0 ... 255 |
15 | Tertiary BLUE | -> 0 ... 100 % |
Anforderungen an die Gerätedatei (XML/DDF)
Aus der Tabelle links ergeben sich nun die Funktionsblöcke, die in der XML angegeben sein müssen.
Der Master Dimmer ist am einfachsten zugeordnet. Effect Speed, -Intensity und -Option lassen sich ebenfalls sehr einfach festlegen.
Da DMXC pro Gerät nur einen RGBx-Funktionsblock zulässt, bietet es sich an, nur die ersten 6 DMX-Kanäle in der XML festzulegen und die drei RGB-Farbbereiche hier weg zu lassen.
Diese kann man separat als generische RGB-Devices patchen und dann jeweils in einer "Primär-, Sekundär- und eine Tertiär-Gruppe zusammenfassen". Damit lassen sich dann die Farben einzeln pro Gerät, oder aber für die ganze Gruppe festlegen.
Für Effect Mode ID und Effect Pallette ID wird es nun schon schwieriger. Hier müssen alle Effekte und Palletten, die in WLED programmiert sind, mit Namen und Ihrer Nummer in der XML angelegt werden, damit jeder Effekt und jede Pallette auch in DMXC anwählbar sind.
Hierbei habe ich mir von Excel helfen lassen. MS Excel bietet aktuell eine Funktion, Tabellen direkt von Webseiten einzulesen. Wenn man diese einmal in einer Tabelle hat, kann man gut damit weiter arbeiten und die Funktionsblöcke ohne viel Schreibarbeit exportieren.
Und so geht es...
Funktionsblöcke mit Excel erfassen und bearbeiten
in einem zweiten Arbeitsblatt ...

Dabei füge ich auch gleich die XML-Elemente für jede Zeile ein, die ich für die DDF benötige. Hier kommt ein "STEP" mit "mindmx" und "maxdmx" zum Einsatz.
So soll jede Einzelzeile Am Ende aussehen:
Die gesamte Tabelle exportiere ich nun als CSV-Datei.
Effect Pallettes
Den selben Vorgang wiederhole ich für die Effect Palletten. Diesmal aus der Webseite: https://kno.wled.ge/features/palettes/