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

IDFortschrittKategorieAufgabentypSchweregradZusammenfassungStatusbetrifft Versionfällig in Versionangelegtzuletzt geändert  descangelegt von
5304
90%
GUIFehlerberichtniedrigBestimmte Cues lassen sich nicht im Cue Timing Editor b...Benötigt Tests3.3 RC x3.313.04.202423.04.2024JPK Aufgabenbeschreibung

Das Projekt liegt in der Cloud (im üblichen Ort). Wenn man versucht, aus der Main Cuelist die Cue “ES.01.10: Einlass” in den Cue Timing Editor zu laden, dann fliegt folgende Exception:

2024-04-13 18:25:34,465 [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.SceneList.SceneEditView.<>c.<SceneEditView_Shown>b__12_1(IDevicePropertyFacade c) in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosGUI\src\Windows\SceneList\SceneEditView.cs:Zeile 57.
   bei System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   bei System.Linq.Enumerable.<DistinctIterator>d__64`1.MoveNext()
   bei System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   bei System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   bei Lumos.GUI.Windows.SceneList.SceneEditView.<SceneEditView_Shown>d__12.MoveNext() in D:\Jenkins\workspace\Lumos_Pipeline_3.3\LumosGUI\src\Windows\SceneList\SceneEditView.cs:Zeile 57.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
   bei System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)

Aus der Async-Function kommen einzelne null Einträge raus, was dazu führt, dass beim Abrufen des DisplayNames die Exception fliegt.

 5105 
100%
InstallerFehlerberichtniedrig .Net 6 Runtime 32bit und 64bit installieren geschlossen3.3 Beta x3.301.08.202307.02.2024JPK Aufgabenbeschreibung

Der installer muss sowohl von der ASP.NET Core Runtime als auch der .NET Desktop Runtime jeweils die x86 als auch die x64 Version installieren. Das liegt daran, dass der Kernel noch die 32bit Variante verwendet, der Umbra die 64bit Variante. Das ist aktuell noch nicht so abgebildet.

Außerdem existiert auch noch ein Problem, weil der Installer die Versionen, die er installiert offenbar nicht richtig installiert. Auch das muss behoben werden.

5250
0%
GUI & ServerWunsch / IdeeniedrigEingebauter BenchmarkUnbestätigt3.2.324.01.202424.01.2024JPK Aufgabenbeschreibung

Da gerade im Forum die Frage nach der Performance von DMXControl 3 hoch kam, drängte sich für mich eine Idee geradezu auf: Einen internen Benchmark-Test von DMXControl 3. Sprich ein mitgelieferter, immer gleicher Ablauf typischer Dinge, um herauszufinden, wie performant ein PC ist. Passende Szenarien könnten folgende sein:

  • Dauer Programmstart
  • Dauer des Ladens eines Demo-Projekts
  • Dauer für Hinzufügen von einer gewissen Anzahl an Geräten
  • Update-Rate bei paralleler Ansteuerung von verschiedener Anzahl an Geräten (z.B. 10, 50, 100, 500)
  • Update-Rate von mehreren Mastern

etc. Diese Liste ist erst einmal zum Brainstorming gedacht und ist weder vollständig noch voll durchdacht, ob ein Punkt wirklich sinnvoll ist. Aber mal so als Idee. Das Ganze kam mir auch vor allem vor dem Hintergrund, dass fast alle modernen Spiele mittlerweile einen solchen Test eingebaut haben.

5167
40%
GUIToDohochVorschläge für Visualisierung der PropertiesZugeteilt3.3 Beta x3.417.10.202321.12.2023JPK Aufgabenbeschreibung

DMXControl 3 hat unterschiedliche Properties. Diese müssen visualisiert werden. Im folgenden sollen Vorschläge gesammelt werden, wie diese Visualisierung aussehen soll. Dabei sollen alle wichtigen Visualisierungen mit einem +++ versehen werden Bereits erledigte Visualisierungen sind als solche markiert.

  • Color +++ (erledigt)
  • ColorTemp (erledigt)
  • Cool
  • Dimmer +++ (erledigt)
  • Effectwheel
  • Fan –> num. Fann.
  • Filter
  • Focus –> num. Fann.
  • Fog
  • Frost –> num. Fann.
  • Gobo +++ (WIP)
  • Heat
  • Index –> num. Fann. +/-
  • Iris –> Darstellung als Iris-Blende analog zur Stage View
  • Matrix –> Idealerweise Vorschau der Matrix, welche in dem Eintrag abgebildet ist
  • Position +++ (erledigt)
  • Prism –> kurzfristig keine Visualisierung, langfristig über ein generisch erzeugtes Bild auf Basis der DDF-Definition
  • PTSpeed –> num. Fann.
  • Radix –> Idealerweise Vorschau der Radix, welche in dem Eintrag abgebildet ist
  • Raw –> num. Fann.
  • Rotation –> num. Fann. +/-
  • Scale
  • Shutter +++
  • Strobe +++
  • Switch +++ (erledigt)
  • Zoom –> Visualisierung eines Lichtkegels analog zum Programmer

Anmerkungen
Num. Fann –> Darstellung als Fanning einfacher numerischer Werte
+/- –> Darstellung wie num. Fanning, jedoch mit positiven und negativen Wertebereich, sodass der 0-Wert auf halber Höhe liegt

5201
0%
ServerFehlerberichtsehr niedrigErstmalige Installation: Kernel XML FehlerUnbestätigt3.3 Beta x20.12.202320.12.2023JPK Aufgabenbeschreibung

Habe DMXC Beta 12 auf einem jungfräulichen Rechner installiert und die Fehler im Anhang sind im Kernel erschienen. Allerdings nur beim allerersten Start. Bei jedem weiteren Start gibt es keine Fehler mehr.

5092
80%
GUI & ServerFehlerberichtniedrigStage View macht keine Updates mehrBenötigt Tests3.3 Beta x3.419.07.202314.11.2023JPK Aufgabenbeschreibung

Wie in den angehängten Logs zu sehen, dampft bei 2023-07-13 04:28:31,393 der SendDevicePropertyChanges ab (nicht wundern, die Uhr des PCs war falsch). Hier wie besprochen die Logs für die weitere Analyse, warum das der Fall war.

4953
0%
GUIWunsch / IdeeniedrigMasterfenster: Nur vorhandene RGB+ Farben im erweiteren...Unbestätigt3.3 Beta x3.408.11.202231.10.2023JPK Aufgabenbeschreibung

Die neuen Master bieten neben den neun Einstellungen für HSV, CMY und RGB auch die Möglichkeit, die RGB+ Farben einzustellen. Allerdings macht es keinen Sinn, Einen Fader für eine RGB+ Farbe darzustellen, wenn es im Projekt kein Gerät gibt, welches diese ausgeben kann. Es sollte also eine Möglichkeit geben, entweder selbst einzelne Farben auszublenden oder nur diese anzuzeigen, für die es auch Einstellungsmöglichekten bei den Geräten gibt.

4675
0%
ServerFehlerberichtniedrigFade zwischen expliziter RGB+ Farbe und von HAL gesetzt...Zugeteilt3.2.222.12.202131.10.2023JPK Aufgabenbeschreibung

Wenn z.B. der Weiß-Kanal explizit im Device Control gesetzt wird, das in einer Cue gespeichert wird und in der nächsten Cue in eine automatisch durch den HAL errechneten Weiß-Wert übergeblendet wird, springt die Ausgabe zwischen W-Kanal und RGB-Kanal. Siehe im angehängten Testprojekt die Cuelist. Das liegt an der verteilten Verarbeitung der Fades zwischen Mixer und HAL. Dem HAL müssen entsprechend Metainformationen übergeben werden, damit es zu keinem Sprung mehr kommt.

5155
0%
GUIWunsch / IdeeniedrigAutomatische Umwandlung von Cuelists für Timecode Playe...Unbestätigt3.3 Beta x3.3.126.09.202326.09.2023JPK Aufgabenbeschreibung

Im Timecode Player sind nur Cuelists mit Timecode Trigger erlaubt. Daher können bestehende Cuelists, in denen auch andere Trigger verwendet werden, nicht in den Timecodeplayer eingefügt werden. Es wäre gut, wenn es hierfür eine Art Konvertierung gibt, die das ermöglicht. Am besten mit Abfrage, ob dieser Eingriff wirklich gemacht werden soll, weil das die Cuelist grundlegend ändert. Das aber nur anbieten, wenn das wirklich geht, denn Manual- oder Beat-Trigger können nicht konvertiert werden. Zu klären ist nur noch, ob der Fade-Speed mit eingerechnet wird oder nicht. Möglich wäre auch, diese Funktion als Konvertierungsfunktion im Menü der Cuelist anzubieten

5153
0%
GUIWunsch / IdeeniedrigStartverhalten der GUI einstellbar machenUnbestätigt3.3 Beta x3.3.118.09.202318.09.2023JPK Aufgabenbeschreibung

Seit Implementierung von  FS#4973  wird immer die Projekt Administration geöffnet, wenn sich die GUI verbindet und noch kein Projekt geladen ist. Nun soll dieses Verhalten erweitert und einstellbar gemacht werden. Es wird ein GUI Setting benötigt, um wählen zu können, ob die Projekt Administration geöffnet wird (bisheriger Case), ein gewisses Default-Projekt geladen wird (z.B. für Festinstallationen) oder nichts passiert. Für Case 2 muss noch in der Projekt Administration und im Project Store integriert werden, dass ein Default-Projekt ausgewählt werden kann.

5133
0%
InputAssignmentWunsch / IdeeniedrigFilter-Node zum Glätten im IAUnbestätigt3.2.33.3.128.08.202328.08.2023JPK Aufgabenbeschreibung

Bei manchen Input-Werten kann es vorkommen, dass diese etwas schwanken, gerade bei analogen Spannungswerten. Diese Schwankungen sorgen jedes Mal für eine Werteänderung und triggern so ein Update des ConnectionSets, obwohl dies vielleicht nicht nötig wäre. Daher wäre es gut, wenn es ein Filter-Node gäbe, welches einen Input entsprechend glättet. Hier sollten zumindest ein paar der Glättungsverfahren / Filtertypen implementiert werden (siehe https://de.wikipedia.org/wiki/Gl%C3%A4tten_(Mathematik))

 4872 
100%
InputAssignmentFehlerberichthoch Leerer "Variables"-String im Expression-Node lässt Kern ...geschlossen3.3 Beta x3.328.06.202207.08.2023JPK Aufgabenbeschreibung

Folgendes Vorgehen:

  • In einem leeren Projekt das Input Assignment öffnen und ein neues Connectionset hinzufügen
  • Einen Expression-Node hinzufügen
  • In die Einstellungen des Nodes gehen
  • Den “Variables”-String leeren und unten mit “ok” bestätigen
  • Es fliegt folgende Exception im Kernel:
WARN  EventTools - Exception in Delegate Invocation: Void node_PropertyChanged(System.Object, System.ComponentModel.PropertyChangedEventArgs) => Graph: Empty Connection Set.Void node_PropertyChanged(System.Object, System.ComponentModel.PropertyChangedEventArgs)
System.ArgumentNullException: Der Wert darf nicht NULL sein.
Parametername: name
   bei LumosLIB.Kernel.GenericParameter..ctor(String name, String type, Type paraType, EGenericParameterOptions options, IEnumerable enumValues, ParameterCategory category) in P:\DMXControl\Lumos\LumosLIB\src\Kernel\Parameter\GenericParameter.cs:Zeile 64.
   bei org.dmxc.lumos.Kernel.Input.v2.AbstractNode.get_Parameters() in P:\DMXControl\Lumos\Lumos\src\Kernel\Input\v2\Graph\Node\AbstractNode.cs:Zeile 312.
   bei LumosLIB.Tools.LumosTools.WithName[T](IParameterable`1 target, String name, Boolean ignoreCase) in P:\DMXControl\Lumos\LumosLIB\src\Tools\LumosTools.cs:Zeile 868.
   bei org.dmxc.lumos.Kernel.Input.v2.Graph.node_PropertyChanged(Object sender, PropertyChangedEventArgs args) in P:\DMXControl\Lumos\Lumos\src\Kernel\Input\v2\Graph\Graph.cs:Zeile 484.
   bei LumosToolsLIB.Tools.EventTools.<>c__DisplayClass5_0.<InvokeFailSafe>b__0(PropertyChangedEventHandler a) in P:\DMXControl\Lumos\LumosToolsLIB\src\Tools\EventTools.cs:Zeile 81.
   bei LumosToolsLIB.Tools.EventTools.InvokeFailSaveGeneric[TDelegate](TDelegate delegate, Action`1 invoker, ILumosLog elog) in P:\DMXControl\Lumos\LumosToolsLIB\src\Tools\EventTools.cs:Zeile 154.
  • Werden nun die Einstellungen des Expression-Nodes wieder geöffnet, erscheint folgende Exception im Kernel
FATAL DMXControl 3 Kernel - Unhandled Exception: Der Wert darf nicht NULL sein.
Parametername: name
System.ArgumentNullException: Der Wert darf nicht NULL sein.
Parametername: name
   bei LumosLIB.Kernel.GenericParameter..ctor(String name, String type, Type paraType, EGenericParameterOptions options, IEnumerable enumValues, ParameterCategory category) in P:\DMXControl\Lumos\LumosLIB\src\Kernel\Parameter\GenericParameter.cs:Zeile 64.
   bei org.dmxc.lumos.Kernel.Input.v2.AbstractNode.get_Parameters() in P:\DMXControl\Lumos\Lumos\src\Kernel\Input\v2\Graph\Node\AbstractNode.cs:Zeile 312.
   bei org.dmxc.lumos.Kernel.Net.gService.Parameter.AbstractIParameterableLookup`1.<ParametersAsync>d__2.MoveNext() in P:\DMXControl\Lumos\Lumos\src\Kernel\Net\gService\Parameter\AbstractIParameterableLookup.cs:Zeile 19.
--- 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 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   bei org.dmxc.lumos.Kernel.Net.gService.Parameter_gService.<_parameters_RequestReceived>d__13.MoveNext() in P:\DMXControl\Lumos\Lumos\src\Kernel\Net\gService\Parameter\Parameter_gService.cs:Zeile 118.
--- 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()
An unhandeled Exception has occoured. DMXControl 3 Kernel has to be terminated. Press Enter to exit.
  • Der Kernel dampft ab
4939
0%
GUI & ServerWunsch / IdeeniedrigErrors im versteckten Kernel während Showeinsatz als In...Unbestätigt3.3 Beta xTBD (UIS)13.10.202231.07.2023JPK Aufgabenbeschreibung

Normalerweise ist der Kernel ab DMXControl 3.3.0 versteckt beim Start. So sieht man allerdings Fehler nicht mehr direkt, sollten diese im Kernel (oder im Umbra) auftauchen. Solche Fehler sollten zwar nicht so häufig auftreten. Wenn es passiert, sollte ein User in der GUI darüber informiert werden. Allerdings ist es sehr nervig, wenn während der Show ein Fehler auftritt und dann ein Popup / eine Message hochpopt. Daher sollte dafür ein Icon unten rechts als Ausrufezeichen in rot erscheinen, und beim Draufklicken sollte eine Info kommen, wo Fehler aufgetreten sind (nur dass und nicht welche). Man kann vielleicht noch eine “Show Kernel” oder “Show Umbra” Funktion anbieten. Aber das nur optional, wenn das einfach möglich ist

 5097 
100%
DMX PluginFehlerberichtniedrig ArtNet-Plugin: Deaktivieren und aktivieren des Plugins  ...geschlossen3.3 Beta x3.325.07.202330.07.2023JPK Aufgabenbeschreibung

Folgendes Vorgehen:

  1. ArtNet-Plugin einmal hinzufügen und einrichten
  2. ArtNet-Plugin mit Checkbox in erster Spalte deaktivieren
  3. ArtNet-Plugin mit Checkbox in erster Spalte wieder aktivieren

Nun taucht im Kernel folgender Eintrag alle 3 Sekunden auf:

23:26:37 ERROR ArtNetFactory - ArtPollReply shorter than 239 bytes, ignoring!

Deaktiviert und aktiviert man das Plugin erneut, werden nun alle 3 Sekunden 2 Einträge hinzugefügt, usw.

 4520 
100%
GUI & ServerToDoniedrig i18n auslagern geschlossen3.3 Alpha x3.328.04.202130.07.2023JPK Aufgabenbeschreibung

Damit die Übersetzung (u.a. die T-Klasse) auch in anderen Teilen von Lumos und anderen Programmen wie z.B. dem DDFCreator verwendet werden kann, müssen die Übersetzungsfunktionen in eine separate Library (und evtl. separates NuGet-Paket) ausgelagert werden.

 4993 
100%
PluginWunsch / Ideeniedrig Nanoleafs über das Plugin entfernbar machen geschlossenunbestimmt3.328.12.202230.07.2023JPK Aufgabenbeschreibung

Bisher können Nanoleafs nur dem Plugin hinzugefügt werden. Sie können aber nicht wieder aus dem Plugin gelöscht werden. Das sollte geändert werden

 4873 
100%
InputAssignmentFehlerberichtniedrig Floatingpoint-Probleme im Expression-Node geschlossen3.3 Beta x3.328.06.202224.06.2023JPK Aufgabenbeschreibung

Folgendes Vorgehen führt zu einer Exception im Kernel:

  • In einem leeren Projekt das Input Assignment öffnen und ein neues Connectionset hinzufügen
  • Einen Expression-Node hinzufügen
  • In die Einstellungen des Nodes gehen
  • Folgende Formel eingeben “1.57” [1 Punkt 57]
  • Folgende Exception erscheint im Kernel:
02:37:33 ERROR ExpressionNode -
Jace.ParseException: Invalid token "." detected at position 1.
   bei Jace.Tokenizer.TokenReader.Read(String formula)
   bei Jace.CalculationEngine.BuildAbstractSyntaxTree(String formulaText)
   bei Jace.CalculationEngine.Calculate(String formulaText, IDictionary`2 variables)
   bei org.dmxc.lumos.Kernel.Input.v2.Worker.ExpressionNode.processInternal(NodeProcessContext context) in P:\DMXControl\Lumos\Lumos\src\Kernel\Input\v2\Graph\Node\Worker\Logic\ExpressionNode.cs:Zeile 133.
  • Wird stattdessen “1,57” [1 Komma 57] geschrieben, so funktioniert alles und es kommt 1.57 [1 Punkt 57] als Ergebnis heraus. Es wäre gut, wenn auch die Eingabe mit Punkt statt Komma möglich wäre
 4952 
100%
GUIFehlerberichtniedrig Erster Fader im neuen Masterfenster funktioniert nicht geschlossen3.3 Beta x08.11.202223.06.2023JPK Aufgabenbeschreibung

Neues Masterfenster: Immer der erste Fader jeder Master-Gruppe hat keine Funktion. Alle weiteren sind korrekt allokiert.

 4779 
100%
ServerFehlerberichtmittel Explites Seztzen eines Goborads in Cuelist überschreibt ...geschlossen3.2.33.319.02.202223.06.2023JPK Aufgabenbeschreibung

Voraussetzung / Umgebung

  • Moving Head / Scanner hat zwei Goboräder
  • 2 Cuelists, die auf LTP stehen

Reales Verhalten

Wird ein Gobo auf Goborad 1 durch Cuelist A gesetzt und anschließend ein weiteres Gobo auf Goborad 2 durch Cuelist B, so wird gleichzeitig das Goborad 1 auf “Offen” gesetzt. Ein vergleichbares Verhalten tritt auf, wenn zuerst Goborad 2 gesetzt wird und anschließend Goborad 1. Dann wird Goborad 2 auf “Offen” gesetzt.

Erwartetes Verhalten

Werden die Gobos explizit auf einem Goborad gesetzt, ist die Annahme, dass explizit dieses Gobo auf diesem Rad gesetzt werden soll. Daher darf es dadurch keine Auswirkungen auf das andere Goborad haben und eine andere Cuelist sollte das andere Rad unabhängig setzen können.

Anmerkung

Im Anhang ist ein Testprojekt, mit dem alle möglichen Kombinationen von Goborad 1 und 2 getestet werden können

4954
0%
GUI & ServerWunsch / IdeeniedrigStartup-Layout definierenUnbestätigt3.3 Beta xTBD (UIS)08.11.202229.05.2023JPK Aufgabenbeschreibung

Bisher können schon verschiedene Layouts in einem Projekt gespeichert werden. Allerdings ist es noch nicht möglich, eines der Layouts als Startup-Layout für ein Projekt zu definieren. Es sollte eine Einstellungsmöglichkeit geben, in der man auswählen kann, ob ein spezifisches Layout geladen werden soll oder das zuletzt verwendete. Für ersteres muss dann auch noch ein Handling für nicht mehr existierende Layouts implementiert werden. Siehe dazu auch: https://youtu.be/aXtpf6tv3Cw?t=8542

3121
0%
GUIWunsch / IdeeniedrigNeues Fenster: Engagement Monitor / Control MonitorZugeteilt3.1.13.426.07.201824.03.2023JPK Aufgabenbeschreibung

Aktuell gibt es keine Möglichkeit festzustellen, welche Cuelist, Programmer etc. aktuell eine Eigenschaft eines Gerätes wie z.B. die Position ansteuert. Es sollte daher ein neues Fenster geben, welches zum einen ähnlich wie der Programmer alle Geräteeigenschaften auflistet, die verändert wurden. Dabei sollte aber bei diesem Fenster die generelle Ausgabe im Vordergrund stehen. Wenn mehrere Quellen etwas z.B. auf eine MH-Position ausgeben, sollten alle Quellen in einer Liste dargestellt werden. Dabei sollten diese Werte wenn möglich visuell dargestellt werden (z.B. die entsprechenden Farben oder Gobos darstellen). Die Darstellung der einzelnen Quellen erfolgt in Listenform mit klarer Reihenfolge der (virtuellen) Prioritäten. Sprich hier soll aufgezeigt werden, welche Quelle als nächstes im Eingriff ist, wenn die aktuelle Quelle nicht mehr auf die Geräteeigenschaft ausgibt (daher virtuelle Priorität, da dies auch bei LTP-Mischung angezeigt werden sollte). Des weiteren sollte es auch möglich sein, eine Quelle zu muten (mindestens folgende Optionen: bis zum Beenden der Quelle, dauerhaft muten) und die Reihenfolge der Quellen z.B. per Drag&Drop anzupassen (dann aber evtl. auch mit definierbarer Überblendzeit).

5023
0%
ServerWunsch / IdeeniedrigCuelist: Endverhalten als statische Cue behandelnUnbestätigt3.2.328.01.202328.01.2023JPK Aufgabenbeschreibung

Beim noch einmal über FS#3974, FS#4870 nachdenken (im Rahmen von https://forum.dmxcontrol-projects.org/index.php?thread/16934-cuelist-freigabezeit-verz%C3%B6gerung-dimmer-farbwert ), kam mir folgende zusammenfassende Überlegung: Ideal wäre es, wenn man die Freigabe einer Cuelist generell als weitere Cue ansehen kann (mit allen daraus resultierenden Vor- und Nachteilen). Mit dieser Release-Cue hätte man einerseits die Möglichkeit FS#4870 umzusetzen. Da jede Cue eine Fade Time und eine Delay Time hat, wäre das hier einfach eingebbar. Man müsste noch überlegen, ob man hier auch ein Fanning zulässt wie das bei den Zeiten für andere Cues auch möglich ist. Aber tatsächlich hätte ich damit eigentlich kein Problem, denn dadurch verschiebt man eben nur den Zeitpunkt für einzelne Geräteeigenschaften, wann sie freigegeben werden. So würde dann auch der Cue Timing Editor funktionieren. Mehr noch kann man den Zeitpunkt der Freigabe der Cuelist dann noch feiner einstellen als bisher, denn dann gäbe es nämlich nicht nur “manual only”, “with go” und “when last cue ends”. Stattdessen kann man dann die ganz normalen Cue-Trigger für das Freigeben verwenden. Das einzige, was man überlegen müsste wäre, wie man “manual only” richtig abdeckt. Aber da dürfte eigentlich ein “No Trigger” Eintrag für diese Art von speziellen Cues reichen. So kann ich nie die Release-Cue triggern und die Cuelist nur beenden, wenn ich auf Stop klicke. Dann wir natürlich trotzdem die “Release-Cue” ausgeführt.

5005
0%
GUI & ServerWunsch / IdeeniedrigLayout: Abfrage beim Laden eines Projekts erweiternUnbestätigt3.3 Beta xTBD (UIS)02.01.202312.01.2023JPK Aufgabenbeschreibung

Beim erfolgreichen Laden eines Projekts erscheint irgendwann eine Abfrage, ob das letzte Layout geladen werden soll. Zukünftig sollte diese Abfrage ein Dropdown umfassen, in dem alle im Projekt enthaltenen Layouts aufgeführt sind. Hier sollte das zuletzt geladene Layout vorausgewählt sein. Es sollte auch eine Möglichkeit geben, das Laden des Layouts abzubrechen. In Hinblick auf FS#4954 (was im Zuge dieser Integration auch umgesetzt werden kann) wäre gut, wenn es drei Optionen gäbe:

  • Jedes Mal nachfragen (Ask) (Standardmäßig eingestellt)
  • Immer das letzte Layout laden (Load always last Layout)
  • Immer “Layout xyz” laden (Load always “Layout xyz”)
  • Kein Layout laden (No Default Layout)

Die Abfrage kommt nur im ersten Fall hoch.

5004
0%
GUIFehlerberichtniedrigLayout: Abfrage zum Laden des Layouts nur in einer GUIUnbestätigt3.3 Beta x3.3.102.01.202312.01.2023JPK Aufgabenbeschreibung

Wird ein Projekt erfolgreich geladen, erscheint die Abfrage, ob das vorherige Layout geladen werden soll. Diese Abfrage erscheint jedoch nur in der GUI, in der das Laden des Projekts ausgelöst wurde. Die Abfrage sollte jedoch in allen GUIs erscheinen. Hierfür bräuchte es einen gRPC-Call, der an alle GUIs geht. Dieser sollte dann die AskLoadProjectLayout Funktion im Window Manager ausführen. Die Project Administration soll dann entweder eine neue “AskLoadProjectLayoutInAllGUIs” Funktion oder direkt den gRPC-Call aufrufen.

 4995 
100%
GUI & ServerFehlerberichtniedrig Export von großen Projekten schlägt fehl => Refactoring ...geschlossen3.3 Beta x3.329.12.202208.01.2023JPK Aufgabenbeschreibung

Der Export eines gesamten Projekts mit mehreren Versionen schlägt mit einem Timeout fehl. Das liegt an den bisher nicht verwendeten Deadlines im gRPC. Das muss refactored werden.

5013
0%
GUI & ServerToDoniedrigLauncher: Der Launcher muss Multiversion-fähig werdenUnbestätigt3.3 Beta x3.3.108.01.202308.01.2023JPK Aufgabenbeschreibung

Der Launcher kann aktuell nur eine Version erkennen, anzeigen und starten (im selben Ordner bzw. anhand des Registry-Eintrags). Sobald es mit DMXControl 3.3.1 auch offiziell möglich ist, mehrere Versionen parallel zu installieren (Installer packt dann Registry-Einträge von DMXC 3.3.1 in einen separaten Registry-Eintrag zur 3.3.0). Der Launcher muss einerseits diese neue Struktur unterstützen und andererseits so erweitert werden, dass er dann im Zweifelsfall mehrere DMXC-Versionen anzeigen kann.

 4701 
100%
LauncherWunsch / Ideeniedrig Erkennen, ob Applikation vorhanden ist und sonst Button ...geschlossen3.3 Alpha x3.308.01.202208.01.2023JPK Aufgabenbeschreibung

s.o.

 4720 
100%
ServerFehlerberichtniedrig Neuer Chaser Effekt wird nicht korrekt gelöscht geschlossen3.3 Alpha x3.316.01.202207.01.2023JPK Aufgabenbeschreibung

Folgendes vorgehen:

  1. 8 Scheinwerfer anlegen inkl. Gerätegruppe
  2. In die Stage View gehen und die Gerätegruppe auswählen
  3. Chaser Effekt auf den Dimmer legen
  4. Chaser Effekt über das “X” im Device Control entfernen

⇒ Der letzte eingeschaltete Scheinwerfer bleibt an und dessen Dimmer wird nicht wie erwartet auf 0 zurück gesetzt.

 4871 
100%
ServerFehlerberichtniedrig Neuer Chaser Probleme Parallel Groups geschlossen3.3 Beta x3.324.06.202207.01.2023JPK Aufgabenbeschreibung

Der neue Chaser-Effekt hat Probleme bei Gruppen in Gruppen mit der Einstellung “Parallel Groups”. Dabei flackert er, als ob die Geschwindigkeit “unendlich” wäre. Alle anderen Modi funktionieren.

 4874 
100%
InputAssignmentFehlerberichtniedrig Expression-Node: Falsches Format von x und y geschlossen3.3 Beta x3.328.06.202207.01.2023JPK Aufgabenbeschreibung

Laut Code sollten x und y vom Typ double sein (was auch Sinn ergibt). Wenn man aber versucht, einen Fload-Wert in den Eigenschaften des Nodes in die Zellen für x und y einzutragen, meckert DMXC, dass der Wert keinem gültigen Int32 entspricht. Wurde da zu viel optimiert? Erwartet wird, dass an dieser Stelle direkt Float-Zahlen eingegeben werden können.

 4875 
100%
GUI & ServerFehlerberichtniedrig MIDI-Bugfix-Sammelticket geschlossen3.3 Beta x3.328.06.202207.01.2023JPK Aufgabenbeschreibung

Die Midi-Implementierung ist buggy und sollte zumindest auf einen Stand gebracht werden, dass sie an sich funktioniert. Dieses Ticket sammelt verschiedene Dinge, die mir aufgefallen sind und die ich fixe (als Dokumentation zum Testen).

  1. Das Midi-Feedback ist doppelt, sprich einmal über den Midi-Teil selbst und einmal über das IA. So lässt sich die Rückmeldung über das IA aktuell effektiv nicht durchführen weil der rückgemeldete Wert aus dem IA teilweise über die Midi-Teil-Interne Rückmeldung überschrieben wird. Das führt dazu, dass der Status eine laufenden Cuelist nicht korrekt mit einem hellen Button symbolisiert werden kann
  2. Der Midi-Teil aktualisiert aktuell bei einer Midi-Message am Input (egal ob von einem Button, Fader oder Encoder) alle definierten Buttons statt nur das entsprechende Control. Das führt in Verbindung mit nachfolgendem Problem zu “Geisterauslösung”
  3. Aktuell sind Input- und Feedback-Wert zu einem Wert zusammengefasst (zumindest bei Buttons, bei anderen Controls TBC). Das entspricht nicht ganz der Erwartung, weil so unter gewissen Umständen (bei einem Update des Buttons am Input, siehe z.B. vorherigen Punkt) zu einer falschen Auslösung kommen kann. Daher sollte es getrennte Pfade für Input und Output geben
 4593 
100%
GUI & ServerFehlerberichtniedrig Tracking-Einstellung wird nicht übernommen geschlossen3.2.23.330.07.202106.01.2023JPK Aufgabenbeschreibung

Beim Duplizieren einer Cuelist, bei der Tracking deaktiviert ist, wird diese Einstellung nicht in die zweite Cuelist übernommen. Der Haken ist zwar nicht gesetzt, aber trotzdem reagiert die Cuelist wie eine mit aktivem Tracking (siehe Diskussion Arne ⇔ JP)

4999
0%
GUI & ServerWunsch / IdeeniedrigProject Administration: Aktuell geladene Version markie...Zugeteilt3.3 Beta xTBD (UIS)30.12.202231.12.2022JPK Aufgabenbeschreibung

So, wie aktuell Projekte grün markiert werden, wenn sie geladen sind, sollte auch die geladene Version grün markiert werden, damit man dies direkt sieht.

 4956 
100%
GUIWunsch / Ideeniedrig Project Warning List: Info auch im Input Assignment zur ...geschlossen3.3 Beta x08.11.202208.11.2022JPK Aufgabenbeschreibung

Es sollte im Input Assignment einen Node geben, über den man die Info erhalten kann, ob gerade eine Projekt Warnung aktiv ist und auch die Info welche. U.A. könnte man auch für jede Warnstufe alle entsprechenden Warnungen als Liste ausgeben (noch zu diskutieren). So könnte man auf die verschiedenen Warnstufen z.B. auf dem Softdesk entsprechende Warnungen anzeigen

4955
0%
GUIWunsch / IdeeniedrigAnnehmen der Tastatur-Keys einschränkenUnbestätigt3.2.308.11.202208.11.2022JPK Aufgabenbeschreibung

Aktuell detektiert DMXControl 3 jeden Tastendruck, sollten diese Tasten im Input Assignment verwendet werden. Im Livestream zu den kleinen Helfern in DMXControl 3.3.0 (siehe dazu auch: https://youtu.be/aXtpf6tv3Cw?t=8187) kam die Idee auf, einen Tastendruck nur abzufangen, wenn entsprechende Fenster aktiv sind.

4870
0%
ServerWunsch / IdeeniedrigCuelist Release-DelayUnbestätigt3.2.323.06.202225.09.2022JPK Aufgabenbeschreibung

Ich fände es gut, wenn es neben der Releasetime (die letztendlich der Einblendzeit einer Cue aber eben für das Ausblenden entspricht) auch ein Releasedelay gäbe. Hintergrund hierfür ist der Übergang zwischen mehreren Cuelists des selben Typs. Wenn man ein modulares Cuelist-Schema verwendet, hat man mehrere Cuelists, die nur eine Geräteeigenschaft, wie z.B. den Dimmer anspricht. Um einen weichen Übergang zwischen den Cuelists hinzubekommen, muss man die Releasetime der ausblendenden Cuelist und die Fadetime der ersten Cue der einblendenden Cuelist so geschickt wählen, dass der Übergang nicht auffällt. Das Problem ist nämlich, dass man eine zu kurze Releasetime dadurch sieht, dass die Scheinwerfer kurz ausblenden, bis die zweite Cuelist übernimmt und einblendet.

Dieses Problem könnte man mit einem ReleaseDelay und LTP-Cuelists ganz einfach umschiffen, indem man dann das ReleaseDelay auf die gleiche Länge setzt, wie die Fadetime der ersten Cue der einblendenden Cuelist. Die Releasetime würde man dann auf 0 setzen. Dadurch hat man bei LTP einen weichen Übergang, ohne dass die Scheinwerfer kurz ausblenden.

4238
0%
ServerWunsch / Ideeniedrig"Dimmerkurven" für den Trapez-EffektZugeteilt3.2.122.07.202010.09.2022JPK Aufgabenbeschreibung

Aus diesem Thread: https://forum.dmxcontrol-projects.org/index.php?thread/15425-par-strahler-lauflicht-mit-geschwindigkeitssteuerung/ kam mir die Idee von "Dimmerkur​ven" für den Trapezeffekt? Sprich der Effekt wird um zwei Dropdown-Einträge erweitert, mit denen man für Fade Up und Fade Down jeweils bestimmen, mit welcher Kurve gefadet wird (linear, Sinus-ähnlich, ….). Dadurch hätte man deutlich mehr Kontrolle über das Verhalten. Das macht natürlich die anderen Effekte nicht überflüssig, weil man da natürlich noch eine feinere Einstellmöglichkeit hat.

 4662 
100%
GUI & ServerWunsch / Ideeniedrig Inkonsistentes Verhalten des Random Value Filters geschlossen3.3 Alpha x3.320.11.202128.08.2022JPK Aufgabenbeschreibung

Alle Effekte und Filter funktionieren nach dem Prinzip, dass sie einen gewissen eigenen Wert auf den Basiswert der Geräteeigenschaft aufaddieren. Alle Effekte und Filter? Nein, einen gibt es, der anders arbeitet: Der Random Value Filter. Der Min-Wert des Random Value Effekts überschreibt hart den Basiswert. Das ist inkonsistent zu den anderen Effekten und Filtern. Der Min-Wert wird aber auch nicht benötigt, weil man ja den Basiswert hat. Daher sollte der Min-Wert Eintrag in dem Effekt entfernt werden und dafür zur Abwärtskompatibilität den Min-Wert in den Basiswert kopieren. Man müsste überlegen, ob letzteres ok ist oder ob man entsprechend einen Eintrag in die ToDos machen sollte.

4246
0%
ServerFehlerberichthochDDF führt zu Exception im Raw-BereichAuf User warten3.2.111.08.202025.08.2022JPK Aufgabenbeschreibung

Das erste angehängte DDF führt zu einer Exception. Es ist in sofern falsch aufgebaut, als dass ein Step in einem Raw-Bereich ist. Trotzdem darf das nicht zu einer Exception führen.

ProjectLoad: ERROR: Loading Devices in Project(null)ProjectLoad: ERROR: Error loading Devices in ProjectSystem.InvalidOperationException: Handler RawDMXHandlerNode doesn't have any Ranges!
   bei org.dmxc.lumos.Kernel.HAL.Handler.AbstractRangesHandlerNode.getMinValue(String type) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\AbstractRangesHandlerNode.cs:Zeile 770.
   bei org.dmxc.lumos.Kernel.HAL.Handler.AbstractRangesHandlerNode.get_MinValue() in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\AbstractRangesHandlerNode.cs:Zeile 747.
   bei org.dmxc.lumos.Kernel.HAL.Handler.RawDMXHandlerNode.getPropTypeInstance(IDeviceProperty prop) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\Generic\RawDMXHandlerNode.cs:Zeile 102.
   bei org.dmxc.lumos.Kernel.HAL.Handler.AbstractHandlerNode.getTypeInstance(IDeviceProperty prop) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\AbstractHandlerNode.cs:Zeile 751.
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerDependency.<>c__DisplayClass25_0.<getTypeInstance>b__0(IPropertyHandlerNode n) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerDependency.cs:Zeile 300.
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerDependency.ForEachHandlerNode[T](Func`2 work) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerDependency.cs:Zeile 354.
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerDependency.getTypeInstance(IDeviceProperty prop) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerDependency.cs:Zeile 300.
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerRegistry.<>c__DisplayClass24_0.<getTypeInstance>b__0(HandlerDependency h) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerRegistry.cs:Zeile 382.
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerRegistry.ForEachHandlerDependency[T](IDevicePropertyBase prop, Func`2 work) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerRegistry.cs:Zeile 448.
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerRegistry.getTypeInstance(IDeviceProperty prop) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerRegistry.cs:Zeile 382.
   bei org.dmxc.lumos.Kernel.Devices.DeviceBeam.getTypeInstance(IDeviceProperty prop) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Devices\DeviceBeam.cs:Zeile 245.
   bei org.dmxc.lumos.Kernel.DeviceProperties.AbstractDeviceProperty`1.getTypeInstance() in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\DeviceProperties\AbstractDeviceProperty.cs:Zeile 250.
   bei org.dmxc.lumos.Kernel.PropertyValue.PropertyValue`1..ctor(AbstractDeviceProperty`1 prop, Int64 id) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\PropertyValue\PropertyValue.cs:Zeile 54.
   bei org.dmxc.lumos.Kernel.PropertyValue.PropertyValue`1..ctor(AbstractDeviceProperty`1 prop) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\PropertyValue\PropertyValue.cs:Zeile 46.
   bei org.dmxc.lumos.Kernel.DeviceProperties.AbstractDeviceProperty`1.getValueInstance() in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\DeviceProperties\AbstractDeviceProperty.cs:Zeile 65.
   bei org.dmxc.lumos.Kernel.Devices.DeviceTools.<createPropertySceneEntries>d__1.MoveNext() in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Devices\DeviceTools.cs:Zeile 34.
   bei System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
   bei org.dmxc.lumos.Kernel.Devices.DeviceTools.CreateInitializationScene(IDevice device) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Devices\DeviceTools.cs:Zeile 19.
   bei org.dmxc.lumos.Kernel.Project.DeviceManager.ReinitDeviceBaseline(IDevice device) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Project\DeviceManager.cs:Zeile 739.
   bei org.dmxc.lumos.Kernel.Project.DeviceManager.OnDeviceAdded(IDevice d) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Project\DeviceManager.cs:Zeile 625.
   bei org.dmxc.lumos.Kernel.Project.DeviceManager.<org.dmxc.lumos.Kernel.Run.IManager.initialize>b__132_1(Object o, ProjectResourceEventArgs`1 args) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Project\DeviceManager.cs:Zeile 1064.
   bei org.dmxc.lumos.Kernel.Project.ProjectResource`1.OnItemAdded(ProjectResourceEventArgs`1 args) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Project\ProjectResource.cs:Zeile 213.
   bei org.dmxc.lumos.Kernel.Project.ProjectResource`1.ProjectContainer_ItemAdded(Object sender, ProjectContainerEventArgs`1 e) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Project\ProjectResource.cs:Zeile 189.
   bei org.dmxc.lumos.Kernel.Project.ProjectContainer`1.OnItemAdded(T item) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Project\ProjectContainer.cs:Zeile 243.
   bei org.dmxc.lumos.Kernel.Project.ProjectContainer`1.Load(LumosResource data, LumosIOContext context) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Project\ProjectContainer.cs:Zeile 216.
   bei org.dmxc.lumos.Kernel.Project.Project.loadProject(LumosIOContext context) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Project\Project.cs:Zeile 230.org.dmxc.lumos.Kernel.Exceptions.ProjectLoadException: Errors in Project
   bei org.dmxc.lumos.Kernel.Project.ProjectManager.loadProject(String filename, Stream inputStream, String sessionName, Boolean loadId) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Project\ProjectManager.cs:Zeile 312.

Außerdem fliegt auch noch eine weitere Exception, wenn man das leicht angepasste zweite DDF verwendet.

org.dmxc.lumos.Kernel.Exceptions.XmlParseException: Attribute "caption" in Node "step" missing
   bei org.dmxc.lumos.Kernel.HAL.Handler.RawDMXStepHandlerNode.parseXmlNode(XmlNode ddfnode) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\Generic\RawDMXStepHandlerNode.cs:Zeile 105.
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerRegistry.ParseXmlTree(DDFParseContext context) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerRegistry.cs:Zeile 143.
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerRegistry.parseXmlFile(DDFParseContext context) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerRegistry.cs:Zeile 58.
   bei org.dmxc.lumos.Kernel.Devices.DeviceBeam..ctor(IDevice parentDevice, UInt32 beamNumber, DDFParseContext context) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Devices\DeviceBeam.cs:Zeile 92.
   bei org.dmxc.lumos.Kernel.Devices.DMXDevice.parseDDF(XmlDocument ddf, String filename) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Devices\DMXDevice.cs:Zeile 406.
   bei org.dmxc.lumos.Kernel.Devices.DMXDevice.LoadXML(String ddfFile) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Devices\DMXDevice.cs:Zeile 170.
   bei org.dmxc.lumos.Kernel.Devices.DMXDevice.set_DDFSourceFile(String value) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Devices\DMXDevice.cs:Zeile 115.
   bei org.dmxc.lumos.Kernel.Devices.DMXDevice.setParameterInternal(DeviceParameter parameter, Object value, Object& valueToSend) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Devices\DMXDevice.cs:Zeile 310.
   bei org.dmxc.lumos.Kernel.Devices.AbstractDevice.setParameter(DeviceParameter parameter, Object value) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Devices\AbstractDevice.cs:Zeile 1000.
   bei org.dmxc.lumos.Kernel.Devices.AbstractDevice.<>c__DisplayClass121_0.<org.dmxc.lumos.Kernel.Resource.ILumosSaveable.loadFromManagedTree>b__0(String s, Object o) in D:\Jenkins\workspace\Lumos_3.2_Release\Lumos\Lumos\src\Kernel\Devices\AbstractDevice.cs:Zeile 670.
device-->functions-->rawstep-->step
4796
0%
GUI & ServerWunsch / IdeeniedrigNode, der schaltzustände unterschiedlicher Inputs abgle...Unbestätigtunbestimmt06.03.202206.03.2022JPK Aufgabenbeschreibung

s.o. (Reminder für JPK, siehe Projekt SpeedMaster Slider Beispiel)

 4639 
100%
ServerWunsch / Ideeniedrig Ausschlussmöglichkeit der CTO-Filter von automatischer  ...geschlossen3.2.226.10.202127.02.2022JPK Aufgabenbeschreibung

Wie Patrick sagt, sind die CTO Filter trotzdem Farbfilter. Allerdings macht es hier keinen Sinn, diese Filter mit in die automatische Farbmischunng zu nehmen. Ergo sollten einzelne Farbfilter von der automatischen Farbwahl ausgeschlossen werden können und nur bei einer direkten Anwahl auswählbar sein.

 4631 
100%
ServerFehlerberichtniedrig Support-Handler funktioniert nicht bei Color + Colorwhe ...geschlossen3.3 Alpha x3.317.10.202127.02.2022JPK Aufgabenbeschreibung

Im angehängten DDF habe ich sowohl Farbkanäle als auch 2 Farbräder (nach dem Hinweis von Patrick, dass die virtuellen CTO-Filter eher ein virtuelles Farbrad sind als ein Farbkorrektur-Kanal). Das DDF kann ich so ohne Probleme in DMXC laden. Mit dem DDF funktioniert es, die Farbkanäle anzusteuern. Auch der Support-Kanal steht da auf dem richtigen Wert. Es funktioniert ebenfalls, die virtuellen Rainbow-Effekte durchlaufen zu lassen (auch hier wird der Support-Kanal korrekt gesetzt). Es funktioniert aber nicht, die CTO-Filter auf dem einen virtuiellen Farbrad bzw. die Farben auf dem anderen virtuellen Farbrad anzusprechen. Der entsprechende Kanal wird zwar korrekt gesetzt, der Support-Kanal wird aber nicht gesetzt und bleibt auf seinem bisherigen Kanalwert.

Edit: Ich habe das DDF mal mit dem hal-Parameter aus  FS#4639  ergänzt und noch einmal angehängt

 4713 
100%
ExecutorenWunsch / Ideeniedrig GroupMaster Executor Display um Gruppenicon erweitern geschlossen3.3 Alpha x3.312.01.202225.01.2022JPK Aufgabenbeschreibung

s.o.

4513
0%
Project ExplorerWunsch / Ideeniedrig"Mute Groups" für GeräteUnbestätigt3.2.227.04.202119.01.2022JPK Aufgabenbeschreibung

Möchte man mit einem Projekt an verschiedenen Locations arbeiten, muss man einfach die nicht benutzten Geräte deaktivieren. Hat man aber recht viele Geräte, kann das durchaus auch einmal länger dauern, bis man alle entsprechenden Geräte deaktiviert / aktiviert hat. Daher wäre es gut, wenn man auf irgendeine Art und Weise “Locations” (Name TBD, alternativ tatsächlich “Mute Groups”) im Projekt hinterlegen kann, denen dann einzelne Scheinwerfer zugewiesen werden können. Aktiviert man eine “Location”, werden alle anderen Scheinwerfer deaktiviert, die nicht in der “Location” sind. So muss man nur noch einmalig die einzelnen “Locations” definieren und kann recht schnell zwischen verschiedenen Veranstaltungsorten wechseln.

