Taktgesteuerte Effekte

  • Hi,

    Ich habe meinem Licht setup eine 4x30 LED Matrix hinzugefügt.

    Ich würde dort jetzt gerne ein paar taktgesteuerte effekte verwenden, aber schaffe nicht ganz das was ich möchte.

    Als beispiel, am einen ender der Matrix soll bei jedem "Beat" eine reihe (4 LEDs) angehen und diese dann die 30 Leds entlang "chasen".

    Ich könnte jetzt 30 statische szenen erstellen, aber wenn ich jetzt auch noch will dass nicht nur hart an und aus ist, sondern auchnoch ein kleiner streifen hinter den Leds zu sehen ist (fade out) Dann wird das schon sehr mühsam. Außerdem habe ich noch ein problem. Der takt ist schneller als das einmal durchlaufen dauern würde. Ich möchte dass bevor die eine LED reihe das Ende erreicht, schon die nächste von vorne losläuft. Ich hatte überlegt eventuell mehrere cuelists zu erstellen die alle genau das selbe sind und dann nur jeden takt eine neue liste zu starten, so dass sie sich überlagern. Aber auch das scheint mir recht Mühsam.

    Gibt es hier irgendwelche Tricks mit denen man Effekte dieser Art realisieren kann?

    Ich hoffe es kam einigermaßen verständlich rüber was ich versuche. Hier ist noch ein Bild wie die Matrix aufgebaut ist (aus Unreal Engine zum visualisieren)


    Mfg,

    Jonas

  • nutzer99 September 30, 2025 at 8:53 PM

    Approved the thread.
  • Hi,

    ich habe ein klein wenig gebastelt und bin auf eine Lösung gekommen, die ab der 3.3.1 funktioniert. Du findest das Projekt anbei. Kurz zum Aufbau: Es enthält insgesamt 12 gleiche Szenenlisten. In jeder gibt es eine Szene, in der ich alle Scheinwerfer auf 100% setze und eine Szene, in der ich wieder alle auf 0 setze. Dabei sind ein paar Dinge entscheidend. Einerseits habe ich die beiden separaten Gruppen für die einzelnen Streifen ausgewählt und dann im Group Handling auf "Parallel Groups" gestellt. Dadurch wird jede Gruppe einzeln behandelt. Es geht aber genauso, wenn du jede einzelne Gruppe auswählst und sie separat auf 100% setzt. Das ist wichtig, denn wenn du dir den Delay-Wert der Szenen genauer anschaust, dann habe ich dort ein Fanning eingetragen. Sprich ich sage DMXControl 3, für den ersten Scheinwerfer in jeder Gruppe soll die Szene mit einem Delay von 0 Sekunden einblenden, beim letzten Scheinwerfer in jeder Gruppe erst nach 3 Sekunden. Dadurch bekomme ich das zeitversetzte Einblenden dieser Szene. Die ausblendende Szene überlagere ich nun, indem ich eine recht kurze Wait-Time angebe und bei dieser Szene auch das Fanning beim Delay eintrage. So bekomme ich das Ausblenden hin. Um jetzt die Länge des Schweifs einzustellen, kann man einfach an der Wait-Time (Zeit, wie lange die Scheinwerfer bei 100% verweilen) und der Fade-Time der zweiten Szene (Länge für das Ausblenden) einstellen. So kann man das ganze mit nur 2 Szenen realisieren 8)

    Des weiteren ist auch wichtig, dass hier beides Mal der "Abs"-Button vor der Dimmer-Eigenschaft auf "Rel" umgeschaltet wird. So kommen sich nachher die unterschiedlichen Szenenlisten nicht in die Quere. Dieser Aufbau bis hier hin funktioniert auch so mit DMXControl 3.3.0. Der Fun-Part kommt jetzt über den neuen CuelistGroup-Executor. Dieser hat auch einen Fire-Button. Hier kann man dann in den Eigenschaften dieses Masters das Fire Behavior auf "First not running" stellen. Wenn man dann auf den Fire-Button klickt, wird die erste nicht aktive Szenenliste aus dieser Szenenlistengruppe gestartet. Das ist ja genau das, was wir jetzt hier wollen, weil eine Szenenliste ja durchaus noch laufen kann. Dann wird halt einfach die nächste gestartet. Dabei ist es eben nur wichtig, dass wir genügend Szenenlisten in der Gruppe haben, die das gleiche machen, aber dann eben parallel laufen können. Somit funktioniert das dann. Ich habe zum Test jetzt einfach mal einen SpeedMaster im Input Assignment so verbunden, dass er regelmäßig den Fire-Button drückt. Do kannst jetzt auch die Geschwindigkeit des SpeedMasters anpassen und so sollten dann die Pulse entsprechend schneller / langsamer kommen.

    Ich weiß, diese Lösung ist jetzt ziemlich advanced und vielleicht nicht auf den ersten Blick verständlich. :saint: Aber vielleicht hat dir ja meine Erklärung dazu geholfen. Wenn nein, einfach nochmal melden :)

    Viele Grüße
    JP

  • Mir ist gerade beim Testen noch etwas aufgefallen. Wenn man den Fire button genau in dem moment klickt, in dem gerade eine szenenliste fertig ist, startet keine neue. Es macht den eindruck als würde das "first not running" eine szenenliste auswählen die gerade so knapp noch läuft und deshalb passiert nichts... Oder woran könnte das noch liegen?
    Es ist auch in deinem Demo Projekt Provozierbar.

  • Hmmm ok, interessant. Dann schaue ich mir das mal an. Könntest du bitte in unserem Bugtracker ein Ticket erstellen und das dort beschreiben? Dann geht das nicht verloren.

    im Falle eines Falles klebt Gaffa einfach alles, denn Gaffa ist dein Freund und Helfer :thumbup:

  • Ich bin gerade dabei mir einen Workaround dafür zu überlegen... gibt es eine möglichkeit einfach immer die nächste szenenliste zu starten? dann könnte ich 2 Gruppen machen und die eine nacheinander starten bis alle gelaufen sind, dann das selbe mit einer anderen gruppe und währenddessen alle der ersten Gruppe wieder freigeben. Klingt ziemlich umständlich aber mir fällt grade nichts anderes ein..
    Oder ist es evtl möglich das "fire next not running" verhalten mit dem Input assignment nachzubauen?


    Ps. Ist es eigentlich gewollt dass die Exekutoren wenn man sie startet ohne den fader aufzudrehen trotzdem sichtbar sind oder ist das ein Bug?

  • Oder ist es evtl möglich das "fire next not running" verhalten mit dem Input assignment nachzubauen?

    Sagen wir so: Wir haben mal in einem Gedankenexperiment nachgewiesen, dass das Input Assignment von DMXControl 3 Turing Complete ist (siehe https://de.wikipedia.org/wiki/Turing-Vollst%C3%A4ndigkeit ). Du kannst also damit im Grunde jedes Programm schreiben, was du auch mit einer normalen Programmiersprache schreiben kannst (wenn auch deutlich umständlicher). Ich habe beispielsweise mal angefangen, Tetris im Input Assignment (+ der Stage View) nachzubauen. Habe das Projekt aus Zeitgründen (und weil es wichtigeres gab) wieder eingestellt. Aber im Grunde geht es.

    Mit diesem Hintergrund: Ja, du kannst diese Funktion nachbauen. Das geht mit mehreren Logik-Gattern. Das habe ich bisher immer benutzt, um Blinder im Wechsel zu starten, während die andere Blinder-Szenenliste noch ausblendet. Es ist halt aufwändiger und deshalb sollte eigentlich der Fire-Button das Leben hier einfacher machen. Aber ja, ist natürlich doof, wenn er nicht triggert.

    Ps. Ist es eigentlich gewollt dass die Exekutoren wenn man sie startet ohne den fader aufzudrehen trotzdem sichtbar sind oder ist das ein Bug?

    Wie genau meinst du das? Was meinst du mit Starten (Programmstart, Go,....). Welcher Executor (Cuelist, Cuelist Group, Master,....). Was meinst du mit sichtbar (ist der Executor im Fenster gemeint, die Ausgabe von DMXControl 3,...)

    im Falle eines Falles klebt Gaffa einfach alles, denn Gaffa ist dein Freund und Helfer :thumbup:

  • Habs geschafft das verhalten so nachzubauen dass es tut!

    Zu dem fader; Wenn man eine Szenenlistegruppe auf einen Exekutor legt, das Fire verhalten einstellt und dann auf Fire klickt, startet eine Szenenliste und wird auch angezeigt, obwohl der Fader auf 0 steht. Mir ist gerade noch aufgefallen dass es vermutlich ein anzeige bug in der GUI ist, da wenn ich eine Szenenliste auf einen Exekutor ziehe der fader Automatisch auf 100% geht, und damit ja alles passt. zieht man eine Gruppe auf einen Exekutor, so bleibt der fader optisch bei 0, aber wie es scheint ist er tatsächlich bei 100%. Hoffe so ists verständlich :)

  • Ah du meinst die Szenenlistengruppe. Naja, das ist kein richtiger Anzeigebug. Hier haben wir das Problem, dass viele Szenenlisten mit prinzipiell ganz unterschiedlichen Werten in der Gruppe enthalten sein können. Daher wird dieser Faderwert nicht beim anlegen gesetzt und daher stimmt dieser dann auch nicht überein. Das ist bei den Szenenlistengruppen eher ein One-Way Fader, um die Werte in allen Szenenlisten gleichzeitig zu setzen.

    im Falle eines Falles klebt Gaffa einfach alles, denn Gaffa ist dein Freund und Helfer :thumbup: