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

IDProgressCategoryTask TypeSeveritySummaryStatusReported InDue In VersionOpenedLast EditedOpened by
 5363 
100%
ServerToDoLow Projekt kann über Konsolenbefehl save nicht mehr gespei ...Closed3.3 RC x3.3.017.07.202418.07.2024LightningBrothers Task Description

Bis zur Einführung der Project Administration war es möglich, das aktuell geladene Projekt über einen entsprechenden Konsolenbefehl im Kernel zu speichern. Diese Funktion sollte auch weiterhin bestehen und daher wieder aktiviert werden.

 5341 
100%
UmbraWunsch / IdeeMedium Konsolenfenster kann über X geschlossen werden Closed3.3 RC x3.3.011.06.202421.06.2024LightningBrothers Task Description

Beim Konsolenfenster des Umbras ist das X zum Schließen des Fensters “freigegeben”, sodass ich darüber den Umbra “hart” beenden kann. Beim Kernel ist dies nicht möglich, da hier das X deaktiviert ist.

Es wäre daher gut, wenn man den Umbra wie bereits den Kernel nicht über X beenden kann.

 5334 
100%
NodleFehlerberichtHigh Nodle U1 und Nodle R4S kann unter Windows 11 nicht akti ...Closed3.3 RC x3.3.006.06.202407.06.2024LightningBrothers Task Description

Ich habe an zwei PCs / Laptops unabhängig voneinander ein Nodle U1 sowie Nodle R4S betrieben wollen, auf dem Windows 11 in der Version 22H2 bzw. 23H2 installiert ist. Das Interface wird vom Kernel, der GUI und auch vom USB-Energy-Fixer richtig mit Seriennummer erkannt. Allerdings lässt es sich nicht aktivieren. Es verbleibt im Stand-By und die LED leuchtet weiter gelb.

Unter Windows 10 besteht diese Problematik nicht. Dort laufen meine Nodle R4S einwandfrei.

Die Logdateien reiche ich noch nach. Ich brauche hier aber auch unabhängig davon noch eine weitere Bestätigung. Das Ticket dient auch erstmal der Vorab-Doku.

 5313 
100%
TimecodePlayerFehlerberichtHigh Sonderzeichen im Namen einer Show zulassen oder unterbi ...Closed3.3 RC x3.3.002.05.202420.06.2024LightningBrothers Task Description

Ich habe gerade meine verschiedenen Timecode-Shows umbenannt und dabei das Zeichen “|” verwendet. Der Name lautete “Intro 1 | DMXC-Video-Intro“.

Wird das Projekt gespeichert, führt dies zu folgender Fehlermeldung im Kernel:

12:25:57 WARN  ResourceManager - Unable to save Resource TimecodeShows\Intro 1 | DMXC-Video-Intro_9065fe68-5aa6-49c3-9513-f03fe6eb6689.xml of Type Project
System.ArgumentNullException: Value cannot be null. (Parameter 'filename')
   at org.dmxc.lumos.Kernel.Resource.FileMetadataCache`1.Remove(String filename) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosLIB\src\Kernel\Resource\FileMetadataCache.cs:line 79
   at org.dmxc.lumos.Kernel.Resource.Datastore.FileBackendDatastore.SaveResource(EResourceType type, LumosResource data, IProgress`1 progress) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Resource\Datastore\FileBackendDatastore.cs:line 487
   at org.dmxc.lumos.Kernel.Resource.ResourceManager.SaveResourceInternalAsync(EResourceType type, LumosResource data, IProgress`1 progress) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Resource\ResourceManager.cs:line 222
   at org.dmxc.lumos.Kernel.Resource.AbstractResourceManager.SaveResourceAsync(EResourceType type, LumosResource data, IProgress`1 progress) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosLIB\src\Kernel\Resource\AbstractResourceManager.cs:line 768

