Hilfe bei Plugin-Entwicklung

We proudly present: The release of DMXControl 3.3.3!


On September 29, 2026, we held our release show for DMXControl 3.3.3. During our usual “hour-long” session, we showed you all the new features in this version and what it now has to offer.
Read all about it in the corresponding news article: We proudly present: The release of DMXControl 3.3.3!


  • Hallo in die Runde,

    ich versuche mich gerade daran ein Kernel Plugin für das Input Assignment zu schreiben. Goto -> From. Es gibt einen Node Goto der einen Namen hat und in den ein Signal reingeht. Und es kann mehrere From Nodes geben, die dieses Signal ausgeben, wenn sie auf den gleichen Namen hören. Also quasi einfach nur eine Signalweiterleitung um mehrere Connectionsets miteinander verbinden zu können. Das Ganz funktioniert auch tatsächlich schon aber ich habe an einer Stelle ein Problem bei dem ich um Rat bitten will:

    Im Bild unten sieht man das Fenster für die Einstellungen des From Nodes. Es gibt nur eine relevante Einstellung, nämlich den Namen des Goto Nodes mit dem verknüpft werden soll.

    Hierzu habe ich einen Parameter definiert:

    protected override IEnumerable<GenericParameter> ParametersInternal
    {
    get
    {
    yield return new GenericParameter(PARAlabelName, GraphNodeParameters.GraphNodeParameterType, typeof(string), enumValues: GotoFromManager.Instance.GetAvailableLabelNameEnumValues()) { ... };
    }
    }

    Wobei GotoFromManager.Instance.GetAvailableLabelNameEnumValues() eine IList<string> zurückgibt.

    Mein Problem ist jetzt dass die Auswahlliste für diesen Parameter nur einmalig beim Erzeugen eines neuen Nodes abgerufen aber danach nie wieder aktualisiert wird. Ich finde keine Möglichkeit das UI zu benachrichtigen, dass es bitte diese ComboBox aktualisieren soll. Das Problem tritt nämlich auch dann auf, wenn ich schon einen From Node erzeugt habe und danach eine Goto Node erzeuge. Der Name dieses neuen Goto Nodes erscheint nie in der Auswahlliste. Ich habe bereits OnProcessRequested() und OnPropertyChanged(...) mit entsprechendem Argument ausprobiert.

    Vielleicht könnte mir jemand sagen, ob das überhaupt geht, dass man aus dem Code heraus hier eine Aktualisierung antriggert bzw. wie das geht.

    Vielen Dank, LG


  • Ja, scheint ne etwas zu spezielle Frage gewesen zu sein ^^

    Da leider niemand Gelegenheit hatte zu antworten, musste ich wild rumprobieren. Das hat ein bisschen gedauert. Ich konnte aber feststellen, dass folgende Methode mein Problem löst und scheinbar alles am Node aktualisiert:

    OnNodeChanged(NodeChangedEventArgs.EChangeType.WhateverChange);

  • Hallo,

    gut, dass du das herausgefunden hast. Damit du aber dazu auch bescheid weißt: Ich habe auch schon über ähnliche, eingebaute Konzepte nachgedacht. Diese habe ich aber zurückgestellt, bis das Input Assignment aktualisiert ist. Letzteres muss gemacht werden, was das aktuelle noch auf XNA aufbaut, was wir mittelfristig entfernen müssen. Dabei können sich auch die Konzepte vom Input Assignment noch einmal etwas ändern. Daher einfach das du schon einmal bescheid weißt, dass es in dem Bereich in Zukunft Änderungen und vor allem auch eingebaute Konzepte geben kann.

    Viele Grüße

    JP

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