Weitere Erwartungshaltungen:
- Man kann trotzdem ein anderes Gerät wieder aktivieren, auch wenn es nicht in einer “Location” enthalten ist. Das muss dann händisch passieren und es hat keine Auswirkung auf die Locationzugehörigkeit (beim nächsten Mal muss man es wieder händisch aktivieren, wenn das gewünscht ist)
- Es können auch mehrere “Locations” aktiv sein. Die aktiven “Locations” werden verodert.
- Deaktiviert man alle “Location”, werden alle Geräte aktiviert

 4271 
100%
ServerFehlerberichtniedrig Werte in Matrix bleiben trotz Löschen aus Programmer be ...geschlossen3.2.2 Beta x3.313.09.202013.01.2022JPK Aufgabenbeschreibung

Steuert man mit einer Matrix mehrere Geräte oder Sub-Matrizen an, so bleibt die Ausgabe beim Löschen von Werten aus dem Programmer weiter bestehen. Folgendermaßen lässt sich das Problem reproduzieren:

  1. Lege 4 Geräte an
  2. Lege eine 4×1 Matrix an
  3. Patche die Geräte auf die Matrix
  4. Wähle die Matrix in der Stage View aus
  5. Klicke auf den Lumos Button
  6. Stelle eine Farbe für die Matrix ein
  7. Gehe nun in den Programmer und lösche den Farbwert für die Matrix