Sobald ich dieses Sonderzeichen entferne und den Namen der Show zum Beispiel in “Intro 1 (DMXC-Video-Intro)” ändere”, kann das Projekt vollständig und ohne weitere bzw. wiederkehrende Fehlermeldung gespeichert werden.

Abschließend sei bemerkt, dass unter anderem das Zeichen “|” sonst soweit im Projekt genutzt werden kann, wie zum Beispiel im Namen von Cuelists.

 5271 
100%
InputAssignmentFehlerberichtLow Sechs-stellige Zahlen werden als HEX-Farbe interpetrier ...Closed3.3 RC x3.3.008.03.202421.07.2024LightningBrothers Task Description

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 & ServerFehlerberichtHighVerwaiste Graphen werden ohne Info gelöschtBenötigt Tests3.3 RC x3.3.027.02.202409.08.2024LightningBrothers Task Description

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.

 5220 
100%
GUI & ServerFehlerberichtMedium Wert für Timecode-Trigger wird nicht beibehalten, wenn  ...Closed3.3 Beta x3.3.026.12.202327.04.2024LightningBrothers Task Description

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
 5213 
100%
TimecodePlayerWunsch / IdeeLow Cuelists im Fenster "Choose a cuelist" alphabetisch sor ...Closed3.3 Beta x3.3.025.12.202303.05.2024LightningBrothers Task Description

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.

 5203 
100%
GUI & ServerFehlerberichtHigh GUI crasht beim Schließen von Projekten Closed3.3 Beta x3.3.021.12.202321.12.2023LightningBrothers Task Description

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%
TimecodePlayerFehlerberichtMedium Kurze Cuelist Tracks verhindern das erneute Ausführen e ...Closed3.3 Beta x3.3.026.11.202319.12.2023LightningBrothers Task Description

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%
TimecodePlayerFehlerberichtMedium Timecode Show kann mit automatisch endener Cuelist nich ...Closed3.3 Beta x3.3.026.11.202319.12.2023LightningBrothers Task Description

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 & ServerFehlerberichtMedium Cuelist mit Audio cue wird nicht wiedergeben Closed3.3 Beta x3.3.026.11.202328.11.2023LightningBrothers Task Description

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 / IdeeLow WPF-Message-Box hat keine feste Größe Closed3.3 Beta x3.3.023.11.202321.12.2023LightningBrothers Task Description

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 / IdeeLow DMXC-Mixer-Node: Zusätzliche Outputs für Device-Name un ...Closed3.2.318.11.202320.11.2023LightningBrothers Task Description

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
 5173 
100%
Project ExplorerFehlerberichtLow Einträge "Macro Board Profiles" und "Softdesk" verrutsc ...Closed3.3 Beta x3.3.010.11.202319.02.2024LightningBrothers Task Description

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 / IdeeLow Zeitfenster für automatisches Schließen der Abfrage "Lo ...Closed3.3 Beta x3.3.010.11.202305.12.2023LightningBrothers Task Description

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.

 5170 
100%
GUI & ServerFehlerberichtCritical Rechnen in Werten für Funktionen und Parametern für Eff ...Closed3.3 Beta x3.3.010.11.202312.11.2023LightningBrothers Task Description

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%
InputAssignmentFehlerberichtLow Draw Bitmap Node: Änderung der Schriftart nicht möglich Closed3.3 Beta x3.3.028.10.202310.11.2023LightningBrothers Task Description

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%
UmbraFehlerberichtLow BidirectionalStreamBridgeWithResponseFilter - Request L ...Closed3.3 Beta x3.3.017.10.202327.11.2023LightningBrothers Task Description

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.

 5162 
100%
GUI & ServerFehlerberichtLow Project Adiministration kann zweimal geöffnet werden Closed3.3 Beta x3.3.001.10.202331.10.2023LightningBrothers Task Description

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 & ServerFehlerberichtMedium Hoher Datenverkehr im DMXC-Netzwerk beim Verschieben vo ...Closed3.3 Beta x3.3.001.10.202314.11.2023LightningBrothers Task Description

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%
ServerFehlerberichtMedium Chaser: Wert für Size größer gleich Anzahl Geräte in De ...Closed3.3 Beta x3.3.028.09.202330.10.2023LightningBrothers Task Description

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 & ServerToDoHigh Aufteilung der xml-Daten für ein Bereich in einem Proje ...Closed3.3 Beta x3.3.026.09.202328.09.2023LightningBrothers Task Description

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%
InputAssignmentFehlerberichtLow Geänderte Namen von Macros, Softdesk werden nicht weite ...Closed3.3 Beta x3.3.019.09.202323.12.2023LightningBrothers Task Description

Ä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.

 5149 
100%
GUI & ServerFehlerberichtLow Beat-Signal wird während Learn des SpeedMasters nicht a ...Closed3.3 Beta x3.3.011.09.202316.10.2023LightningBrothers Task Description

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.

 5135 
100%
GUI & ServerFehlerberichtHigh Out Of Range Execption - Error when loading Project: In ...Closed3.3 Beta x3.3.030.08.202329.10.2023LightningBrothers Task Description

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.

 5121 
100%
GUI & ServerToDoLow Fehlermeldung "WARN ProjectManager - Error loading com ...Closed3.3 Beta x3.3.017.08.202321.12.2023LightningBrothers Task Description

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 & ServerFehlerberichtLow Timecode-Player-Fenster bleibt leer, wenn man letztes F ...Closed3.3 Beta x3.3.013.08.202320.11.2023LightningBrothers Task Description

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 & ServerFehlerberichtLow Ungünstige Angaben im Informations-Teil vom DDF zerschi ...Closed3.2.33.3.013.08.202320.11.2023LightningBrothers Task Description

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.
 5113 
100%
GUI & ServerToDoLow switch-Funktion für eigene Wertebereiche zum Ein- und A ...Closed3.2.33.3.010.08.202310.08.2023LightningBrothers Task Description

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 / IdeeLow Project Administration: <No Tags> und <No Description>  ...Closed3.3 Beta x09.08.202309.08.2023LightningBrothers Task Description

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%
GUIFehlerberichtLow Device Control aktualisiert Größe von Matrix erst nach  ...Closedunbestimmt06.08.202312.08.2023LightningBrothers Task Description

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%
GUIFehlerberichtLow DMX-Interface-Fenster stürtzt beim Schließen ab Closed3.3 Beta x3.3.016.07.202307.08.2023LightningBrothers Task Description

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 & ServerFehlerberichtMedium Wiederholende Log-Einträge zu ArtNet- und Verbindungs-P ...Closed3.3 Beta x3.3.016.07.202324.07.2023LightningBrothers Task Description

Ü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
 5082 
100%
TimecodePlayerWunsch / IdeeLow Orientierung am längsten Element für automatisches Stop ...Closed3.3 Beta x3.3.026.06.202307.08.2023LightningBrothers Task Description

Ich habe in meinem ersten Test eine Cuelist im Cuelist-Track, die nur ca. 20% des gewählten Musikstücks “verlichtet”. Ist dieser Punkt erreicht, stoppt die Audio-Wiedergabe hart. Um dies aber insgesamt schöner zu gestalten, sollte die Wiedergabe der Timecode-Show erst unter folgenden Bedingungen automatisch beendet werden:

  • Wenn das Ende des längsten Tracks erreicht ist. Dabei ist es egal, ob es sich beispielsweise um den Audio-Track oder einen Cuelist-Track handelt.
  • Wenn der letzte Audio-Track bei der Lautstärke ausgeblendet wurde und kein anderer Track länger ist.
 5081 
100%
GUI & ServerFehlerberichtLow Vollständiges Ansprechen von wieder aktivierten Geräten ...Closed3.3 Beta x3.3.026.06.202304.12.2023LightningBrothers Task Description

