Mehrere kleine Fragen + Hinweise zu mutmaßlichen Bugs

  • Hallo in die Runde :)

    Ich hatte verteilt über das letzte Jahr ein großes "learning by doing" Projekt: Eine einstündige Lichtshow zu einem extra dafür gefertigten Musikset (Hardstyle), mit einer ca. vierstelligen Anzahl Szenen. Etliche Moving Heads, zahlreiche LED-Bänder, DMX-Laser, MIDI-Trigger für eine externe Visual-Software usw... (filme ich bei Interesse gerne mal ab und lade es hoch)

    Dabei haben sich natürlich einige Fragen und auch Probleme ergeben. Hoffe es ist in Ordnung, das hier zu sammeln, statt jetzt viele Einzelthreads zu eröffnen...

    • Frage: Kann man das Ergebnis vom Audio Analyzer irgendwie 1:1 weiterverwenden? Der AA selbst arbeitet ganz brauchbar, aber per Input Assignment gibt er nur Impulse an den SpeedMaster weiter, die der wiederum leider nur sehr schlecht interpretiert. Der AA erkennt meistens recht passende BPM, das praktische Ergebnis im SM ist aber quasi unbrauchbar (meistens falsch und schwankt stark nach oben und unten)...
    • Frage: Kann man beim SpeedMaster auch statisch etwas zu den BPM-Werten addieren? Ich nutze teilweise ein Streamdeck, wo ich gerne per Knopfdruck +1 oder -1 rechnen würde. Dazu muss ich im InputAssignment den Ist-Wert vom SM auslesen, verarbeiten und ihn damit wieder füttern. Solche Verbindungen "im Kreis" lässt das IA aber nicht zu, auch auf Umwegen nicht. Ideen?
    • Frage: Der SpeedMaster 2 reagiert in der GUI (per Maus) sehr grob, kann man das feiner abstufen? Ich kann oft gar nicht exakt die richtigen BPM-Werte einstellen, sondern nur einen krummen Wert darüber oder darunter.
    • Frage: Hat jemand eine Idee, wie man in DMXControl Laufbandeffekte realisiert, die vorwärts-rückwärts ablaufen? Bspw. ein Laufband, das links-rechts-links-rechts läuft (statt von links nach rechts und dann von vorne beginnt).
    • Frage: Gibt es einen "normalen" Weg, um aus einer Cue heraus (also z.B. an einer bestimmten Stelle in einer Cuelist) einen SpeedMaster zu verändern? Mir ist bisher nur ein Umweg über ein Dummy-Gerät eingefallen, dessen Werte im IA mit dem SpeedMaster verknüpft werden (aber auch noch nicht getestet, nur eine Idee).
    • Frage/Bug: Ein Strang meiner LED-Bänder wird grundsätzlich mit Default-Farbe schwarz angesteuert, alle anderen mit weiß. Es ist aber für alle (auch die betreffenden) LED-Bänder/Geräte weiß als Default eingestellt. Habe auch schon auf z.B. rot gestellt und dann wieder zurück auf weiß. Das eine LED-Band verwendet weiß einfach nicht als Default...
    • Bug: Cuelists gehen ab einer gewissen Größe kaputt, grob zwischen 150 und 300 Cues. Es liegt nicht an der exakten Anzahl, vermutlich auch einfach an der Gesamtmenge an Daten (auch innerhalb der einzelnen Cues). Irgendwann, wenn man eine weitere Cue hinzufügen möchte, kommt eine Fehlermeldung, dass die Cue nicht der Cuelist hinzugefügt werden konnte. Die Cue steht dann trotzdem in der Liste. Aber die Cuelist lässt sich dann nicht mehr abspielen, bis man die betreffende, kaputte Cue wieder rausgelöscht hat (von außen ist aber nicht mehr zu erkennen, welche das ist - man muss es wissen). Ist mir bei mehreren Cuelists passiert. Deswegen habe ich meine Lichtshow auf mehrere Cuelists aufgeteilt. Hat vielleicht was mit einer Speicherlimitierung zu tun, aber da müsste zumindest eine Sicherheitsprüfung mit Abbruch/Infomeldung eingebaut werden.
    • Bug: Wenn mehrere Cuelists -nacheinander- abgespielt werden (wie bei mir als Timecode-Show), dann verursachen die "fertigen" Cuelists noch erheblich Rechenzeit auf der CPU. In meinem Fall wird die DMX-Ausgabe z.B. bei der vierten, spätestens fünften Cuelist in Folge sehr deutlich ruckelig. Ich muss die "untätigen" Cuelists von zuvor dann manuell stoppen. Das verhindert quasi, dass ich die Lichtshow vollständig automatisch, ohne manuellen Eingriff, durchlaufen lassen kann.
    • Bug: DMXC stürzt regelmäßig einfach ab, wenn ich die betreffende Timecode-Show öffnen (nicht starten!) will. Passiert auch sehr oft beim neu Anlegen oder beim Hinzufügen von Cuelists. Wenn es irgendwann mal geklappt hat und offen ist, dann läuft es ab da auch i.d.R. fehlerfrei für diese Session. Aber um dorthin zu kommen, braucht es manchmal mehrere Abstürze/Neustarts.
    • Bug: Ich habe einige Presets mit Laufbandeffekten auf mehrere LED-Bänder. Bei einigen davon, wenn ich das jeweilige Preset nur gezielt auf einzelne LED-Bänder/Gerätegruppen anwende, wird das UI von DMXC sofort extrem langsam und freezed nach wenigen Sekunden komplett. Mit Glück kann ich auf "leeren" drücken und nach 30-60 Sekunden wird das umgesetzt, dann ist wieder alles gut. Manchmal ist der Freeze aber dauerhaft, dann hilft nur Prozess abschießen und alles neu starten.
    • Bug: Wenn man einen Preset-Namen anklickt, aber nichts verändert, und dann Eingabe drückt, dann wird der komplette Name dieses Presets gelöscht und so (leer) gespeichert.
    • Bug?: Wenn ich Presets ganz normal auf meine Geräte anwende und dann in der Bühnenansicht irgendetwas manuell ändere/eingebe, dann wird dadurch manchmal sofort das Preset überschrieben. Ich wähle beim Preset NICHTS bzgl. Ersetzen/Ergänzen aus. Ich wende nur das Preset an, mache irgendwas in der Bühnenansicht, und drücke dann auf "leeren" - und damit ist dann das Preset manchmal verändert.

    Würde mir sehr weiterhelfen und mich sehr freuen, wenn es zu ein paar Punkten eine Lösung gäbe - vielen Dank im Voraus!

    Und nochmal danke an die Entwickler für die gute Arbeit und die vielen Möglichkeiten :)

    Liebe Grüße, Adrian

  • Ich kann nur zu ein paar der Punkte was sagen.

    2. SpeedMaster BPM addieren: Vielleicht könntest du einen zweiten SpeedMaster 2 nehmen. Der SpeedMaster 2 ist der SpeedMaster auf den allue Cues und so hören, also der gilt. Vom SpeedMaster 1, der nur durch den Audio Analyzer gefüttert wird verbindest du alle gebrauchten Ausgänge zu den Eingängen des SpeedMaster 2. Eben mit einem Zusatz. Zwischen dem BPM Ausgang des SM1 machst du einen Add Block. Der Wert der da addiert oder subtrahiert werden soll kommt aus dem StreamDeck und das Ergebnis geht in den Eingang des SM2.

    4. Das sollte eigentlich mit dem Effekt Chaser gehen. https://wiki-de.dmxcontrol-projects.org/index.php?titl…_(Filter)_DMXC3

    5. Ich kenne leider keinen Weg. Ich brauche diese "Funktion" aber auf öfters. Ich Lege eine Cue an und mache im InputAssignment einen Block Cue mit eben dieser Cue. Dieser Block hat einen Ausgang der anzeigt ob die Cue gerade läuft. Darauf kann man triggern. Ist immernoch ein Umweg, erspart aber das Dummy-Gerät. Ob das eine jetzt besser ist als das andere....

    6. Ich kann nicht bewerten ob das ein Bug ist aber mich stört das auch. Ich habe daher eine DeviceGroup erstellt in der alle Geräte drin sind die eine Farbe einstellen können. Mit dieser DeviceGroup habe ich eine Cuelist mit einer Cue angelegt, die die Farbe auf schwarz einstellt. Diese Cuelist hat eine geringe Priorität und wird zu Beginn gestartet, sodass sie immer in Hintergrund läuft. Ich habe mehrere solcher "Hintergrund-Cuelists" z.B. auch für das Vorheizen von Dimmern oder Setzen machen Einstellungen in Geräten die ich nie verändere, z.B. Irgendein Modus in einem Gerät.

    • Frage: Gibt es einen "normalen" Weg, um aus einer Cue heraus (also z.B. an einer bestimmten Stelle in einer Cuelist) einen SpeedMaster zu verändern? Mir ist bisher nur ein Umweg über ein Dummy-Gerät eingefallen, dessen Werte im IA mit dem SpeedMaster verknüpft werden (aber auch noch nicht getestet, nur eine Idee).

    Dafür gibt es neu seit der 3.3.1 die Makros. Letztendlich kommt das aber auf das gleiche Hinaus, wie ein Dummy Gerät/Cuelist o.ä. zu verwenden.

    • Bug: Wenn mehrere Cuelists -nacheinander- abgespielt werden (wie bei mir als Timecode-Show), dann verursachen die "fertigen" Cuelists noch erheblich Rechenzeit auf der CPU. In meinem Fall wird die DMX-Ausgabe z.B. bei der vierten, spätestens fünften Cuelist in Folge sehr deutlich ruckelig. Ich muss die "untätigen" Cuelists von zuvor dann manuell stoppen. Das verhindert quasi, dass ich die Lichtshow vollständig automatisch, ohne manuellen Eingriff, durchlaufen lassen kann.
    • Bug: DMXC stürzt regelmäßig einfach ab, wenn ich die betreffende Timecode-Show öffnen (nicht starten!) will. Passiert auch sehr oft beim neu Anlegen oder beim Hinzufügen von Cuelists. Wenn es irgendwann mal geklappt hat und offen ist, dann läuft es ab da auch i.d.R. fehlerfrei für diese Session. Aber um dorthin zu kommen, braucht es manchmal mehrere Abstürze/Neustarts.

    Beide Probleme entstehen vermutlich dadurch, dass DMXC als 32-bit Anwendung läuft, und deshalb nur begrenzt Arbeitsspeicher verwenden kann. Zu ersterem wäre aber vielleicht trotzdem ein Bugtracker Eintrag sinnvoll. Spricht was dagegen, die Cuelist 1 aus deiner Cuelist 2 heraus zu stoppen, mittels der Start/Stop Cuelist Special Cue?

    Ich vermute, dass die Probleme bei der Timecode-Show einfach dadurch entstehen, dass die Show zu Speicherintensiv ist. Hierzu wären aber eventuell Logs interessant. Wenn ich das Recht im Kopf habe, wird beim Laden der Timecode-Show u.a. die Waveform erzeugt, was bei längeren Tracks reicht Speicherintensiv ist.

    Bug: Wenn man einen Preset-Namen anklickt, aber nichts verändert, und dann Eingabe drückt, dann wird der komplette Name dieses Presets gelöscht und so (leer) gespeichert.

    Gerne einen Bugtracker Eintrag dazu erstellen.


    Zu den anderen Bugs kann ich nichts sagen, am besten schaust du mal im Bugtracker, ob da schon was bekannt ist.

  • Soo, sorry für die späte Antwort...


    MWSysTech Einen Umweg über den SpeedMaster 2 hatte ich generell schon getestet, aber anders als von dir beschrieben (und ohne Erfolg). In deinem Vorschlag verstehe ich es (vereinfacht) so, dass SM1 + 1 (oder: - 1) = SM2. Ich müsste ja das Ergebnis (SM2) auch immer wieder rückkoppeln auf SM1, damit bei der nächsten Addition/Subtraktion wieder vom dann aktuellen bpm-Wert ausgegangen wird. Sonst bspw. bei SM1 + 1 = SM2, wäre ich bspw. bei 130 bpm bei 130 + 1 = 131. Und die nächste Addition wäre wieder 130 + 1 = 131, da SM1 ja unverändert geblieben ist. Hoffe du verstehst, was ich meine.

    Die anderen Tipps schau ich mir an, thx!


    jpldbln

    Dir ebenfalls danke, die neuen Makros sehe ich mir an, die hatte ich tatsächlich noch gar nicht auf dem Schirm.

    Die Start-Stop Special Cue hatte ich auch noch nicht auf dem Schirm, das dürfte die Lösung sein, thx...

    Ja, dass die Cuelist-Crashes durch die Speicherproblematik entstehen, dachte ich mir. Das müsste nur unbedingt abgefangen und mit einer Hinweismeldung abgefangen werden, statt dass es ohne Vorwarnung die Cuelist kaputtmacht ^^ Das mit den Bugtracker-Einträgen mach ich.

    Die Timecode-Show-Crashes könnten ggf. an der Waveform liegen, allerdings sollte das m.E. in meinem Fall eigentlich eher nicht passieren, da ich extra nur eine komplett stumme Dummy-Datei habe. Lege ich auch mal im Bugtracker an.

  • Die Timecode-Show-Crashes könnten ggf. an der Waveform liegen, allerdings sollte das m.E. in meinem Fall eigentlich eher nicht passieren, da ich extra nur eine komplett stumme Dummy-Datei habe.

    Du kannst auch eine Timecodeshow ohne Audiodatei erstellen und wiedergeben.

    Darüber hinaus solltest du dir auch grundsätzlich vielleicht mal den gestern veröffentlichten RC2 für DMXControl 3.3.2 anschauen, dann da würde das Speicherhandling für Timecodeshows insgesamt verbessert.

  • oh, dachte die Audiodatei wäre zwingend notwendig... Mach ich, danke!

    Bin gerade dabei mit dem 3.3.2 Video, bin sehr gespannt. (An der Stelle wie immer vielen Dank für eure viele Mühe mit der Entwicklung! :))

  • Hallo,

    Das müsste nur unbedingt abgefangen und mit einer Hinweismeldung abgefangen werden, statt dass es ohne Vorwarnung die Cuelist kaputtmacht :D Das mit den Bugtracker-Einträgen mach ich.

    das geht leider gar nicht, weil wir nicht wissen, wann wir das Speicherlimit knacken, bis es zu spät ist. Und wenn es passiert kann ALLES mit der Software passieren. Also wirklich alles! Sie ist dann nämlich in einem undefinierten Zustand. Zum einen ist das Objekt, bei dem der Speicherfehler passiert ist (hier die Cuelist / Cue) nicht mehr lesbar (weil halb geschrieben). Und zusätzlich kann das dann jederzeit wieder passieren, weil der Speicher schon am Limit ist. Und da können wir auch absolut gar nichts machen. Weder abfangen noch verhindern, dass das Objekt (hier die Cuelist) kaputt geht. Daher brauchst du dieses Ticket nicht schreiben;)

    Um das daher hier noch einmal in aller Deutlichkeit zu sagen: Tritt eine OutOfMemory Exception auf, können wir für überhaupt nichts mehr garantieren! Die einzige und ich betone und wiederhole, die einzige Handlung, die man dann noch machen kann ist, DMXControl 3 neuzustarten!!! Alles andere macht das nun instabile System noch instabiler!

    Viele Grüße

    JP

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

    Edited once, last by JPK (April 24, 2026 at 12:03 AM).