Problem: Die LED-Scheinwerfer behalten nun den letzten Farbzustand, obwohl kein Wert mehr gesetzt ist. Sie gehen erst aus, wenn man den Programmer über “Clear” leert

Erwartetes Verhalten: Die Matrix verhält sich hier wie eine Art Gerätegruppe, wenn also die Werte der Matrix gelöscht werden, muss die Ausgabe der zugeordneten Geräte auch gelöscht werden

 1928 
100%
GUIWunsch / Ideeniedrig Einfache Steuerung von zeitlichen Werteabläufen mittels ...geschlossenBeta 606.02.201402.01.2022JPK Aufgabenbeschreibung

Ich fände ein Fenster, ähnlich dem Graph-Editor in Blender ganz geschickt (siehe hier) um recht einfach DMX-Werte bei Zeitverläufen (z.B. bei einem kommenden Audioplayer) steuern zu können. In Blender werden in diesem Graph-Editor alle animierten Eigenschaften eines Objektes angezeigt und man kann diese Werte ganz einfach per verschieben der gespeicherten Punkte ändern. Auch unterschiedliche Kurven-Formen zwischen den einzelnen sog. Keyframes also gespeicherten Punkten sind möglich. Für DMXC könnte ich mir eine ähnliche Darstellung vorstellen. Dies könnte z.B. in einem zukünftigen Audioplayer durch eine Werte-Timeline unter der Audiotimeline realisiert werden, in die dann die numerischen Werte der Eigenschaften (z.B. R,G,B,Zoom,Dimmer,Pan,Tilt,etc.) eingetragen werden können. Dazu gibt es dann ein weiteres Feld für die Geräteeigenschaftsauswahl. Wenn man nun Eigenschaftswerte speichern möchte, geht man einfach an eine gewisse Stelle im Lied, wählt in der Geräteauswahl die zu speichernden Gerätekanäle aus und drückt auf einen Speichern-Button bzw. ein Shortcut. Nun wird in der grafischen Darstellung an dieser Stelle ein Speicherpunkt eingefügt. Wenn man das für jeden entsprechenden Punkt macht, erhält man recht einfach einen grafischen Verlauf der Eigenschaftswerte und dazwischen entsprechende Werteverläufe. Nun sollte man noch jeden Speicherpunkt so umstellen können, dass nicht nur lineare Werteänderungen sondern auch Spline-Kurven mit entsprechender Gewichtung möglich sind und das Fenster sollte eine Zoomfunktion besitzen.