Ich habe ein Projekt geladen, in dem verschiedene Geräte deaktiviert sind. Aktiviere ich diese Geräte nun, kann ich diese nicht direkt sauber ansprechen. Dies äußert sich unter anderem darin, dass beim Leeren des Programemrs werden die Intialwerte nicht richtig gesetzt, wie z. B. Dimmer auf 0, Shutter geschlossen oder Standardfarbe weiß. Teilweise bleiben auch beim Beenden von Cuelists die Werte in einem undefinierten Zustand hängen.

Erst wenn ich das Projekt noch einmal neu lade, reagieren die wieder aktivierten Geräte so wie gewohnt.

 5079 
100%
GUIFehlerberichtLow Text "Do you want to load the project" fehlt Closed3.3 Beta x3.3.026.06.202303.09.2023LightningBrothers Task Description

Nach dem Anlegen eines neuen Projekts erscheint die Abfrage, ob das neu angelegte Projekt auch direkt geladen werden soll. Allerdings fehlt in diesem Fenster der entsprechende Text, wie im beigefügten Screenshot zu sehen. Das Problem besteht sowohl in der englischen als auch in der deutschen GUI.

 5078 
100%
TimecodePlayerToDoLow Fehlermeldung "Nur Timecode-Trigger in Cuelist-Track er ...Closed3.3 Beta x3.3.026.06.202326.09.2023LightningBrothers Task Description

Wie im beigefügten Screenshot zu sehen, fällt die Fehlermeldung “Nur Timecode-Trigger in Cuelist-Track erlaubt” aktuell sehr technisch aus. Hier sollte der Hinweistext nochmal dahingehend bereinigt werden, dass er als “normaler” Fließtext zu lesen ist.

 5076 
100%
TimecodePlayerFehlerberichtLow Weitere Audiodatei im Audio-Track wird immer bei 0:00 e ...Closed3.3 Beta x3.3.026.06.202319.12.2023LightningBrothers Task Description

Füge ich eine zweite Audiodatei dem Audio-Track hinzu, so wird diese bei 0:00 positioniert. Dies hat dann zur Folge, dass ich die bereits im Audio-Track existierende Audiodatei nicht mehr verschieben kann.

Erst wenn eine bereits vorhandene Audiodatei so weit nach hinten geschoben habe, kann ich beide Audiodateien einzeln wieder verschieben. Aus diesem Grund sollten neue Audiodateien immer hinter die letzte Audiodatei eingefügt werden.

 5075 
100%
TimecodePlayerFehlerberichtLow Auswahldialog zum Hinzufügen einer Cuelist zu einem Cue ...Closed3.3 Beta x3.3.026.06.202307.08.2023LightningBrothers Task Description

Im Kontextmenü innerhalb eines Cuelist-Tracks besteht die Möglichkeit, eine (weitere) Cuelist diesem Cuelist-Track hinzuzufügen. Allerdings führt dieser Eintrag ins leere. Ein entsprechender Auswahldialog, welche Cuelist aus dem Projekt eingefügt werden soll, fehlt noch.

 5074 
100%
TimecodePlayerFehlerberichtLow FFT-Grafik und Wave-Form kann auf Grund nach Neuladen d ...Closed3.3 Beta x3.3.025.06.202307.08.2023LightningBrothers Task Description

Schließe ich ein Projekt mit einer Timecode-Show und lade das Projekt anschließend neu, kann mir die Grafik der Audiodatei nicht mehr angezeigt werden. Der Kernel gibt folgenden Log-Eintrag dazu aus.

Open: Failed to open '[...]\DMXControl 3.3.0\Kernel\Temp\Zack Merci - ray of light [feat. Nieko - NCS Release].mp3.0.tiff'. The process cannot access the file '[...]\Software\DMXControl 3.3.0\Kernel\Temp\Zack Merci - ray of light [feat. Nieko - NCS Release].mp3.0.tiff' because it is being used by another process.
...
23:43:58 ERROR AudioManager - Unable to process FFT / Wave for Zack Merci - ray of light [feat. Nieko - NCS Release].mp3 after several tries....

