PCD-DDF-in-WPF

Aus PC_DIMMER
Wechseln zu: Navigation, Suche
Kanalliste

PCD-DDF-in-WPF ist ein alternativer DDF-Editor für PC_DIMMER. Ziel des Projektes ist es, DDFs nicht programmieren zu müssen, sondern das Gerät zu beschreiben. Das führt natürlich zu gewissen Einschränkungen bei der Gestaltung des DDF-Fensters, jedoch wird die Erstellung vereinfacht und auch Nicht-Programmierern ermöglicht, eine möglichst funktionsfähige Gerätebeschreibungsdatei zu erzeugen.

Herunterladen

Das Programm ist Open Source und findet sich auf GitHub (https://github.com/digitalshow/pcd-ddf-in-wpf). Dort sind sowohl der Quelltext als auch kompilierte, ausführbare Versionen des Programms hochgeladen. Letzere findet man unter "Releases".

Erstellen eines DDFs

Sobald das Programm gestartet ist, kann man ein neues Gerät bearbeiten.

Laden vorhandener DDFs

Vorhandene DDFs kann man mit dem Öffnen-Button laden. Sind die DDFs nicht mit diesem Programm, sondern mit dem PC_DIMMER-eigenen DDF-Editor erstellt worden, fehlen einige Informationen. PCD-DDF-in-WPF speichert alle Informationen, die beim Erstellen eines DDFs eingegeben wurden, in der Datei und kann diese auch wieder laden. DDFs, die in PC_DIMMER erstellt worden sind, wurden häufig per Hand programmiert und um Funktionen ergänzt, die dieses Programm nicht interpretieren kann. Dies sind beispielsweise Buttons mit Festwerten (Dimmer 100%, ...), speziellen Funktionen (Lampe ein/aus). Bei einfachen DDFs lassen sich diese Dinge jedoch häufig recht schnell wieder eingeben.

PCD-DDF-in-WPF gibt beim Laden entsprechende Warnungen aus, wenn Informationen aus dem DDF nicht verarbeitet werden können.

Speichern von DDFs

Ein fertiges DDF kann man mit dem entsprechenden Button speichern. Dabei werden eventuell Warnungen ausgegeben, falls Fehler oder Widersprüche entdeckt werden.

DDFs können in der Regel nur in den Devices-Ordner von PC_DIMMER gespeichert werden, wenn das Programm mit Administratorrechten gestartet wurde, da der Programme-Ordner von Windows Berechtigungen erfordert. Man speichert DDFs auf dem Desktop und kopiert sie dann in den Devices-Ordner, um dieses Problem zu umgehen.

Aufbau eines DDFs in PCD-DDF-in-WPF

Ein DDF besteht aus mehreren Teilen, die nacheinander angelegt werden. Das Programm ist diesbezüglich mit Reitern unterteilt:

  • Gerät: Allgemeine Informationen zum Gerät, die später in der DDF-Liste angezeigt werden
  • Bernsteinfarbe: Gibt es einen Amber-Kanal, kann man hier einstellen, ob und wie PC_DIMMER diesen bei Farbmischungen berücksichtigen soll
  • Kanäle: Eine Auflistung aller Kanäle und deren Belegung. Siehe Kanäle
  • Presets: Enthält Voreinstellungen, die per Buttons oder Auswahlbox angesprochen werden können. Siehe Presets
  • GUI: Die Grafische Oberfläche, die PC_DIMMER in der Gerätesteuerung und der grafischen Bühnenansicht anzeigen kann. Siehe GUI

Gerät: Matrixgerät

Geräte, die mehrere unabhängige Lichtpunkte (Pixel) erzeugen, z.B. LED-Bars (sprich einzeilige LED-Matrix), Moving Heads mit LEDs in Matrixanordnung, oder klassisch LED-Matrix-Wände, benötigen in PC_DIMMER ein Gerät pro Pixel, da Kanäle nur einmal vergeben werden dürfen. Dazu legt man klassischerweise für jeden Pixel ein Gerät an und ordnet diese dann in der Bühnenansicht entsprechend. Da diese Vorgehensweise bei größeren Matrizen oder mehreren Geräten schnell mühselig wird, gibt es in PC_DIMMER seit Version 5.5.0 die Option, in DDFs den Matrizenaufbau zu hinterlegen. Dazu bestimmt man, wie viele Zeilen und Spalten die Matrix hat. Erstellt man dann ein Gerät mit diesem DDF, legt PC_DIMMER automatisch die nötige Anzahl an Geräten an, benennt diese entsprechend, vergibt Startadressen, und ordnet sie in der Bühnenansicht an.

Das (Pixel-)DDF darf in diesem Falle nur die Kanäle für den einzelnen Pixel enthalten; in der Regel ist dies ein einzelner Dimmer oder RGB-Kanäle. Steuerkanäle, die für alle Pixel gemeinsam gelten, muss man in ein separates (Steuer-)DDF auslagern.

Um ein Matrixgerät zu konfigurieren, hakt man die Option "Matrixgerät" an und trägt die Anzahl Zeilen und Spalten ein. Man kann nun noch die Anordnung bzw. Reihenfolge der Geräte verändern. Hat man beispielsweise einen LED-Streifen in Schleifen verlegt, wird z.B. die erste Zeile von links nach rechts gezählt, die nächste dann von rechts nach links, usw. Hier wäre also "Links nach rechts nach links, oben nach unten" auszuwählen.

Beispiel: Nehmen wir an, wir haben eine LED-Bar mit zehn Pixeln. Kanal 1 des Gerätes ist ein Modus-Kanal, Kanal 2 ein Strobo-Kanal, und ab Kanal 3 folgen RGB-Kanäle. Wir legen also zunächst ein "Steuer-"Gerät mit nur zwei Kanälen an: Modus und Strobo; speichern dieses, und, da wir nun nur RGB-Kanäle haben, öffnen wir das DDF für "Generic RGB-Scheinwerfer", haken die Option "Matrixgerät" an, setzen die "Matrix-Spaltenanzahl" auf 10, und speichern dieses Gerät ebenfalls (die DDFs sollten natürlich entsprechend benannt werden). Nun können wir in PC_DIMMER zunächst mit dem Steuer-DDF ein Gerät erstellen, dieses kommt auf die Startadresse der LED-Bar. Dann fügen wir ein weiteres Gerät hinzu, wobei wir das Pixel-DDF nehmen, und die Startadresse des Gerätes +2 übernehmen. PC_DIMMER wird nun 10 Pixel-Geräte erstellen.

Kanäle

Die Kanäle eines DMX-Gerätes und deren Belegung können in der Regel der Bedienungsanleitung des Geräts entnommen werden. Beim Erstellen der Kanalauflistung geht man wie folgt vor:

  • Hinzufügen aller Kanäle des Geräts
    • Kanal hinzufügen klicken
    • Den neuen Kanal auswählen
    • Kanaltyp wählen
    • Den Namen ändern, falls er nicht passt
    • Falls nötig, das Kanalminimum, Maximum, und den Initialisierungswert anpassen
    • Auswählen, ob der Kanal gefadet werden soll (sinnvoll für Dimmer, R, G, B, ...; nicht sinnvoll für Farb-/Goborad oder Programmwahl)
  • Anlegen der Untermengen (Kanalbelegung)
    • Für jeden Wertebereich eines Kanals, der eine bestimmte Funktion abbildet, legt man eine neue Untermenge an:
      • Für einen Wertebereich, der genau eine Stellung beschreibt, d.h. in dem sich für unterschiedliche Werte keine Änderung am Gerät ergibt, legt man einen Eintrag an
        • Button Eintrag hinzufügen klicken
        • Den Bereich einstellen (Min-/Max)
        • Den Set-Wert einstellen (Der Wert, auf den geschaltet wird, wenn dieser Bereich ausgewählt wird)
        • Für Farbkanäle die Farbe wählen, für Gobokanäle ein Gobobild im Ordner Devicepictures\Gobos wählen
      • Für einen Wertebereich einer kontinuierlichen Funktion, d.h. in dem sich eine Funktion des Geräts kontinuierlich ändert, legt man einen Bereich an
        • Button Bereich hinzufügen klicken
        • Den Bereich einstellen (Min-/Max)
        • Für Farbkanäle die Farbe einstellen

Jeder Untermenge können ein oder mehrere Merkmale zugewiesen werden. Dazu wählt man die Untermenge, wählt rechts das Merkmal aus und klickt auf +. Diese Merkmale informieren PC_DIMMER über eine bestimmte Funktion des Geräts.

Untermengen, die für den Benutzer auf der Benutzeroberfläche nicht getrennt erscheinen sollen, lassen sich mit einem Haken bei "Mit nächstem Eintrag/Bereich verschmelzen" verbinden.

Zum besseren Verständnis ein Beispiel eines Moving Heads:

Die Kanäle Pan, Tilt, und eventuell Panfine und Tiltfine werden genau so angelegt, sie brauchen keine Untermengen. Wir haben folgende Kanäle:

  • Pan: Typ pan, Min 0, Max 255, Init 127, Fade an
  • Tilt: Typ tilt, Min 0, Max 255, Init 127, Fade an

Tipp: Wenn wir vor Veränderung des Namens den Kanaltyp wählen, wird der Kanalname automatisch übernommen.

Einen Dimmerkanal legen wir an, wobei wir eine Untermenge für den Dimmbereich erzeugen:

  • Helligkeit: Typ dimmer, Min 0, Max 255, Init 0, Fade an
    • Bereich Aus-Max: Min 0, Max 255, Merkmale: Helligkeit -> Bereich Aus-Max

Tipp: Wenn wir vor Veränderung des Namens des Bereichs das Merkmal hinzufügen, wird der Bereich automatisch benannt.

Der Shutter-Kanal beherbergt die Strobe-Funktion. Wir legen den Kanal als Shutter an und fügen die Untermengen und Merkmale hinzu:

  • Shutter: Typ shutter, Min 0, Max 255, Init 0, Fade aus
    • Eintrag Geschlossen: Min 0, Max 9, Set-Wert 0, Merkmale: Shutter -> Geschlossen
    • Bereich Strobe: Min 10, Max 249, Merkmale: Strobe -> Bereich Min-Max
    • Eintrag Offen: Min 250, Max 255, Merkmale: Shutter -> Offen, Strobe -> Aus

Beim Farb-Kanal wollen wir alle Farben eintragen, um später einfach auf sie zugreifen zu können.

  • Farbe: Typ color1, Min 0, Max 255, Init 0, Fade ein
    • Bereich Weiß, Min 0, Max 49, Farbe weiß
    • Bereich Rot, Min 50, Max 99, Farbe rot
    • ...

Beim Farbkanal kann man entweder Bereiche oder Einträge verwenden. Manche Geräte erlauben Zwischenfarben, in dem Fall sind Bereiche sinnvoll. Auch die Fade-Möglichkeit kann diesbezüglich gewählt werden.

Gobo-Kanal

  • Gobo: Typ gobo1, Min 0, Max 255, Init 0, Fade aus
    • Eintrag Offen: Min 0, Max 39, Set-Wert 0, Icon Open.png
    • Eintrag Pik: Min 40, Max 79, Set-Wert 40, Icon pik.png
    • ...

Gobo-Rotation

  • Gobo-Rotation: Typ gobo1rot, Min 0, Max 255, Init 0, Fade ein
    • Eintrag Aus, Min 0, Max 5, Set-Wert 0, Merkmal Gobo 1 Rotation -> Aus
    • Bereich Links, Min 6, Max 130, Merkmal Gobo 1 Rotation -> Bereich Links Min-Max
    • Bereich Rechts, Min 131, Max 255, Merkmal Gobo 1 Rotation -> Bereich Rechts Min-Max

Sonderfunktionen

  • Steuerung, Typ special1, Min 0, Max 255, Init 0, Fade aus
    • Eintrag Kein, Min 0, Max 49, Set-Wert 0
    • Eintrag Lampe ein, Min 50, Max 99, Set-Wert 60
    • Eintrag Lampe aus, Min 100, Max 199, Set-Wert 120
    • Eintrag Reset, Min 200, Max 255, Set-Wert 255

Presets

Um über die Oberfläche bestimmte Zusammenstellungen an Kanalwerten abrufen zu können, lassen sich Presets erstellen. Jedes Preset hat eine Anzahl Kanäle, deren Wert für das Preset festgelegt wird. Um ein Preset anzulegen, kann man wie folgt vorgehen:

  • Preset hinzufügen klicken, neues Preset auswählen
  • Presetnamen ändern
  • Kanäle hinzufügen
    • Kanal hinzufügen klicken, neuen Kanal auswählen
    • Gerätekanal wählen
    • Untermenge wählen oder Wert eintragen
    • Optional Fadezeit festlegen
    • Optional eine Nachricht eingeben, die dem Benutzer angezeigt werden soll, nachdem der Kanal gesetzt wurde

Am Beispiel des Moving Heads von oben, wollen wir drei Presets für die Lampensteuerung anlegen:

  • Preset Lampe ein
    • Kanal Steuerung, Untermenge Lampe ein
  • Preset Lampe aus
    • Kanal Steuerung, Untermenge Lampe aus
  • Preset Reset
    • Kanal Steuerung, Untermenge Reset, Nachricht "Klicken Sie auf OK, wenn der Reset ausgeführt wird..."
    • Kanal Steuerung, Untermenge Kein

GUI

Die Benutzeroberfläche besteht aus einer Anzahl an Elementen, welche rechts in einer Liste angezeigt werden. Darunter können die Eigenschaften eines Elements geändert werden. Ganz unten rechts kann die Größe des Fenster verändert werden, welche durch den blauen Rahmen dargestellt wird.

Standardmäßig sind bereits die Elemente für das Gerätebild, den Gerätenamen, die Geräteadresse sowie die Dipschalteranzeige vorhanden. Sie werden der Einfachheit halber nur in Form von Platzhaltern angezeigt. Das übliche Vorgehen ist nun, für jeden Kanal bzw. Kanalgruppe ein oder mehrere Steuerelemente hinzuzufügen.

  • Für Pan-Tilt-Kanäle: Position-Steuerelement
  • Für RGB(A)-Kanäle: Farbauswahl
    • optional dazu ein Button, welchem als spezielle Aktion ChangeColorPicker zugewiesen ist.
    • optional dazu Fadezeitfeld und Fadezeitschalter
  • Für Kanäle, die eine Auswahlmöglichkeit besitzen, z.B. Shutter, Farbrad, Goborad: Dropdown mit zugewiesenem Kanal
  • Für Kanäle, welche Bereiche besitzen, z.B. Dimmer, Shutter: Schieberegler mit zugewiesenem Kanal
  • Für einen Shutter-Kanal, welcher Eintrag Offen, Eintrag Geschlossen und Bereich Strobe besitzt: Dropdown und Schieberegler jeweils mit zugewiesenem Kanal

Falls man Presets definiert hat, hat man dafür folgende Optionen:

  • Für viele Presets, beispielsweise Programmwahl: Presetauswahl
  • Für wenige Presets, beispielsweise Lampe ein/aus: Buttons mit zugewiesenem Preset

Weitere Beispiele

Ich habe mal testweise ein DDF für den Cameo LED Dropix 66 - 8ch LED-Vorhang erstellt. Im Forum ist mir jemand mit dem alten Editor zuvorgekommen, jedoch finde ich dieses Gerät als Beispiel, vor allem für die Verwendung von Presets, lehrreich. Handbuch mit Kanalbelegung im Forum [1]

Datei:Cameo LEDDropix66 8ch.zip

Tipps

  • Alle Felder, die numerische Eingaben erwarten, lassen sich auch über die Pfeiltasten sowie über das Mausrad bedienen. Drückt man gleichzeitig die Umschalt-Taste (Shift), verändert sich der Wert in Zehnerschritten.
  • Möchte man mehrere Presets mit Namen anlegen, die sich nur durch eine fortlaufende Nummer unterscheiden ("Programm 1", "Programm 2", "Programm3", ...), legt man zuerst ein Preset ohne Nummer an ("Programm"), fügt eventuell entsprechende Kanäle hinzu und klickt dann so oft auf Preset Klonen, bis die gewünschte Anzahl an Presets vorhanden ist. Das nummernlose Preset kann man nun löschen.
  • Beim Hinzufügen von Einträgen und Bereichen zu einem Kanal sollte man den Maximalwert setzen, bevor man den nächsten Eintrag/Bereich anlegt. So bekommt dieser direkt den nächsten Minimalwert.

Bekannte Probleme

  • Dropdowns für Gobos zeigen keine Gobo-Bilder an. In der Gerätebeschreibung müssen die Gobo-Bilder als Portable Network Graphic (.png) referenziert werden. Für das dropdown erwartet PC_DIMMER jedoch ein Bitmap (.bmp). Die Dateinamen unterscheiden sich momentan leider teilweise.