Damit hätte man eine einigermaßen einfache, nach kurzer Einlernzeit recht intuitive Einstellungsmöglichkeit für zeitliche Werteverläufe, die z.B. in einem zukünftigen Audioplayer vorkommen werden. Eine andere Möglichkeit wäre es, damit Quelists zu visualisieren und nach der Grobkonfiguration in der Quelist hier das Finetuning vor zu nehmen. Nicht zu letzt wäre das (neben einigen anderen Dingen auch) ein Alleinstellungsmerkmal, denn mir ist keine DMX-Software bekannt, die eine solche grafische Darstellung besitzt.
Viele Grüße
Jens-Peter
P.S.: Ich habe diesen Wunsch auch mal noch bei DMXC 2 eingetragen, je nach dem, zu welcher Version (hoffentlich beide) das besser passt.

 4669 
100%
GUI & ServerToDoniedrig Unterschiedliches Verhalten von Back im Cuelist Editor  ...geschlossen3.3 Alpha x01.12.202129.12.2021JPK Aufgabenbeschreibung

Wie im Video in  FS#4657  zu sehen ist, haben die “Back”-Button im Cuelist Editor und in den Executoren ein unterschiedliches Verhalten. Beim Back-Button im Cuelist Editor ist es ein “Go Back”, sprich die vorherige Cue wird selektiert und ausgeführt. In den Executoren ist es ein “Back”-Button ohne die “Go”-Komponente. Wir sollten besprechen, ob das nicht vereinheitlicht werden soll oder die jeweils andere Variante bei den Executoren und dem Cuelist Editor als weitere Varianten verfügbar gemacht werden.