Bereits beim Schließen des Projekts wirft der Kernel eine Fehlermeldung. Die Dateien liegen zu diesem Zeitpunkt weiter im Temp-Verzeichnis des Kernels.

21:54:48 ERROR ProjectManager -
System.IO.IOException: The process cannot access the file '[...]\DMXControl 3.3.0\Kernel\Temp\Zack Merci - ray of light [feat. Nieko - NCS Release].mp3.0.tiff' because it is being used by another process.
   at System.IO.FileSystem.DeleteFile(String fullPath)
   at System.IO.File.Delete(String path)
   at org.dmxc.lumos.Kernel.Audio.AudioManager.RemoveFFT(AudioMetadata m) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Audio\AudioManager.cs:line 318
   at org.dmxc.lumos.Kernel.Audio.AudioManager.removeAudio(String name) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Audio\AudioManager.cs:line 301
   at org.dmxc.lumos.Kernel.Audio.AudioManager.<org.dmxc.lumos.Kernel.Run.ILumosProjectManager.closeProject>b__62_0(String c) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Audio\AudioManager.cs:line 1163
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at org.dmxc.lumos.Kernel.Audio.AudioManager.org.dmxc.lumos.Kernel.Run.ILumosProjectManager.closeProject(LumosIOContext context) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Audio\AudioManager.cs:line 1163
   at org.dmxc.lumos.Kernel.Project.ProjectManager.<>c__DisplayClass48_0.<closeProjectNoLock>b__1(ILumosManager m) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Project\ProjectManager.cs:line 278
   at System.Linq.Enumerable.All[TSource](IEnumerable`1 source, Func`2 predicate)
   at org.dmxc.lumos.Kernel.Project.ProjectManager.closeProjectNoLock(IProgress`1 progress) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Project\ProjectManager.cs:line 274

Aktuell muss ich DMXC einmal komplett neu starten.

 5072 
100%
TimecodePlayerWunsch / IdeeLow Inkonsitente Angabe der Wiedergabezeit zwischen Timecod ...Closed3.3 Beta x3.3.025.06.202321.12.2023LightningBrothers Task Description

Aktuell besteht eine Inkonsistenz bei der Angabe der Wiedergabezeit zwischen Timecode-Player und den Timecode-Triggern in der Cuelist. Da im Timecode-Player die Angabe mit tausendstel Sekunden und im Timecode-Trigger in der Cuelist mit 25 FPS erfolgt, kann ich die aktuelle Position des Wiedergabe-Markers nicht 1:1 manuell in den Timecode-Trigger übertragen.

Daher wären folgende Dinge zu überlegen:

* Wird das Anzeige-Format im Timecode-Player auf die 25FPS-Variante geändert oder

  • wird der Timecode-Trigger wird mit tausendstel Sekunden angegeben?

Einer der beiden Punkte sollte umgesetzt werden, damit auch die Nachvollziehbarkeit erhöht wird.

 5071 
100%
TimecodePlayerFehlerberichtLow Wiedergabe-Marker kann nur in bestimmer Konstellation n ...Closed3.3 Beta x3.3.025.06.202329.10.2023LightningBrothers Task Description

Ich starte eine Timecode-Show über Play und halte die Show mittels Pause an. In dieser Situation kann ich den Wiedergabe-Marker (den roten) nicht neu positionieren.

Der Wiedergabe-Marker lässt sich daher nur unter einer ganz bestimmten Konstellation neu positionieren und zwar:

  • Die Wiedergabe wurde nicht durch pausieren angehalten.
  • Nach dem Pausieren wird der Track nochmals vom ursprünglichen Startpunkt wiedergegeben.
  • Die Wiedergabe wird über Stop angehalten.

Wenn diese Punkte beachtet werden, kann man zwar damit arbeiten, jedoch ist es ein unerwartetes Verhalten, was den Workflow beeinträchtigt.

 5070 
100%
TimecodePlayerFehlerberichtLow Mehrfach eingesetzte Cuelists in einem Cuelist-Track we ...Closed3.3 Beta x3.3.025.06.202310.07.2023LightningBrothers Task Description

Ich habe einem Cuelist-Track mehrfach die gleiche Cuelist zugeordnet. Die sollen mehrfach hintereinander ausgeführt werden. Allerdings geschieht dies aktuell nur ein einziges Mal, nämlich an der Stelle, wo die Cuelist das erste Mal im Cuelist-Track positioniert ist. Die weiteren Male erfolgt keine Wiedergabe.

 5069 
100%
TimecodePlayerFehlerberichtLow DEBUG Lumos.GUI.Net.gClient.Timecode_gClient - AddChild ...Closed3.3 Beta x3.3.025.06.202309.08.2023LightningBrothers Task Description

Füge ich beispielsweise eine Cuelist einem Cuelist Track zu, erscheint in der GUI eine Fehlermeldung, die im Log der GUI folgenden Eintrag generiert:

2023-06-25 21:43:11,923 [Log-Thread] DEBUG Lumos.GUI.Net.gClient.Timecode_gClient - AddChildrenToTrackAsync
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei Lumos.GUI.Net.gClient.Timecode_gClient.<AddChildrenToTrackAsync>d__32.MoveNext() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosGUI\src\Net\gClient\Timecode_gClient.cs:Zeile 275.
5065
100%
GUI & ServerFehlerberichtHighAuswahl von umfangreichen Gerätegruppen überfordert GUI...Auf Entwickler warten3.3 Beta x3.3.119.06.202321.12.2023LightningBrothers Task Description

Ich habe in einem Projekt eine große Device Group mit > 100 Geräten unterschiedlichen Typs (Spot-MHs, LED-PARs etc.). Die Auswahl dieser umfangreichen Device Group in der Stage View sorgt für eine sehr hohe Auslastung der GUI-Kernel-Verbindung, sodass sich Device Control und Control Panel nur sehr sehr langsam füllen. Häufiges An- und wieder Abwählen verstärkt das Problem zusätzlich.

 5064 
100%
GUI & ServerFehlerberichtLow Anzahl verbleibender Beats in Progress wird nicht angez ...Closed3.3 Beta x3.3.019.06.202320.06.2023LightningBrothers Task Description

In der Progress-Spalte wird nicht mehr die Anzahl der Beats angezeigt, bis die Einblendung der nächsten Cue erfolgt. Dieses Problem fällt immer dann auf, wenn ein Triggerwert von größer 1 ausgewählt wird.

 5063 
100%
GUI & ServerFehlerberichtCritical Projekt kann nach Löschen von in Executoren verlinkten  ...Closed3.3 Beta x3.3.012.06.202311.08.2023LightningBrothers Task Description

Ich habe im beigefügten Projekt den ParameterMaster 2 aus dem Projekt gelöscht. Dieser war aber noch in einem Executor verknüpft. In diesem Kontext sind gleich mehrere Punkte aufgefallen:

  • Beim Löschen des Masters wurde nicht darauf hingewiesen, dass dieser sowohl in einer Cue als auch in einem Executor verknüpft war.
  • Das Projekt lässt sich nicht mehr laden und die GUI stürzt ab.

Der Kernel gibt hierzu folgende Fehlermeldung:

23:02:25 WARN  ProjectManager - Error when loading Project FS#5063 - Delete elements: Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
   at org.dmxc.lumos.Kernel.Project.ExecutorManager.LoadExecutorMemberWrapperItem(ManagedTreeItem item, LumosIOContext context) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Project\ExecutorManager.cs:line 390
   at org.dmxc.lumos.Kernel.Project.ExecutorManager.LoadAfterContainer(LumosIOContext context) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Project\ExecutorManager.cs:line 478
   at org.dmxc.lumos.Kernel.Project.ExecutorManager.org.dmxc.lumos.Kernel.Run.ILumosProjectManager.loadProject(LumosIOContext context, ELoadTime time) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Project\ExecutorManager.cs:line 662
   at org.dmxc.lumos.Kernel.Project.ProjectManager.<>c__DisplayClass51_1.<LoadProjectFromStream>b__2(ILumosManager m) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Project\ProjectManager.cs:line 437
   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 432

Die GUI gibt parallel folgende Fehlermeldung:

2023-06-12 23:02:26,009 [2] 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 LumosControlsWPF.Base.BasePropertyNotification.Dispose() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosControlsWPF\Base\BasePropertyNotification.cs:Zeile 164.
   bei LumosControlsWPF.Base.BasePropertyNotification.Finalize() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosControlsWPF\Base\BasePropertyNotification.cs:Zeile 67.

Das Problem ist aber nicht allein auf die Master beschränkt. Auch beim Löschen einer bereits mit einem Executor verknüpften Cuelist gibt es beim Löschen keinen Warnhinweis und beim erneuten Laden schlägt dies fehl.

 5061 
100%
InstallerFehlerberichtLow Prüfung auf vorhandene Installation von .net 6 funktion ...Closed3.3 Beta x3.3.008.06.202330.07.2023LightningBrothers Task Description

Die Prüfung auf vorhandene Installation von .net 6 funktioniert nicht. Der Installer führt die Installation von .net 6 bei jedem Durchlauf des Setups von DMXC3 aus, obwohl .net 6 erst zuvor installiert wurde.

Anbei das Log des Installers.

 5059 
100%
InputAssignmentFehlerberichtHigh Position Master Node kann nicht geladen werden Closed3.3 Beta x3.3.006.06.202319.06.2023LightningBrothers Task Description

In der Beta 7 kann das Position Master Node nicht geladen werden, sobald es in einem Graphen verwendet wird.

Das unten beigefügte Projekt ist neu erstellt. Dort habe ich den Position Master 1 nur im Position Master Node einem sonst leeren Graphen hinzugefügt. Beim erneuten Laden des Projekts generiert der Kernel die nachfolgende Fehlermeldung und im Graphen wird der Node entfernt.

09:58:09 WARN  InputManager - Unable to add Node to Graph: Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
   at org.dmxc.lumos.Kernel.Input.v2.Worker.PositionMasterNode.setInputaValue() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Input\v2\Graph\Node\Wrapper\Master\PositionMasterNode.cs:line 192
   at org.dmxc.lumos.Kernel.Input.v2.Worker.PositionMasterNode.setParameterInternal(GenericParameter parameter, Object value) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Input\v2\Graph\Node\Wrapper\Master\PositionMasterNode.cs:line 389
   at org.dmxc.lumos.Kernel.Input.v2.AbstractNode.setParameter(GenericParameter parameter, Object value) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Input\v2\Graph\Node\AbstractNode.cs:line 371
   at LumosLIB.Tools.ParameterTools.LoadParameters[TParameter](IParameterable`1 parameterable, ManagedTreeItem tree, Func`2 convertName, Func`3 convertStringValueToID, Func`3 convertObjectValueToID) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosLIB\src\Tools\ParameterTools.cs:line 341
   at LumosLIB.Tools.ParameterTools.LoadParameters[TParameter](IParameterable`1 parameterable, ManagedTreeItem tree) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosLIB\src\Tools\ParameterTools.cs:line 228
   at org.dmxc.lumos.Kernel.Input.v2.InputManager.CreateSavedNode(ManagedTreeItem n, LumosIOContext context) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\Lumos\src\Kernel\Input\v2\InputManager.cs:line 0
Showing tasks 1 - 50 of 798 Page 1 of 16

Available keyboard shortcuts

Tasklist

Task Details

Task Editing