Bugtracker DMXControl 3

Bugtracker für DMXControl 3

Herzlich willkommen im Bugtracker für DMXControl 3. Hier können Sie alle Fehler in DMXControl 3 melden oder Wünsche für neue Features äußern. Dieser Bugtracker ist jedoch nicht der richtige Ort für allgemeine Probleme zur Bedienung oder bei fehlerhaften DDFs. Dafür benutzen Sie bitte das DMXControl Forum.

Bevor Sie einen Fehler melden, prüfen Sie bitte ob Sie mit der aktuellsten Version arbeiten und schauen bitte nach, ob dieser Fehler bereits gemeldet wurde. Im Sinne einer schnellen Fehlerbehebung geben Sie bitte unbedingt eine E-Mail-Adresse für Rückfragen an und fügen alle eventuell angezeigten Fehlermeldungen bitte möglichst vollständig dem Report hinzu (z.B. mit Screenshot). In DMXControl 3 gibt es eine Export-Funktion für alle erforderlichen Log Files. Sie ist im Hauptmenu unter “Help” → “Export Logs” zu finden.

Wenn Sie häufiger Fehler melden und über behobene Fehler informiert werden möchten, lohnt sich auch eine Registrierung. Ihre Kontaktdaten (E-Mail-Adresse) werden von uns ausschließlich zur Kommunikation zwecks Rückfragen bei Problemen der Fehler-Reproduktion und Fehlerbereinugung in unseren Projekten verwendet.

Vielen Dank für ihre Mitarbeit!
Ihr DMXControl Projects e.V. Team

ID  descFortschrittKategorieAufgabentypSchweregradZusammenfassungStatusbetrifft Versionfällig in Versionangelegtzuletzt geändertangelegt von
5271
0%
InputAssignmentFehlerberichtniedrigSechs-stellige Zahlen werden als HEX-Farbe interpetrier...Unbestätigt3.3 RC x08.03.202408.03.2024LightningBrothers Aufgabenbeschreibung

Ich habe mir gerade einen Graphen gebaut, wo ich mit sechs-stelligen Zahlen arbeite und diese durch verschiedene Nodes schiebe.

Gebe ich eine solche Zahl zum Beispiel in den Binary Switcher als Wert für On bzw. Off oder in den Input Selector ein und bestätige diese Eingabe direkt mit Enter, wird die Zahl direkt in einen RGB-Wert konvertiert. Offenbar geht DMXC3 hier davon aus, dass es sich um einen HEX-Farbwert handelt.

Für mich ist das so dann nun zwar nachvollziehbar, dass es diese Assoziation gibt. Allerdings war das nicht meine Erwartungshaltung. Daher wäre meine Bitte, diesen Punkt einmal entsprechend zu durchdenken.

5265
100%
GUI & ServerFehlerberichthochVerwaiste Graphen werden ohne Info gelöschtBenötigt Tests3.3 RC x27.02.202427.03.2024LightningBrothers Aufgabenbeschreibung

Ich habe an einem Projekt zuletzt viel im Input Assignment gearbeitet und wunderte mich dann, dass ein Button eines Softdesks nicht mehr funktionierte. Der Kernel sagte dann folgendes:

22:15:27 WARN  InputManager - Following Graphs are orphaned and will be removed:
S1-510-3121
S1-510-0901
S1-210-0901
S1-211-3121

Hierzu habe ich die Erwartungshalten, dass erstmal nicht grundsätzlich angenommen wird, dass verwaiste Graphen entfernt werden können. Vielmehr bedarf es hier einer Info, wie hiermit umgegangen werden soll.

Ob sich dieses Verhalten mit dem Projekt, an dem ich gerade arbeite, reproduzieren lässt, muss ich später klären und dann Logfiles und Projekt beifügen.

5251
0%
GUI & ServerWunsch / IdeeniedrigProjektstatistik Unbestätigt3.2.325.01.202425.01.2024LightningBrothers Aufgabenbeschreibung

Ergänzend zum Benchmark entsprechend FS#5250 wäre es interessant, ein paar Zahlen, Daten, Fakten zu dem aktuellen Projekt aufrufen zu können - sprich Statistik. Dazu könnte unter anderem aufgeführt werden die Anzahl

  • Devices
  • Device Groups
  • Cues
  • Presets
  • Cuelists
  • Cuelist Groups
  • Master (ggf. auch unterteilt nach den Typen)
  • Executoren (ggf. belegt und unbelegt)
  • Bänke im Input Assignment (ggf. aktiv und inaktiv)
  • Graphen (ggf. aktiv und inaktiv)
  • Timecodeshows

Teilweise sind diese Zahlen ja bereits bekannt und können beim Laden des Projekts beobachtet werden. Allerdings laufen die wiederum zu schnell durch als dass man sie sich notieren könnte. Daher wäre ein entsprechendes Infofenster nett.

 5220 
100%
GUI & ServerFehlerberichtmittel Wert für Timecode-Trigger wird nicht beibehalten, wenn  ...geschlossen3.3 Beta x3.326.12.202330.12.2023LightningBrothers Aufgabenbeschreibung

Ich habe im beigefügten Projekt eine einfache Cuelist erstellt, die einem Cuelist-Track einer Timecode-Show zugeordnet ist.

Editiere ich eine beliebige Cue aus dieser Cuelist im Programmer und speichere die Änderungen zum Beispiel Replace oder Update zurück, wird der Wert für den Trigger immer auf 00:00:01.000 zurückgesetzt und die Cue an Position in der Cuelist eingefügt.

Die zugehörigen Logs beinhalten folgende Schritte:

  1. Sitzung starten und Projekt laden
  2. Cue 3 der Cuelist 1 in den Programmer laden
  3. Änderungen vornehmen
  4. Änderungen über Update in die Cue 3 zurückspeichern
  5. Cue 3 an ursprüngliche Position zurückschieben und alten Wert manuell wieder eintragen
  6. Projekt speichern und Projekt beenden
5219
0%
TimecodePlayerWunsch / IdeeniedrigNeue Cue an aktueller Position des Wiedergabemarkers ei...Unbestätigt3.3 Beta x26.12.202329.12.2023LightningBrothers Aufgabenbeschreibung

Über das Kontextmenü kann ich aus dem Cuelist-Track die Option “Add cue” aufrufen. Es wäre hilfreich, wenn diese Cue an der aktuellen Position des Wiedergabemarkers einfügen werden würde. Die Position, wo ich das Kontextmenü aufrufe, spielt dabei keine Rolle.

Befindet sich der Wiedergabemarker dabei außerhalb einer Bereichs einer Cuelist, wird die Cue in der Cuelist hinzugefügt, die sich in der Reihenfolge vor dem Wiedergabemarker befindet.

5218
90%
GUI & ServerFehlerberichtniedrigDirtyFlag: Hinzufügen von Dateien wird nicht berücksich...Benötigt Tests3.3 Beta x3.326.12.202328.12.2023LightningBrothers Aufgabenbeschreibung

Füge ich zum Beispiel Audiodateien per Drag ‘n’ Drop einem Projekt hinzu, wird dies nicht vom Dirty Flag erfasst.

5217
0%
ServerToDoniedrigProjekt-Version des Default-Projekts hochsetzenUnbestätigt3.3 Beta x26.12.202326.12.2023LightningBrothers Aufgabenbeschreibung

Ich habe gerade mit der aktuellen Version ein komplett neues Projekt erstellt. Dabei meckert der Kernel wie im beigefügten Log-Auszug an, dass das Default-Projekt hinsichtlich der Projekt-Version veraltet ist. Ggf. kann dieses ja mit dem Einspielen des neuen Standart-Layouts (siehe FS#5080) angegangen werden. Aus diesem Grund habe ich dieses Ticket auch “nur” als ToDo definiert.

16:17:54 WARN  LoadedProjectVersion - Project K67xxxxx#1.0.0 has an old File Version 4. Current: 12
5216
0%
TimecodePlayerWunsch / IdeeniedrigDoppelklick auf Stop setzt Wiedergabemarker auf 0Unbestätigt3.3 Beta x25.12.202325.12.2023LightningBrothers Aufgabenbeschreibung

Aktuell muss man, um den Wiedergabemarker auf 0 zu setzen, entweder erst zum Anfang scrollen und dann einen Doppelklick in die Zeitleiste machen oder diesen händisch auf 0 schieben. Gerade beim manuellen Doppelklick passiert es, dass man nicht direkt bei 0 landet.

Um dies zu vereinfachen, sollte der Wiedergabemarker über einen Doppelklick auf den Stop-Button automatisch auf 0 gesetzt werden.

 5213 
100%
TimecodePlayerWunsch / Ideeniedrig Cuelists im Fenster "Choose a cuelist" alphabetisch sor ...geschlossen3.3 Beta x3.325.12.202310.03.2024LightningBrothers Aufgabenbeschreibung

Wie im beigefügten Screenshot zu sehen, sollte es sinnvoll sein, wenn die Cuelists des aktuellen Projekts im Fenster “Choose a cuelist” alphabetisch sortiert werden würden.

Sollte für die Realisierung dieses Wunsches ein Beispielprojekt der aktuellen Situation benötigt werden, bitte ich um entsprechende Info.

5212
0%
TimecodePlayerWunsch / IdeeniedrigMittelpunkt des Zooms immer von aktueller Position des ...Unbestätigt3.3 Beta x25.12.202325.12.2023LightningBrothers Aufgabenbeschreibung

Aktuell erfolgt das Zoomen (über das Scrollrad) immer vom Nullpunkt. Dadurch verschiebt sich die Position des Wiedergabemarker immer aus dem Anzeigebereich heraus.

Es wäre hilfreich, wenn der Wiedergabemarker selbst als Mittelpunkt für das Zoomen herangezogen würde.

5211
0%
PluginFehlerberichthochNanoleaf-Plugin: Projekte mit Nanoleaf-Devices können n...Auf User warten3.3 Beta x25.12.202327.12.2023LightningBrothers Aufgabenbeschreibung

Im beigefügten neuen Projekt habe ich 12 Nanoleaf-Devices hinzugefügt. Im Anschluss speicherte ich dieses Projekt und habe es in der laufenden Sitzung neu geladen. Dies ist aber nun nicht mehr möglich.

Das Problem muss sich mit der Beta 12 eingeschlichen haben. Ein anderes Projekt konnte ich mit der Beta 11 noch erfolgreich laden und speichern.

Neben dem Beispielprojekt sind auch die Log-Dateien beigefügt.

 5203 
100%
GUI & ServerFehlerberichthoch GUI crasht beim Schließen von Projekten geschlossen3.3 Beta x3.321.12.202321.12.2023LightningBrothers Aufgabenbeschreibung

Wenn ich ein beliebiges Projekt schließe, dann crasht jedes Mal die GUI. Dabei spielt es keine Rolle, ob es ein bereits gefülltes Projekt ist, oder wie beigefügt, ein neues und komplett leeres Projekt.

Es gibt zwar ein weiteres Ticket mit einem vergleichbaren Titel unter der Nummer  FS#4986 , allerdings konnte ich das Problem seiner Zeit nicht nachstellen. Außerdem ist der Punkt nun bei mir in der aktuellen Version erst neu aufgetreten.

Im Anhang die Log-Dateien sowie das Projekt.

 5182 
100%
TimecodePlayerFehlerberichtmittel Kurze Cuelist Tracks verhindern das erneute Ausführen e ...geschlossen3.3 Beta x3.326.11.202319.12.2023LightningBrothers Aufgabenbeschreibung

Ich habe das Projekt aus  FS#5181  nun im Bereich der Zeiten von Cues und der Cuelist weiterbearbeitet. Nun ist die Cuelist kürzer als die Audiodatei. Wie im Ticket  FS#5181  soll sie sich aber über “Release when last cue ends” selbst beenden.

Führe ich die Timecode Show das erste Mal nach dem Laden des Projekts aus, läuft diese auch wie gewünscht ab. Auch wird sie mit dem Zurücksetzen des Markers auf 0 nicht erneut in Teilen ausgeführt.

Starte ich die Timecode Show ein zweites Mal, wird ausschließlich die Audio-Datei wiedergegeben. Die Cuelist selbst bleibt “dunkel”. Der Kernel wirft dabei folgende Fehlermeldung:

17:34:13 ERROR Timecode -
org.dmxc.lumos.Kernel.Exceptions.KernelPanicException: WTF
   at org.dmxc.lumos.Kernel.Scene.RealtimeTimestamp.initialize() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Scene\RealtimeTimestamp.cs:line 104
   at org.dmxc.lumos.Kernel.Scene.RealtimeTimestamp.reset() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Scene\RealtimeTimestamp.cs:line 90
   at org.dmxc.lumos.Kernel.SceneList.AbstractSceneContainer.resetTimestamp() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\SceneList\AbstractSceneContainer.cs:line 89
   at org.dmxc.lumos.Kernel.SceneList.SceneList.play() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\SceneList\SceneList.cs:line 986
   at org.dmxc.lumos.Kernel.Timecode.CuelistTrack.<>c__DisplayClass26_0.<proccessNextFrame>g__feed|7(IEnumerable`1 scenelistTimeslots, Boolean triggerPlay) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Timecode\Tracks\CuelistTrack.cs:line 199
   at org.dmxc.lumos.Kernel.Timecode.CuelistTrack.proccessNextFrame(Int64 tick) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Timecode\Tracks\CuelistTrack.cs:line 0
   at org.dmxc.lumos.Kernel.Timecode.Track.ProcessNextFrame(Int64 tick) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Timecode\Tracks\Track.cs:line 191
   at org.dmxc.lumos.Kernel.Timecode.Timecode.<>c__DisplayClass139_0.<processNextFrame>b__4(ITrack t) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Timecode\Timecode.cs:line 1109
   at LumosLIB.Tools.CommonTools.ForEach[T](IEnumerable`1 source, Action`1 action, Boolean parallel) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosToolsLIB\src\Tools\CommonTools.cs:line 598
   at org.dmxc.lumos.Kernel.Timecode.Timecode.processNextFrame() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Timecode\Timecode.cs:line 1095

Die Erwartungshaltung ist, dass ich an dieser Stelle die Timecode Show ebenfalls mehrfach wiedergeben kann, selbst wenn die Cuelist kürzer als die Audio-Datei ist. Wie aktuell schon der Fall muss die Audio-Datei aber bis zum Ende wiedergegeben werden.

Im Anhang sind das angepasste Projekt sowie die Log-Dateien zu finden.

 5181 
100%
TimecodePlayerFehlerberichtmittel Timecode Show kann mit automatisch endener Cuelist nich ...geschlossen3.3 Beta x3.326.11.202319.12.2023LightningBrothers Aufgabenbeschreibung

Ich habe das Projekt aus  FS#5180  weitergebaut und in eine Timecode Show überführt.

Führe ich die Timecode Show erstmalig nach dem Laden des Projekts aus, läuft diese bis zum Ende der Release Time wie erwartet ab. In dem Moment, wo der Marker wieder auf 0 springt (weil die sich Cuelist beendet hat), wird der Inhalt der Cue 2 wiedergegeben. Führe ich dann die Timecode Show erneut aus, wird die Cue 1 vollständig ignoriert und nur der Release der Cuelist ausgeführt.

Die Erwartungshaltung ist, dass nach dem automatischen Beenden der Cuelist (Release when last cue ends) und dem Zurücksetzen des Markers die Cuelist wie nach dem Laden des Projekts (oder dem manuellen Stoppen) aus ist und ich die Timecode Show vollständig wiedergeben kann.

Hätte ich als Release Mode “manual only” gewählt, dann wäre das aktuelle Verhalten in Ordnung.

 5180 
100%
GUI & ServerFehlerberichtmittel Cuelist mit Audio cue wird nicht wiedergeben geschlossen3.3 Beta x3.326.11.202328.11.2023LightningBrothers Aufgabenbeschreibung

Im QRM 22.3 wurde festgelegt, dass Cuelists mit Audio Cues grundsätzlich weiter existieren sollen. Einzig die Funktion, dass die Audio cue an die entsprechende Cuelist einen Timecode zurück gibt, wird entfernt. Siehe hierzu die Kommentare in  FS#4755 .

Ich habe in dem beigefügten Projekt nun eine Cuelist, die aus einer Audio cue und drei Licht cues besteht. Für ich die Cuelist aus, wird einzig die Audio cue wiedergeben. Alle nachfolgenden (Licht) Cues werden nicht ausgeführt, ob hier follow-Trigger hinterlegt sind.

Die Erwartungshaltung ist auf Basis des genannten Beschluss, dass die Cuelist eben vollständig bis zur letzten Cue ausgeführt wird.

 5178 
100%
GUI & ServerWunsch / Ideeniedrig WPF-Message-Box hat keine feste Größe geschlossen3.3 Beta x3.323.11.202321.12.2023LightningBrothers Aufgabenbeschreibung

Die neue WPF-Message-Box kann aktuell noch in ihrer Größe angepasst. Dabei ist auch ein Maximieren möglich, wenn ich das Fenster an den Bildschirmrand ziehe. Dies sollte aber unterbunden werden und die WPF-Message-Box sollte eine ggf. global vorgegebene Größe erhalten.

 5176 
100%
InputAssignmentWunsch / Ideeniedrig DMXC-Mixer-Node: Zusätzliche Outputs für Device-Name un ...geschlossen3.2.318.11.202320.11.2023LightningBrothers Aufgabenbeschreibung

Das DMXC-Mixer-Node hat auf der Output-Seite aktuell nur den Output “Device”, in dem die Device-ID angezeigt wird. Hier sollten aus Konsistenzgründen noch die Outputs “Name” und “Number” hinzugefügt werden, so wie es bei vielen anderen Wrapper-Nodes der Fall ist.

Dem entsprechend würden die ersten drei Outputs wie folgt lauten:

  • (Device-) Name
  • (Device-) ID
  • (Device-) Number
5175
0%
GUI & ServerWunsch / IdeeniedrigPresets: Automatisch zum neuen Preset springenUnbestätigt3.3 Beta x18.11.202318.11.2023LightningBrothers Aufgabenbeschreibung

Lege ich ein neues Preset an, sollte innerhalb des Fensters immer automatisch zu diesem neuen Preset gesprungen werden, dass ich nicht durch die Liste scrollen muss. Im Idealfall wird es auch noch automatisch ausgewählt.

5174
0%
GUI & ServerWunsch / IdeeniedrigPresets: Auswahl des Presets bei "Edit in Programmer"Unbestätigt3.3 Beta x18.11.202318.11.2023LightningBrothers Aufgabenbeschreibung

Ich ändere ein existierendes Preset über “Edit in Programmer”. Das Preset ist dabei in der Liste nicht ausgewählt. Um die gewünschten Änderungen nun wieder zurück zu speichern, muss ich das richtige Preset auswählen, um dann über “Add Preset” den entsprechenden Befehl hierfür auszuführen.

Den Schritt des “Auswählens” des Presets, welches sich gerade im Programmer befindet, würde ich mir gerne sparen, indem dieses automatisch ausgewählt wird, sobald ich “Edit in Programmer” aufrufe.

 5173 
100%
Project ExplorerFehlerberichtniedrig Einträge "Macro Board Profiles" und "Softdesk" verrutsc ...geschlossen3.3 Beta x3.310.11.202319.02.2024LightningBrothers Aufgabenbeschreibung

Mit der Beta 9 hat sich die Reihenfolge der Einträge im Project Explorer geändert. Aktuell

  • findet sich der Eintrag “Macro Board Profiles” an oberster Position im Project Explorer wieder
  • ist der Eintrag “Softdesk” der vorletzte Eintrag.

Wenn ich in die älteren Versionen schaue, dann sollte folgende Reihenfolge die passende sein

  1. Cuelists
  2. Cuelist Groups
  3. Devices
  4. Device Groups
  5. Presets
  6. Files
  7. Item Lists
  8. Electricity
  9. Timecode Shows
  10. Macros
  11. Master
  12. Executor Pages
  13. Softdesks
  14. Macro Board Profiles
  15. Stage Views
  16. Layouts
  17. Project Settings
 5172 
100%
GUIWunsch / Ideeniedrig Zeitfenster für automatisches Schließen der Abfrage "Lo ...geschlossen3.3 Beta x3.310.11.202305.12.2023LightningBrothers Aufgabenbeschreibung

Aus meiner Sicht sollte die Zeit für das automatische Schließen der Abfrage “Load last window layout?” verlängert werden. Gerade wenn ich größere Projekte lade, ist DMXControl 3 noch lange mit sich selbst beschäftigt. In diesem Zustand geht die Abfrage ein Stück weit darin unter, weil im Hintergrund noch vielerlei Dinge passieren.

5171
0%
InputAssignmentFehlerberichtniedrigÄnderung von Schriftart und -größe werden nicht ausgege...Unbestätigt3.3 Beta x3.3.110.11.202315.03.2024LightningBrothers Aufgabenbeschreibung

Nach der Behebung von  FS#5168  kann ich im Draw Bitmap Node zwar nun wieder Schriftart und -größe wählen und sie werden vom Node auch gespeichert, jedoch werden diese Änderung nicht mehr an das Macroboard weitergegeben - sowohl hardwareseitig auf dem Macroboard selbst als auch softwareseitig in der Anzeige der Macroboard Profilen. Auch ein Speichern und Neuladen des Projekts schafft keine Abhilfe.

Die Farbe des Textes und auch die Inhalte werden dagegen erwartungsgemäß aktualisiert.

In dem beigefügten Projekt habe ich ein einfaches Beispiel generiert. Eigentlich sollte hier der Button 1.1 des Macro Boards den Text in der Schriftart “Arial” in der Schriftgröße “20px” anzeigen.

 5170 
100%
GUI & ServerFehlerberichtkritisch Rechnen in Werten für Funktionen und Parametern für Eff ...geschlossen3.3 Beta x3.310.11.202312.11.2023LightningBrothers Aufgabenbeschreibung

Mit der Beta 11 ist das Rechnen mit Mastern in den Parametern eines Effekts nicht mehr zulässig. In welchem Wert für eine Funktion oder welcher Effekt dabei verwendet wird, ist dabei (offenbar) nicht relevant. Ich habe es unter anderem für die Effekte

  • Bump
  • PWM
  • Chaser

sowie für die Funktionswerte

  • Dimmer
  • Strobe

probiert für unter anderem folgenden Syntax:

  • Amplitude / Dimmer: {Parametermaster 1:*2} oder {Parametermaster 1: *2}
  • Frequency / Duration / Strobe : {Speedmaster 1:/2}

Ich habe das Problem auf kritisch gesetzt, weil auf Grund dieses Fehlers alle Projekte nicht geladen werden können, in denen mit den Mastern gerechnet wurde.

Logs kann ich nicht beifügen, da im Moment der Bestätigung der Eingabe keine Einträge generiert werden. Es erscheint in der GUI nur die generische Fehlermeldung “Value not valid”.

 5168 
100%
InputAssignmentFehlerberichtniedrig Draw Bitmap Node: Änderung der Schriftart nicht möglich geschlossen3.3 Beta x3.328.10.202310.11.2023LightningBrothers Aufgabenbeschreibung

Ich füge in einem neuen leeren Projekt das Draw Bitmap Node ein und ändere die Schriftart von “Courier New” auf “Arial”. Diese Änderung wird vom Node zwar angenommen, aber nicht umgesetzt. Auch ein Speichern und Neuladen des Projekts hilft hier nicht.

Klappe ich den Eintrag “Font” in den Einstellungen des Nodes auf, steht dort in jeder Zeile die folgende Fehlermeldung:

Der Typ "System.Drawing.FontConverter" in der Assembly "System.Drawing.Common, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" konnte nicht geladen werden.

Dieser Eintrag taucht in keinem der Logs auf, daher nur der Screenshot.

 5166 
100%
UmbraFehlerberichtniedrig BidirectionalStreamBridgeWithResponseFilter - Request L ...geschlossen3.3 Beta x3.317.10.202327.11.2023LightningBrothers Aufgabenbeschreibung

Ich habe ein neues Projekt mit zwei kleinen Connectionsets angelegt, dieses gespeichert, geschlossen und dann wieder neu aufgerufen.

Wechsele ich in die Graphenansicht, gibt der Umbra in regelmäßigen Abständen die folgende Fehlermeldung aus. Sobald ich wieder in die Tabellenansicht zurückgehe, ist alles “ruhig”.

19:22:15 ERROR BidirectionalStreamBridgeWithResponseFilter - Request Listener ConnectionSetProcessed has faulted.
System.IO.IOException: The client reset the request stream.
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2MessageBody.ReadAsync(CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
   at Grpc.AspNetCore.Server.Internal.PipeExtensions.ReadStreamMessageAsync[T](PipeReader input, HttpContextServerCallContext serverCallContext, Func`2 deserializer, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
   at Grpc.AspNetCore.Server.Internal.HttpContextStreamReader`1.<MoveNext>g__MoveNextAsync|9_0(ValueTask`1 readStreamTask)
   at Grpc.Core.AsyncStreamReaderExtensions.ReadAllAsyncCore[T](IAsyncStreamReader`1 streamReader, CancellationToken cancellationToken)+MoveNext()
   at Grpc.Core.AsyncStreamReaderExtensions.ReadAllAsyncCore[T](IAsyncStreamReader`1 streamReader, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
   at Umbra.Bridge.BidirectionalStreamBridgeWithResponseFilter`2.<>c__DisplayClass7_0.<<ClientSideTaskWithFilter>b__0>d.MoveNext() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Umbra\src\Bridge\BidirectionalStreamBridgeWithResponseFilter.cs:line 60
--- End of stack trace from previous location ---
   at Umbra.Bridge.BidirectionalStreamBridgeWithResponseFilter`2.<>c__DisplayClass7_0.<<ClientSideTaskWithFilter>b__0>d.MoveNext() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Umbra\src\Bridge\BidirectionalStreamBridgeWithResponseFilter.cs:line 60

Die Fehlermeldung kann ich gut mit dem beigefügten Projekt reproduzieren, indem ich in einem der beiden Graphen anfange, die Nodes zu verschieben - spätestens, wenn ich das im zweiten Graphen mache.

5165
0%
UmbraFehlerberichtmittelUmbra startet nicht auf Grund von veralteter Microsoft....Unbestätigt3.3 Beta x11.10.202316.10.2023LightningBrothers Aufgabenbeschreibung

In Vorbereitung zum Livestream habe ich den Build 645 der 3.3 installiert. Danach ließ sich der Umbra (mal wieder) nicht starten.

Der Installer hat fand dabei nicht gewünschte Version der .net Desktop Runtime und führte das Setup erneut aus. Nachfolgend der betreffende Auszug aus dem Log des Installers:

Checking if .NET 4.8 is installed...
.NET 4.8 found!
Checking if ASP.NET Core 6 (32bit) is installed...
ASP.NET Core 6 (x32) found!
Checking if ASP.NET Core 6 (64bit) is installed...
ASP.NET Core 6 (x64) found!
Checking if .NET 6 Desktop Runtime (x32) is installed...
Checking if .NET 6 Desktop Runtime (x64) is installed...
.NET 6 Desktop Runtime (x64) found!
Checking if Visual C++ 2015 Redistributable is installed...
Visual C++ 2015 Redistributable found!
Checking if XNA 4.0 is installed...
XNA 4.0 found!
Checking if Windows Installer 3.1 is installed...
Windows Installer 3.1 found!
Verzeichnis wird erstellt: C:\Program Files (x86)\DMXControl Projects\DMXControl 3.3.0
Lade .NET Desktop (x86)...
Installiere .NET Desktop (x86)...
Datei wird gelöscht: C:\Program Files (x86)\DMXControl Projects\DMXControl 3.3.0\dotnetdesktop-current-windows-runtime-bundle-installer.exe
Lade .NET Desktop (x64)...
Installiere .NET Desktop (x64)...
Datei wird gelöscht: C:\Program Files (x86)\DMXControl Projects\DMXControl 3.3.0\dotnetdesktop-current-windows-runtime-bundle-installer.exe

Der Start des Umbras schlug aber dann entsprechend fehl. Die Ereignisanzeige von Windows gab dabei folgende Fehlermeldung:

Description: A .NET application failed.
Application: Umbra.exe
Path: C:\Program Files (x86)\DMXControl Projects\DMXControl 3.3.0\Umbra\Umbra.exe
Message: You must install or update .NET to run this application.

App: C:\Program Files (x86)\DMXControl Projects\DMXControl 3.3.0\Umbra\Umbra.exe
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '6.0.23' (x64)
.NET location: C:\Program Files\dotnet\

The following frameworks were found:
  6.0.22 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

Learn about framework resolution:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=6.0.23&arch=x64&rid=win10-x64

Zum Zeitpunkt dieser Fehlermeldung war auf dem PC die Version 6.0.22 installiert. Über das Windows-Update war die Version 6.0.23 in der Pipeline. Erst nachdem dieses Update eingespielt wurde, ließ sich der Umbra wieder starten.

Irgendwie sollte versucht werden, das Problem dahingehend abzufangen, dass mal als Nutzer einen Hinweis erhält - und sei es eben nur Hinweis, der sich eben nicht nur in der Ereignisanzeige versteckt.

 5162 
100%
GUI & ServerFehlerberichtniedrig Project Adiministration kann zweimal geöffnet werden geschlossen3.3 Beta x3.301.10.202331.10.2023LightningBrothers Aufgabenbeschreibung

Nach der Implementation des Tickets ??? öffnet sich die die Project Administration nun automatisch nach dem Start von DMXC 3.3, sobald zwischen GUI und Kernel eine Verbindung aufgebaut ist.

Es ist allerdings möglich, dass ich die Project Administration nach dem Start der GUI bis zur Herstellung der Verbindung zum Kernel ebenfalls direkt aus der GUI öffne. Ist die Verbindung dann aufgebaut, wird die Project Administration ein zweites Mal durch den oben beschriebenen Automatismus geöffnet. In diesem Fall ist die Project Administration also zweimal geöffnet.

Im Idealfall sollte dies abgefangen werden, weil unter Umständen die Gefahr besteht, dass das zweite Fenster im Hintergrund liegt und man die Software nicht weiter bedienen kann. Auf alle Fälle ist es so, dass die zweite Project Administration geöffnet bleibt, sobald der Ladevorgang vom Laden eines Projekts über die zuerst geöffnete Project Administration abgeschlossen ist.

 5161 
100%
GUI & ServerFehlerberichtmittel Hoher Datenverkehr im DMXC-Netzwerk beim Verschieben vo ...geschlossen3.3 Beta x3.301.10.202314.11.2023LightningBrothers Aufgabenbeschreibung

Ich habe mit der Beta 10 ein neues Projekt erstellt und einen einzigen Graphen gebaut, der insgesamt 11 Nodes und 6 In- bzw- Outputs umfasst. Verschiebe ich nun eines der sechs Compare-Nodes, steigt der Datenverkehr im DMXC-Netzwerk massiv an. Es werden gemäß GUI rund 3.000 Nachrichten übertragen, die eine Auslastung von rund 6 MB/s generieren. Das führt auch dazu, dass das Verschieben selbst nicht mehr flüssig abläuft. Auch die Funktion “Auto position” stockt und positioniert die Nodes nicht mehr richtig.

Dieses Problem ist aber gefühlt eher neueren Datums. Genauer eingrenzen kann ich dies später.

Im Anhang findet sich das entsprechende Projekt, ein Screenshot und die zugehörigen Logs.

 5158 
100%
ServerFehlerberichtmittel Chaser: Wert für Size größer gleich Anzahl Geräte in De ...geschlossen3.3 Beta x3.328.09.202330.10.2023LightningBrothers Aufgabenbeschreibung

Ich habe den Chaser auf eine Gruppe von 10 Geräten gezogen und den Play Mode auf “Random” gesetzt. Wähle ich bei “Size” einen Wert, der der Anzahl der Geräte dieser Gruppe entspricht oder darüber hinaus geht - im aktuellen Beispiel also >= 10 - hängt sich der Chaser mit folgender Fehlermeldung auf:

20:14:36 WARN  SceneFadeTicker+TickerParallelBag - Exception triggering Item: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at org.dmxc.lumos.Kernel.PropertyValue.Filter.Chaser.RandomChaserPattern.GetNextIndex(Int32 deviceCount) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\PropertyValue\Filter\Chaser\Pattern\RandomChaserPattern.cs:line 61
   at org.dmxc.lumos.Kernel.PropertyValue.Filter.Chaser.RandomChaserPattern.GetNextStep(Int32 deviceCount, Int32 length) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\PropertyValue\Filter\Chaser\Pattern\RandomChaserPattern.cs:line 25
   at org.dmxc.lumos.Kernel.PropertyValue.Filter.Chaser.AbstractChaserPattern.doUpdateChaser(Int64 timeInMs, Int64 delta, Int32 duration, Int32 fadetime, Int32 deviceCount, Int32 length, Int32 stepSize, Int32 breakSteps, Int32 breakTime) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\PropertyValue\Filter\Chaser\Pattern\AbstractChaserPattern.cs:line 69
   at org.dmxc.lumos.Kernel.PropertyValue.Filter.ChaserFilter2.doFilter(IPropertyValue input, Int64 timeInMs, Int64 delta) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\PropertyValue\Filter\Chaser\ChaserFilter2.cs:line 215
   at org.dmxc.lumos.Kernel.PropertyValue.Filter.AbstractEffectFilter.doFilter(IPropertyValue input) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\PropertyValue\Filter\AbstractEffectFilter.cs:line 47
   at Lumos.Kernel.Scene.Entry.FilterAdapter.PropertyValueFilterRuntimeDecorator.doFilter(IPropertyValue input) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Scene\Entry\FilterAdapter\PropertyValueFilterRuntimeDecorator.cs:line 103
   at org.dmxc.lumos.Kernel.PropertyValue.AbstractPropertyValue.getPropertyValue(Int64 timeInMsAbs) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\PropertyValue\AbstractPropertyValue.cs:line 401
   at org.dmxc.lumos.Kernel.PropertyValue.AbstractPropertyValue.setOutputTime(Int64 timeInMsAbs, Double delayPercent, Double fadePercent, Boolean fadeIn, IMixerRegister register, IProcessable fader) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\PropertyValue\AbstractPropertyValue.cs:line 367
   at org.dmxc.lumos.Kernel.Scene.Fade.FadeDecorator.setOutputTime(Int64 timeInMsAbs, Double delayPercent, Double fadePercent, Boolean fadeIn, IMixerRegister register, IProcessable fader) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Scene\Fade\FadeDecorator.cs:line 94
   at org.dmxc.lumos.Kernel.Scene.Delay.DelayDecorator.setOutputTime(Int64 timeInMsAbs, Double delayPercent, Double fadePercent, Boolean fadeIn, IMixerRegister register, IProcessable fader) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Scene\Delay\DelayDecorator.cs:line 41
   at org.dmxc.lumos.Kernel.Scene.Fade.AutoFadeDecorator.triggerFade() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Scene\Fade\AutoFadeDecorator.cs:line 35
   at org.dmxc.lumos.Kernel.Scene.Fade.AbstractValueFadeDecorator.triggerFade(Boolean& deregister) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Scene\Fade\AbstractValueFadeDecorator.cs:line 205
   at org.dmxc.lumos.Kernel.Scene.Fade.AbstractFadeDecorator.trigger() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Scene\Fade\AbstractFadeDecorator.cs:line 91
   at org.dmxc.lumos.Kernel.Scene.SceneFadeTicker.TickerParallelBag.processBag(ProcessableTickerBag bag, Int64 now) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Scene\SceneFadeTicker.cs:line 350
 5156 
100%
GUI & ServerToDohoch Aufteilung der xml-Daten für ein Bereich in einem Proje ...geschlossen3.3 Beta x3.326.09.202328.09.2023LightningBrothers Aufgabenbeschreibung

Es zeigte sich zuletzt, dass unter anderem die Graphs.xml wegen eines OutOfMemory-Exeption nicht gespeichert werden kann, wenn die Graphen im Input Assignment entsprechend umfangreich ausfallen.

Um das Problem zu beheben, sollen verschiedene Dateien im Projekt automatisch in rollierender Weise aufgeteilt werden, wie es in etwa auch bei den Log-Dateien bereits gemacht wird.

 5154 
100%
InputAssignmentFehlerberichtniedrig Geänderte Namen von Macros, Softdesk werden nicht weite ...geschlossen3.3 Beta x3.319.09.202323.12.2023LightningBrothers Aufgabenbeschreibung

Ändere ich den Namen für die Elemente eines Makros oder aus dem Softdesk, so wird der Name nur im Input-Baum und Output-Baum direkt aktualisiert. Die Inputs und Outputs in den Graphen selbst behalten den Namen bei.

5152
80%
GUIFehlerberichtmittelGUI stockt / stürzt ab bei Werteänderung über MIDIBenötigt Tests3.3 Beta x3.3.116.09.202321.12.2023LightningBrothers Aufgabenbeschreibung

Mit dem beigefügten Projekt habe ich eine einfache Ansteuerung der Position von in der Stage View ausgewählten Geräten über meinen MIDI-Controller (Traktor F1) realisiert. Bei schnellen, ruckartigen Werteänderungen stockt GUI bis hin zum Einfrieren. Das Stocken betrifft im konkreten Fall unter anderem das Position Control und das Device Control. Hier liegt bei mir die Vermutung nahe, dass bei einer meiner letzten Nutzung im größeren Umfeld deswegen die GUI auch komplett abgestürzt ist. Der gezeigte Auszug aus den beigefügten Logs entstammt der ersten GUI-Session.

2023-09-15 18:44:42,258 [74] FATAL Lumos.GUI.Run.GuiRunManager - Unhandled Exception: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei Lumos.GUI.Facade.DeviceProperties.DevicePropertyFacade.<OnProgrammerValueChanged>d__71.MoveNext() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosGUI\src\Facade\DeviceProperties\DevicePropertyFacade.cs:Zeile 516.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
   bei System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_1(Object state)
   bei System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   bei System.Threading.ThreadPoolWorkQueue.Dispatch()
   bei System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Nutze ich im gleichen Connectionset statt die Fader / Encoder meines MIDI-Controllers die beiden Slider des ebenfalls enthaltenen Softdesks, werden alle Werteänderungen sauber umgesetzt. Sowohl langsame als auch schlagartige Werteänderungen kommen nahezu verzögerungsfrei im Position Control und im Device Control an.

5150
0%
UmbraFehlerberichthochKontinuierlicher Anstieg der Arbeitsspeicherauslastung ...Nicht Reproduzierbar3.3 Beta x13.09.202326.09.2023LightningBrothers Aufgabenbeschreibung

Ich musste gerade feststellen, dass es beim Umbra einen kontinuierlichen Anstieg der Auslastung des Arbeitsspeichers durch den Umbra gibt, obwohl kein Projekt (mehr) geladen ist. Innerhalb von ca. 10 Minuten lag dieser Wert laut Taskmanager bei rund 400MB.

Was habe ich gemacht?

  • Umbra manuell auf PC2 gestartet
  • Kernel ca. 30 Sekunden später manuell auf PC2 gestartet
  • Weitere 30 Sekunden später GUI manuell auf PC1 gestartet
  • Zwei unterschiedliche Projekte geladen und wieder geschlossen
  • Komplettes Setup ca. 5 Minuten nach dem Start komplett im Leerlauf belassen und die Auslastung des Arbeitsspeichers durch den Umnbra beobachtet. Nach ca. 10 Minuten lag Wert bei ca. 400MB
  • GUI auf PC1 geschlossen
  • Weitere 10 Minuten die Auslastung des Arbeitsspeichers beobachtet bei weiterhin aktiver lokaler Verbindung zum Kernel auf PC. Nach Ablauf dieser Zeit lag der Wert vor dem Herunterfahren des Umbras bei 468MB (siehe auch kurz vorher erstellten, beigefügten Screenshot).

Dieses Verhalten kann ich mit der Beta 9 in zwei Konstellationen nachstellen:

  • Kernel und Umbra auf PC2 (Windows 11), GUI auf PC1 (Windows 10)
  • Alle drei Programme lokal auf PC1 (Windows 10)

Im Anhang die Logs aus der 1. Konstellation.

 5149 
100%
GUI & ServerFehlerberichtniedrig Beat-Signal wird während Learn des SpeedMasters nicht a ...geschlossen3.3 Beta x3.311.09.202316.10.2023LightningBrothers Aufgabenbeschreibung

Ich habe im beigefügten Projekt zwei uelists mit mehreren beatgesteuerten Cues, denen ich ihre eigenen SpeedMaster zugeordnet habe. Lerne ich den neuen BPM-Wert an - egal ob über Input Assignment via Tastatur-Taste “L” oder direkt im Master-Fenster - bleibt die interne Ausgabe des Beatsignals stehen, bis ich mit dem Lernen durch bin.

Dieses Problem sieht optisch blöd aus und ist (offenbar) mit der Implementierung des Multimedia-Timers (wieder) entstanden (siehe unter anderem Commit 6eaf309459 und ggf. auch 225677e07d). Unter anderem die Beta 6 zeigte dieses Verhalten nicht, sodass die beatgesteuerteren Cues während des Learn weiterliefen.

Zum Nachvollziehen das Projekt öffnen, die Taste G zum Starten der beiden Cuelists drücken und dann den Beat über L anlernen bzw. über S synchronisieren.

5148
90%
GUI & ServerFehlerberichtniedrigProjekt Errors: Fehlende Meldungen zu DDF-Fehlern aus H...Auf User warten3.3 Beta x3.310.09.202307.02.2024LightningBrothers Aufgabenbeschreibung

Ich habe die Version 0.0.251 des Projekts aus  FS#5147  geladen. Dabei werden folgende Meldungen nicht im Project Error Fenster anzeigt:

2023-09-10 19:40:44,135 [Log-Thread] WARN  org.dmxc.lumos.Kernel.HAL.Handler.DMXRangeWithValueRange - Min and Max Value in DDF are swapped (Max < Min). This leads to unexpected behaviour. Invert DMX Min / Max if required: Location: device-->functions-->colorwheel-->rainbow-->range

Diese Meldung ist eigentlich ein wichtiger Hinweis, dass (zwingend) Korrekturen am DDF vorgenommen werden müssen, welche beim Ignorieren später zu einem Nicht-Laden des Projekts führen können. Daher sollten auch schon solche Meldungen im Project Error Fenster auftauchen.

5144
0%
InputAssignmentWunsch / IdeeniedrigCompare Node: zusätzlicher Modi "><" (zwischen) und "<>...Unbestätigt3.2.306.09.202330.10.2023LightningBrothers Aufgabenbeschreibung

Aktuell kann das Compare Node nicht verwendet werden, um zu prüfen, ob der anliegende Wert zwischen >< bzw. außerhalb <> zwei Werten liegt. Grundsätzlich lässt sich dies mit einem Konstrukt aus zwei Compare-Nodes und einem Logic-Node bauen. Es wäre aber hilfreich, wenn der Compare-Node diese Möglichkeiten direkt anbieten würde.

 5135 
100%
GUI & ServerFehlerberichthoch Out Of Range Execption - Error when loading Project: In ...geschlossen3.3 Beta x3.330.08.202329.10.2023LightningBrothers Aufgabenbeschreibung

Beim Laden eines Projekts mit der Beta 9, welches zuletzt mit der Beta 8 gespeichert wurde, tritt folgender Fehler auf. Es hat mal wieder etwas mit dem PositionMaster zu tun, wo ich einen angepassten Wertebereich von 0;-45 bis 0;45 hinterlegt habe.

22:44:43 WARN  ProjectManager - Error when loading Project: Input must be >= inMin [0] (Parameter 'input')
Actual value was -45.
System.ArgumentOutOfRangeException: Input must be >= inMin [0] (Parameter 'input')
Actual value was -45.
   at LumosLIB.Tools.LumosTools.RuleOfThree(Double input, Double inMax, Double inMin, Double outMax, Double outMin, ERuleOfThreeBehavior behavior) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosLIB\src\Tools\LumosTools.cs:line 537
   at org.dmxc.lumos.Kernel.Master.PositionMaster.UpdateRelativeValueFromPosition(Position position) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Master\PositionMaster.cs:line 125
   at org.dmxc.lumos.Kernel.Master.PositionMaster.set_Position(Position value) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Master\PositionMaster.cs:line 89
   at org.dmxc.lumos.Kernel.Master.PositionMaster.set_Min(Position value) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Master\PositionMaster.cs:line 209
   at org.dmxc.lumos.Kernel.Master.PositionMaster.LoadFromManagedTree(ManagedTreeItem m, LumosIOContext context) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Master\PositionMaster.cs:line 252
   at org.dmxc.lumos.Kernel.Master.MasterManager.LoadBeforeContainer(LumosIOContext context) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Master\MasterManager.cs:line 815
   at org.dmxc.lumos.Kernel.Master.MasterManager.org.dmxc.lumos.Kernel.Run.ILumosProjectManager.loadProject(LumosIOContext context, ELoadTime time) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Master\MasterManager.cs:line 747
   at org.dmxc.lumos.Kernel.Project.ProjectManager.<>c__DisplayClass51_1.<LoadProjectFromStream>b__1(ILumosManager m) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Project\ProjectManager.cs:line 425
   at System.Linq.Enumerable.All[TSource](IEnumerable`1 source, Func`2 predicate)
   at org.dmxc.lumos.Kernel.Run.AbstractRunManager`2.DoManagerTopDown(Func`2 action) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosLIB\src\Kernel\Run\AbstractRunManager.cs:line 142
   at org.dmxc.lumos.Kernel.Project.ProjectManager.LoadProjectFromStream(ProjectVersionID id, Stream projectStream, IProgress`1 progress) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Project\ProjectManager.cs:line 420
   at org.dmxc.lumos.Kernel.Project.ProjectManager.LoadProjectFromProjectStore(ProjectVersionID id, IProgress`1 progress) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Project\ProjectManager.cs:line 344
   at org.dmxc.lumos.Kernel.Net.gService.Project_gService._loadProjectVersion_RequestReceived(Object sender, RequestEventArgs`1 args) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Net\gService\Project_gService.cs:line 622

Mit dem beigefügten Testprojekt lässt sich der Fehler nachstellen.

5132
0%
GUI & ServerFehlerberichtmittelAbsturz der GUI nach Ändern der IP-Adresse des Server-P...Unbestätigt3.3 Beta x28.08.202329.09.2023LightningBrothers Aufgabenbeschreibung

Ich habe mich mit dem PC 1 in einer 1:1-Verbindung auf dem Umbra verbunden, der gemeinsam mit dem Kernel auf PC 2 läuft. Nun ändere ich währenddessen die IP-Adresse des PC 2. Nach einem kleinen Moment stürzt die GUI ab.

Die Verbindung zwischen Umbra und Kernel bleibt auf dem PC 2 bestehen und auch beide Programme laufen weiter. Nach einem Neustart der GUI war ein direktes Verbinden und weiterarbeiten mit dem ggf. aktuell geladenen Projekt möglich.

Das erwartete Verhalten wäre an dieser Stelle, dass die GUI es zumindest abfangen kann, wenn die ursprüngliche Verbindung unterbrochen wird - was ja auch in anderen Konstellationen vorkommen kann.

Die Logfiles sind für beide PCs (PC 1: GUI, PC 2: Umbra und Kernel) im Anhang beigefügt.

5122
0%
InputAssignmentWunsch / IdeeniedrigMath Node: Neuer Operator "Average"Unbestätigtunbestimmt21.08.202321.08.2023LightningBrothers Aufgabenbeschreibung

Mit dem neuen Operator “Average” berechnet das Math-Node den (einfachen) Durchschnittswert aus den Werten an allen Eingängen, die nicht leer sind.

 5121 
100%
GUI & ServerToDoniedrig Fehlermeldung "WARN ProjectManager - Error loading com ...geschlossen3.3 Beta x3.317.08.202321.12.2023LightningBrothers Aufgabenbeschreibung

Beim Laden eines Projekts konnte eine Cue in einer Cuelist nicht richtig geladen werden. In der zugehörigen Fehlermeldung wird der Name der Cue mitgeteilt, jedoch aber nicht die Cuelist (in Klartext), die die fehlerhafte Cue enthält.

Nachfolgend hierzu der Auszug des Logs aus der Beta 8.

22:12:39 WARN  ProjectManager - Error when loading Project Clubset 2.3: Warnings in Project
org.dmxc.lumos.Kernel.Exceptions.ProjectIOException: Warnings in Project
   at org.dmxc.lumos.Kernel.Resource.LumosIOContext.ThrowOnWarnings() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Resource\LumosIOContext.cs:line 238
   at org.dmxc.lumos.Kernel.Project.ProjectManager.LoadProjectFromStream(ProjectVersionID id, Stream projectStream, IProgress`1 progress) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Project\ProjectManager.cs:line 461
22:12:39 WARN  ProjectManager - Loading Cue Lists in Project
22:12:39 WARN  ProjectManager - Error loading complete Scene Step 1. There could be a loss of information! in Step 1
 5117 
100%
GUI & ServerFehlerberichtniedrig Timecode-Player-Fenster bleibt leer, wenn man letztes F ...geschlossen3.3 Beta x3.313.08.202320.11.2023LightningBrothers Aufgabenbeschreibung

Ich habe ein Projekt gespeichert, wo der Timecode-Player geöffnet ist. Lade ich das Projekt und bestätige, dass das letzte Fensterlayout geladen werden soll, bleibt der Inhalt des Timecode-Players leer.

 5116 
100%
GUI & ServerFehlerberichtniedrig Ungünstige Angaben im Informations-Teil vom DDF zerschi ...geschlossen3.2.33.313.08.202320.11.2023LightningBrothers Aufgabenbeschreibung

Werden die Angaben im Informations-Teil des DDFs wie folgt formatiert, zerschießen diese das Add Device Dialog entsprechend des beigefügten Screenshot.

<information>
  <ddf-library-id>
    
    </ddf-library-id>
  <model>
        Super Winner HID
    </model>
  <vendor>
         JB Systems
    </vendor>
  <author>
       cooltour
    </author>
  <mode>
       5CH
    </mode>
  <electrical>
    <static>250</static>
  </electrical>
  <comment>
    </comment>
</information>

Da wie zu sehen das DDF auch nicht unter der Gerätebezeichnung oder dem Hersteller erscheinen, sollte über eine der beiden folgenden Szenarien zum Abfangen dieses Problems nachgedacht werden:

  • Im Informations-Teil der DDFs dürfen die Tag für model, vendor etc. nur in einer Zeile liegen. Falls nicht, wird das DDF als ungültig gekennzeichnet.
  • Im Fenster selbst wird eine entsprechende Robustheit eingebaut, dass solche Dinge zu keinem Problem bei der Anzeige mehr führen.
5114
0%
GUIFehlerberichtniedrigAbgedockte Fenster nach Wechsel auf anderen PC teilweis...Unbestätigt3.3 Beta x3.411.08.202314.08.2023LightningBrothers Aufgabenbeschreibung

Ich wechsele recht regelmäßig beim Programmieren zwischen verschiedenen PCs, welche dann auch allesamt noch unterschiedliche Bildschirmkonfigurationen haben - das heißt sowohl die Anzahl als auch die Anordnung.

Immer wenn ich das Projekt nach dem Wechsel erstmalig wieder auf einem anderen PC bzw. unter einer anderen Bildschirmkonfiguration öffne, um daran weiterzuarbeiten, passiert es, dass abgedockte Fenster komplett zusammengeschoben werden. Hierbei ist zu beachten, dass ich die Option “show taskbar icon for floating windows” aktiv habe. Exemplarisch habe ich einen Screenshot für das Input Assignment beigefügt, wo die Fenstergröße effektiv gesehen 0 ist.

Das Gemeine an diesem Problem ist in erster Linie, dass man die Fenster in dieser Größe schnell übersieht, wenn man nicht so wie ich um das Problem weiß. Die Funktion “Move floating windows to primary screen” hilft hierbei leider nicht weiter - sie positioniert auch nur die derart zusammengeschobenen auf dem ersten Bildschirm.

 5113 
100%
GUI & ServerToDoniedrig switch-Funktion für eigene Wertebereiche zum Ein- und A ...geschlossen3.2.33.310.08.202310.08.2023LightningBrothers Aufgabenbeschreibung

Die switch-Funktion kann zwar aktuell neben der einfachen Variante, wo beim halben Weg des DMX-Kanals die Umschaltung von aus auf ein erfolgt bzw. umgekehrt auch einen eigenen Wertebereich für ein und aus vorgeben.

Allerdings müssen in DMXC 3.2.3 bestimmte Angaben doppelt gemacht werden. Beim Shutter ist bereits über die types “closed” und “open” eine eindeutige Zuordnung gewährleistet. Diese Systematik sollte auch für die switch-Funktion übernommen werden, wie im nachfolgenden Beispiel gezeigt.

<switch dmxchannel="0" >
  <step type="off" mindmx="0" maxdmx="3" />
  <step type="on" mindmx="4" maxdmx="255" />
</switch>
 5112 
100%
GUI & ServerWunsch / Ideeniedrig Project Administration: <No Tags> und <No Description>  ...geschlossen3.3 Beta x09.08.202309.08.2023LightningBrothers Aufgabenbeschreibung

Irgendwie bin ich gerade beim Durchtesten nochmal bewusst darüber gestolpert, dass <No Tags> und <No Description> eher ein “technischer” Platzhalter ist. Hier wäre es eigentlich schöner, wenn zumindest entweder die “<>” entfernt werden oder alternativ nichts angezeigt wird, wenn keine Tags bzw. keine Beschreibung angegeben sind.

Bei einem Vergleich mit anderen Infotexten bzw. Platzhaltern wie “Search for Name, Properties” wurde auch eine nicht-technische Gestaltung gewählt.

 5110 
100%
GUIFehlerberichtniedrig Device Control aktualisiert Größe von Matrix erst nach  ...geschlossenunbestimmt06.08.202312.08.2023LightningBrothers Aufgabenbeschreibung

Ich füge eine Generic Matrix einem leeren Projekt hinzu, ändere dann die Größe auf 16 Spalten und 8 Zeilen und bestätige dies.

Im Device Control wird zu diesem weiterhin die alte Größe der Matrix angezeigt, hier also 4 Spalten und 4 Zeilen.

Erst wenn ich einen Matrix Effekt auf die Matrix anwende, erfolgt die Aktualisierung der Größe auf 16 Spalten und 8 Zeilen.

 5088 
100%
GUIFehlerberichtniedrig DMX-Interface-Fenster stürtzt beim Schließen ab geschlossen3.3 Beta x3.316.07.202307.08.2023LightningBrothers Aufgabenbeschreibung

Nach dem Initiieren der Shutdown-Prozesses der GUI ist mit das DMX-Interface-Fenster “abgestürzt”, bedeutet der Inhalt wurde durch das große rote X ersetzt. Im Log der GUI gibt es hierzu folgenden Eintrag.

2023-07-16 21:23:57,362 [Main GUI] ERROR Lumos.GUI.Run.GuiRunManager - Unhandled Exception: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei Lumos.GUI.Windows.DMXInterface.DMXInterfaceForm.<>c__DisplayClass21_0.<<interfacegrid_RowPrePaint>b__3>d.MoveNext() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosGUI\src\Windows\DMXInterface\DMXInterfaceForm.cs:Zeile 288.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
   bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bei LumosToolsLIB.Tools.AsyncHelper.RunSync(Func`1 func) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosToolsLIB\src\Tools\AsyncHelper.cs:Zeile 33.
   bei Lumos.GUI.Windows.DMXInterface.DMXInterfaceForm.interfacegrid_RowPrePaint(Object sender, DataGridViewRowPrePaintEventArgs args) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosGUI\src\Windows\DMXInterface\DMXInterfaceForm.cs:Zeile 284.
   bei System.Windows.Forms.DataGridView.OnRowPrePaint(DataGridViewRowPrePaintEventArgs e)
   bei Lumos.GUI.Controls.DataGrid.LumosDataGridView.OnRowPrePaint(DataGridViewRowPrePaintEventArgs e) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosGUI\src\Controls\DataGrid\LumosDataGridView.cs:Zeile 525.
   bei System.Windows.Forms.DataGridViewRow.Paint(Graphics graphics, Rectangle clipBounds, Rectangle rowBounds, Int32 rowIndex, DataGridViewElementStates rowState, Boolean isFirstDisplayedRow, Boolean isLastVisibleRow)
   bei System.Windows.Forms.DataGridView.PaintRows(Graphics g, Rectangle boundingRect, Rectangle clipRect, Boolean singleHorizontalBorderAdded)
   bei System.Windows.Forms.DataGridView.PaintGrid(Graphics g, Rectangle gridBounds, Rectangle clipRect, Boolean singleVerticalBorderAdded, Boolean singleHorizontalBorderAdded)
   bei System.Windows.Forms.DataGridView.OnPaint(PaintEventArgs e)
   bei Lumos.GUI.Controls.DataGrid.LumosDataGridView.OnPaint(PaintEventArgs e) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosGUI\src\Controls\DataGrid\LumosDataGridView.cs:Zeile 529.
   bei System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   bei System.Windows.Forms.Control.WmPaint(Message& m)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.DataGridView.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 5087 
100%
GUI & ServerFehlerberichtmittel Wiederholende Log-Einträge zu ArtNet- und Verbindungs-P ...geschlossen3.3 Beta x3.316.07.202324.07.2023LightningBrothers Aufgabenbeschreibung

Über eine lange Laufzeit einer Sitzung haben sich im Log des Kernels zahlreiche Fehlermeldungen im Bereich des ArNetManagers aufgestaut, sodass dieses Log allein über 4,5 Millionen Zeilen enthält. Exemplarische Fehlermeldungen sind unten herausgezogen. In diesem Zusammenhang konnte die GUI keine Verbindung mehr aufbauen, weil der Kernel mit Log schreiben beschäftigt war.

Im Anhang sind die kompletten Logs der Sitzung. Bitte beim Öffnen u. U. Zeit einplanen…

2023-06-17 14:57:46,972 [60] ERROR org.dmxc.lumos.Kernel.DMX.ArtNetFactory - 
System.NullReferenceException: Object reference not set to an instance of an object.
   at org.dmxc.lumos.Kernel.DMX.ArtNetManager.ProcessArtDmx(Byte[] packet) in D:\Jenkins\workspace\Lumos_DMXPlugins_Pipeline_3.3\ArtisticLicenseArtNet\src\ArtNetManager.cs:line 557
   at org.dmxc.lumos.Kernel.DMX.ArtNetManager.client_receive(IAsyncResult res) in D:\Jenkins\workspace\Lumos_DMXPlugins_Pipeline_3.3\ArtisticLicenseArtNet\src\ArtNetManager.cs:line 741
2023-06-17 15:25:54,776 [98] ERROR org.dmxc.lumos.Kernel.DMX.ArtNetFactory - 
System.NullReferenceException: Object reference not set to an instance of an object.
   at org.dmxc.lumos.Kernel.DMX.ArtNetManager.ProcessArtPoll(Byte[] packet, IPEndPoint receivedFrom) in D:\Jenkins\workspace\Lumos_DMXPlugins_Pipeline_3.3\ArtisticLicenseArtNet\src\ArtNetManager.cs:line 602
   at org.dmxc.lumos.Kernel.DMX.ArtNetManager.client_receive(IAsyncResult res) in D:\Jenkins\workspace\Lumos_DMXPlugins_Pipeline_3.3\ArtisticLicenseArtNet\src\ArtNetManager.cs:line 741
2023-06-17 23:19:20,497 [140] ERROR org.dmxc.lumos.Kernel.DMX.ArtNetFactory - 
System.Net.Sockets.SocketException (10055): Ein Socketvorgang konnte nicht ausgeführt werden, da dem System Pufferspeicher fehlte oder eine Warteschlange voll war.
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ReceiveFromAsync(Socket socket, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.ReceiveFromAsync(Memory`1 buffer, SocketFlags socketFlags, EndPoint remoteEndPoint, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.BeginReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint& remoteEP, AsyncCallback callback, Object state)
   at System.Net.Sockets.UdpClient.BeginReceive(AsyncCallback requestCallback, Object state)
   at org.dmxc.lumos.Kernel.DMX.ArtNetManager.client_receive(IAsyncResult res) in D:\Jenkins\workspace\Lumos_DMXPlugins_Pipeline_3.3\ArtisticLicenseArtNet\src\ArtNetManager.cs:line 739
  ...
   at System.Threading.Tasks.TaskToApm.TaskAsyncResult..ctor(Task task, Object state, AsyncCallback callback)
   at System.Net.Sockets.Socket.BeginReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint& remoteEP, AsyncCallback callback, Object state)
   at org.dmxc.lumos.Kernel.DMX.ArtNetManager.client_receive(IAsyncResult res) in D:\Jenkins\workspace\Lumos_DMXPlugins_Pipeline_3.3\ArtisticLicenseArtNet\src\ArtNetManager.cs:line 705
   at System.Threading.Tasks.TaskToApm.TaskAsyncResult.InvokeCallback()
   at System.Threading.Tasks.AwaitTaskContinuation.<>c.<.cctor>b__17_0(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.AwaitTaskContinuation.RunCallback(ContextCallback callback, Object state, Task& currentTask)
   at System.Threading.Tasks.AwaitTaskContinuation.Run(Task task, Boolean canInlineContinuationTask)
   at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
   at System.Threading.Tasks.Task.FinishContinuations()
   at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
   at System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.InvokeContinuation(Action`1 continuation, Object state, Boolean forceAsync, Boolean requiresExecutionContextFlow)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs _)
   at System.Net.Sockets.SocketAsyncEventArgs.<>c.<.cctor>b__179_0(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
   at System.Threading.ThreadPoolBoundHandleOverlapped.CompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pNativeOverlapped)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.TaskToApm.End[TResult](IAsyncResult asyncResult)
   at System.Net.Sockets.Socket.EndReceiveFrom(IAsyncResult asyncResult, EndPoint& endPoint)
   at System.Net.Sockets.UdpClient.EndReceive(IAsyncResult asyncResult, IPEndPoint& remoteEP)
   at org.dmxc.lumos.Kernel.DMX.ArtNetManager.client_receive(IAsyncResult res) in D:\Jenkins\workspace\Lumos_DMXPlugins_Pipeline_3.3\ArtisticLicenseArtNet\src\ArtNetManager.cs:line 741
5086
0%
GUI & ServerWunsch / IdeeniedrigOptimierung des Ansteuerungskonzepts für RGB+-LEDsUnbestätigt3.2.33.3.109.07.202309.07.2023LightningBrothers Aufgabenbeschreibung

Ich habe nach der Beschaffung von Geräten mit einem RGBL-Chip (rot, grün, blau und lime) festgestellt, dass das Konzept für die Ansteuerung von RGB+LEDs unvollständig ist - und zwar wenn es um das Mischen von Weiß geht.

Bei dem mir vorliegenden Gerät wird zum Beispiel ein “gutes” Weiß statt über RGB eben unter Zuhilfenahme der Lime-LED gemischt wird. Rot grün und blau sind dabei nicht auf Maximum. Nur durch eine solche Mischung kann ich softwareseitig den angegebenen Farbwiedergabeindex erreichen.

Die Optimalwerte können für ein “gutes” Weiß aber von Gerät zu Gerät abweichen. Daher ist es über die HAL zur Zeit in DMXControl 3 nicht möglich, für unterschiedliche Geräte nahezu die gleiche Farbe zu generieren.

Aus diesem Grund sollte die HAL und ggf. auch die DDFs eine Möglichkeit erhalten, die Farbausgabe dahingehend zu kalibrieren, dass man für die Farben optimale Werte erreicht.

Im Photo- und Videobereich wird dies zum Beispiel über so genannte Farbkarten realisiert, auf der eine gewisse Anzahl an definierten Farben enthalten sind. Der Videosoftware sind dabei die Farben bekannt. So kann das Photo-Videomaterial softwareseitig korrigiert und angeglichen werden. In dem folgenden Video wird dieser Punkt auch nochmal kurz vorgestellt: https://www.youtube.com/watch?v=M934d_P89pQ

5085
0%
GUI & ServerWunsch / IdeeniedrigMaximal-Wert für Phase hochsetzenUnbestätigt3.2.303.07.202303.07.2023LightningBrothers Aufgabenbeschreibung

Aktuell ist der zulässige Höchstwert für die Phase bei 1080° festgesetzt. Dieser ist mittlerweile zu gering und sollte hochgesetzt werden.

In diesem Zusammenhang wäre dieser Wert als zentrale Konstante zu definieren, statt ihn einzeln in den Effekten zu hinterlegen.

zeige Aufgaben 1 - 50 von 770 Seite 1 von 16

verfügbare Tastenkürzel

Aufgabenliste

Aufgabendetails

Aufgabenbearbeitung