4424
0%
GUIWunsch / IdeeniedrigRechnung in Properties erlaubenUnbestätigt3.2.23.425.03.202128.11.2021JPK Aufgabenbeschreibung

In DMXC 3.2.2 können bei der Angabe von Mastern im Device Control schon Rechnungen angegeben werden und hier gibt es auch einen Parameter für die Anzahl der Geräte in der angesteuerten Gerätegruppe (CONST). Ich fände es gut, wenn man Rechnungen auch direkt in den Properties angeben könnte. Dies ist dann sinnvoll, wenn beispielsweise ein Effekt per Fanning auf der Phase auf 8 Scheinwerfer verteilt werden soll. Aktuell muss man hier das Fanning entsprechend angeben, wodurch es angepasst werden muss, wenn sich die Anzahl der Geräte in der Gruppe ändert. Durch einen Parameter wie den COUNT Parameter könnte man dies elegant umgehen.

Ein weiterer Anwendungsfall wäre, wenn mehrere Effekte überlagert werden sollen. In diesem Fall muss man das Fanning per Offset verschieben. Man könnte sich Arbeit sparen, wenn man das Offset per Rechnung angeben könnte (natürlich auch für gefannte Werte, um das ganze Fanning zu verschieben). Die Frage wäre noch, ob die Rechnung wenn möglich aufgelöst werden soll oder nicht. Beides hätte seine Vorzüge. Das Auflösen ist übersichtlicher, nicht auflösen könnte bei Offsets deutlich einfacher sein.

3595
0%
GUI & ServerFehlerberichtniedrigGefanntes Delay funktioniert bei One Shot nichtAuf Entwickler warten3.2 Beta x18.05.201926.11.2021JPK Aufgabenbeschreibung

Ausgangssituation: Es gibt mehrere Moving Heads, die zeitversetzt eine Welle (Sinus auf Tilt) durchlaufen sollen. Hierzu gibt es drei Cues, einen mit dem Sinus auf dem Tilt, die One Shot-Cue und eine statische Cue, um die Welle zu beenden. Da es ein gefanntes Delay für alle drei Cues eingetragen ist, bin ich davon ausgegangen, dass nun auch alle Heads die Welle zeitversetzt durchlaufen und jeder mit seinem entsprechenden Delay wieder zum stehen kommt. Das ist aber nicht der Fall. Nachdem der erste Moving Head die Welle durchlaufen hat, beenden alle die Welle irgendwo mitten drin und gehen gleichzeitig direkt auf die statische Stimmung.

4248
0%
ServerWunsch / IdeeniedrigBounce-Option für EffekteUnbestätigtunbestimmt25.08.202029.09.2021JPK Aufgabenbeschreibung

Test/Idee: Wenn möglich, sollten alle Effekte einen Schalter für “Bounce” bekommen, wodurch der mathematische Effekt umgekehrt durchlaufen wird. Außerdem sollte die “Laufweite” (Anfangswinkel und Endwinkel) des mathematischen Effekts einstellbar sein.

zeige Aufgaben 1 - 50 von 139 Seite 1 von 3

verfügbare Tastenkürzel

Aufgabenliste

Aufgabendetails

Aufgabenbearbeitung