Startwert für Dropdown Menue

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,

    wie kann ich einen Startwert im Dropdownmenue festlegen?
    Also wie ich ein Dropdown aufbaue und die einzelnen items einem Wert zuordne ist klar.
    Aber ich habe bei anderen Dropdowns gesehen, dass die immer den ersten Wert (und sei er Null) im
    "Sichtbalken" haben. Bei mir ist er leer.
    Wie kommen ich also den ersten Wert (das würde mir reichen) in dieses Fenster rein....
    Danke

    DJ Detto

    Habe ausreichend Material für den Teich in dem ich fische. :D Mehr über mich unter https://forum.dmxcontrol-projects.org/www.drw-disco.de 8)
    ************
    Alles wird gut! Man muss nur fest dran glauben und Geduld haben, wobei letzteres in der heutigen Zeit das größte Problem darstellt. :argh: :argh: :argh:

  • Hallo,
    das ist recht einfach: Du hast ja sicher Get- Proceduren, die normalerweiße die Werte in dem Dropdown u. a. auswählt. Nun brauchst du noch eine Procedure mit dem Namen "INITCONTROLS" und dort trägst du für jede Get-Procedure einen Eintrag nach dem folgenden Muster ein: "!call|Get...$" Dadurch sollten deine Dropdowns gleich am Anfang eine Auswahl anzeigen.
    Viele Grüße
    JP

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

  • Hallo,
    das ist recht einfach: Du hast ja sicher Get- Proceduren, die normalerweiße die Werte in dem Dropdown u. a. auswählt. Nun brauchst du noch eine Procedure mit dem Namen "INITCONTROLS" und dort trägst du für jede Get-Procedure einen Eintrag nach dem folgenden Muster ein: "!call|Get...$" Dadurch sollten deine Dropdowns gleich am Anfang eine Auswahl anzeigen.
    Viele Grüße
    JP


    aaaaaaaaaaaaahhhhhhhhhhhh
    Nein ich habe noch nichts mit Prceuren gemacht :( ich bin noch in der Lernphase :D auch sagt mir das mit den GET und den INITcorols usw nix.

    Ich habe im DDF eine ältere Version vom Expolite TCL 21 genommen und den Slider für die Macros durch ein Dropdown ersetzt.
    Dann habe ich dem jedweiligen Macro (item) einfach einen Wert zugewisen. Was ich jetzt möchte, ist das er Startwert (=0) als erstes im Dropdown erscheint und da hapert es......
    Vlt kannst Du das ja mal ein wenig ausführlicher beschreiben bzw. einen LINK senden, wo ich das nachlesen kann

    Danke
    DJ Detto

    Hilfe....

    Habe ausreichend Material für den Teich in dem ich fische. :D Mehr über mich unter https://forum.dmxcontrol-projects.org/www.drw-disco.de 8)
    ************
    Alles wird gut! Man muss nur fest dran glauben und Geduld haben, wobei letzteres in der heutigen Zeit das größte Problem darstellt. :argh: :argh: :argh:

  • Hallo,
    also ich hab eigentlich keine richtige Doku zu den Proceduren gefunden (das, was es gibt, ist meiner Meinung nach recht oberflächlich).
    Du musst in dem Proceduren-Fenster 2 Proceduren anlegen. Die erste nennst du "INITCONTROLS" die weiteren kannst du so nennen, wie du willst, aber sinnvoll ist eine Benennung nach dem Schema: Get.... für Proceduren die deine Dropdowns, Slider o.ä. ändern und Set.... für Proceduren, die den Kanal-Wert in DMXC ändern.
    Nun musst du deinem Dropdown einen Namen geben (z.B. "Makro_mode"). In der Get-Procedure trägst du jetzt If-Abfragen nach dem Schema:
    !if|({channel_0} > 69) and ({channel_0} < 140)|
    !set_control|Makro_mode|2$
    $
    (channel_0 ist der Makrokanal deines Geräts und die 2 hinter Makro_mode ist der Wert des auszuwählenden Eintrags in deinem Dropdown)
    Nun musst du 1. in der "INITCONTROLS"-Procedure einen Eintrag "!call|GetMakro$" schreiben und 2. in der Kanalübersicht bei dem entsprechenden Kanal unter action den Namen der Get-Procedure. Das sollte schonmal das Dropdown immer aktuallisieren, wenn sich der Kanalwert in DMXC ändert. Ich häng noch ein Beispiel an, das ich kürzlich für jemanden hier im Forum angepasst hab. Da kannst du dir die Proceduren mal anschauen (die Color und Gobo-Proceduren stammen von mir).
    Viele Grüße
    JP

  • Tach zusammen,

    ich hol das Thema noch einmal hoch:

    Ich habe mein DDF jetzt auf Proceduren umgebaut und das klappt auch hervorragend.

    Jetzt wollte ich nur noch, dass in dem jeweiligen Dropdown der erste Wert als "Startwert" angezeigt wird. Eben wie oben die Ausgangsfrage war.
    So der Code sieht wie folgt aus (Ausschnitt):

    Ich habe 2 Dropdowns deren 1. Zeile ich hier eingefügt habe und die eine passende Procedure
    es harpert aber an der INITCONTROLS...

    Was habe ich da jetzt falsch geschrieben???

    Detto

    Habe ausreichend Material für den Teich in dem ich fische. :D Mehr über mich unter https://forum.dmxcontrol-projects.org/www.drw-disco.de 8)
    ************
    Alles wird gut! Man muss nur fest dran glauben und Geduld haben, wobei letzteres in der heutigen Zeit das größte Problem darstellt. :argh: :argh: :argh:

  • Hallo Detto,

    Quote

    Ich habe mein DDF jetzt auf Proceduren umgebaut und das klappt auch hervorragend.
    Jetzt wollte ich nur noch, dass in dem jeweiligen Dropdown der erste Wert als "Startwert" angezeigt wird.


    Wenn Du im DDF beim Device Tag am Anfang das Attribut initsequence nutzt
    um deine DMX-Werte auf die gewünschten Anfangswerte zu setzen, dann
    werden auch deine Dropdowns durch deine Proceduren auf die jeweilige
    Auswahl gesetzt.

    Gruß Uwe

    P.S.
    Wo sind eigentlich deine Get-Proceduren ?

  • Wenn Du im DDF beim Device Tag am Anfang das Attribut initsequence nutzt
    um deine DMX-Werte auf die gewünschten Anfangswerte zu setzen, dann
    werden auch deine Dropdowns durch deine Proceduren auf die jeweilige
    Auswahl gesetzt.

    Gruß Uwe

    P.S.
    Wo sind eigentlich deine Get-Proceduren ?

    emmm Uwe..... Du ...... mal ehrlich???

    Ich kann Dir nicht so ganz folgen....

    Also das ich irgendwelche GET Proceduren machen muss ist klar nur wo und wie (Syntax) ist nciht klar.
    und was muss ich im Device Tag wo schreiben... ;(;(
    Vllt mal ein Beispiel DDF???? :D

    Detto

    Habe ausreichend Material für den Teich in dem ich fische. :D Mehr über mich unter https://forum.dmxcontrol-projects.org/www.drw-disco.de 8)
    ************
    Alles wird gut! Man muss nur fest dran glauben und Geduld haben, wobei letzteres in der heutigen Zeit das größte Problem darstellt. :argh: :argh: :argh:

  • Hallo Detto,
    wenn ich Ihn richtig verstehe meint Er zb so was:
    <device image="Scanner.gif" initsequence="set 0 127; set 1 127; set 2 127; set 3 127; set 4 0; set 5 127;
    Hier werden die werte am Anfang die Werte gesetzt.
    Oder im DDF-Creator:

    Gruß Steff

    Am Ende wird alles gut !

    Wenn es nicht gut wird, dann ist es noch nicht das Ende.

    May the light be with you

  • Hallo Steff,

    das mit der Initsequence und dem Werte setzen ist klar.
    Aber: Wird dann der erste Text im Dropdown angezeigt???

    Detto

    Habe ausreichend Material für den Teich in dem ich fische. :D Mehr über mich unter https://forum.dmxcontrol-projects.org/www.drw-disco.de 8)
    ************
    Alles wird gut! Man muss nur fest dran glauben und Geduld haben, wobei letzteres in der heutigen Zeit das größte Problem darstellt. :argh: :argh: :argh:

  • Hallo Detto,

    Quote

    das mit der Initsequence und dem Werte setzen ist klar.
    Aber: Wird dann der erste Text im Dropdown angezeigt???


    durch die Get-Procedure, die sich dann den DMX-Werte holt,
    und Sie auf die Dropdowns anwendet.

    Durch deine Aussage

    Quote

    Ich habe mein DDF jetzt auf Proceduren umgebaut und das klappt auch hervorragend.


    bin ich davon ausgegangen, das die Proceduren Set und Get vorhanden sind und auch funktionieren.

    Schau dir doch mal in einem anderen DDF die Get-Funktionen an, dann
    wird dir das schnell klar werden.

    Gruß Uwe

  • Hi Uwe,

    ich hatte auch mal im neuen Handbuch gelsen, bin aber wirklich nicht schlaueer geworden auch mit DDF Creator 2 bin ich nicht
    weiter gekommen, habe zur Zeit aber auch nicht die nötige Ruhe.

    Damit es einfacher wird mal das DDF im Anhang.

    Das mit den Procedure und dem SET ist soweit klar. Das auswählen der Farben und der AUTO MODE funktioniert.

    Detto

  • Hallo Detto,
    ich hatte dir doch seiner Zeit im Thread wie baue ich ein (verdammt) grosses DDF sinnvoll auf???
    das DDF von meinem Showtec Compact PAR Tri.zip angehängt.

    Schau mal da rein, das ist genau das was Du braucht für deine GetColor_1 Procedure.
    Die GetAuto_1 ergibt sich dann daraus entsprechend.

    Wenn es nicht klappt, kann ich es dir auch rein machen. ;)

    Gruß Uwe

  • Hallo Uwe,

    vielen Dank, aber ich möchte es erst einmal selber versuchen und
    - was viel wichtiger ist - verstehen...

    Das ich mit dem Dropdown und der Wertzuweisung eine SET_COLOR Procedure
    erstellen kann, die dann den Wert in RGB Werte umwandelt und ausgibt ist klar.

    Aber was noch nicht so ganz angekommen ist, ist diese GET Procedure.
    Das was im DDF Creator steht ist auch eher "unverständlich" - also für MICH!!!

    Werde jetzt mal an das neue Handbuch gehen... soweit hinten habe ich ja noch nie gelesen... :P
    Melde mich.
    Detto

    Habe ausreichend Material für den Teich in dem ich fische. :D Mehr über mich unter https://forum.dmxcontrol-projects.org/www.drw-disco.de 8)
    ************
    Alles wird gut! Man muss nur fest dran glauben und Geduld haben, wobei letzteres in der heutigen Zeit das größte Problem darstellt. :argh: :argh: :argh:

  • Hallo Detto,
    dann schalte ich mich auch mal hier ein :): Also wie du ja weist, ist eine Set-Procedure dazu da, die Werte aus dem Dropdown einzulesen und in einen Kanalwert umzuwandeln. Dazu wird diese Procedure bei jeder Änderung des Dropdowns ausgeführt.

    Nur: Was ist jetzt, wenn sich der Kanalwert nicht durch eine Auswahl eines Dropdown-Eintags ändert, sondern z.B. durch den den Effektsequenzer? Du musst also diesen geänderten Kanalwert auch wieder an das Dropdown übergeben können, damit dieses auch tatsächlich das richtige anzeigt, wenn der Kanalwert in DMXC geändert wurde. Genau das macht die Get-Procedure. In ihr wird geschaut, ob der Kanalwert in einem von mehreren Kanalbereichen liegt. Wenn ja, wird das Dropdown auf den entsprechenden Eintrag gesetzt.
    Viele Grüße
    JP

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

  • Hallo Detto

    Wie JP schon geschrieben hat, ist die get-Methode dazu da aus den DMX-Werten wieder die Werte der Controls zu machen.

    Diese get-Methode wird einmal per Initcontrols (also beim öffnen des DDF-Fensters) und dann noch per channel action (also wenn das DDF-Fenster offen ist und sich ein DMX-Wert ändert) aufgerufen.


    Seit neustem gibt es ja auch min und maxvalues für die Dropdowns, wobei die bei deinem jetzigen DDF nicht helfen, da Sie eher nur für dropdowns gedacht sind, die direkt auf die dmxwerte zugreifen. Diese min und maxvalues übernehmen im Endefekkt die einfachste Version einer getmthode ab. Nicht nur einen wert sondern wertebereiche einem dropdowneintrag zuzuweisen.
    -> Edit:
    Das Set_auto kannst du einfach löschen in direkt im dropdown eintragen:

    -> Dropdown-Eigenschaft öffnen
    -> rechts bei channel "6" eintragen
    -> values "0 bis 10" durch die Werte die du in der Procedure set_auto setzt (0->0, 1->25,..., 10->115) ersetzten.

    So nun hast die das gleiche (inkl. einfacher get-Methode, die nur bei dem exakten wert den eintrag auswählt) nur einfacher gelöst, wenn du nun noch die min und maxvalues für die einzelnen modis einträgst, also z.B.: minvalue="0" maxvalue="9", dann wird der eintrag auch angezeigt, wenn der DMXWert in diesem Bereich liegt (nicht nur bei exaktem Wert).


    So und nun kommen wir zu deinem Fall (nurnoch für getColor_1 so machen):

    Erst einmal gibt es in deinem DDF die zwei get-methoden "Getauto_1" und "GetColor_1" noch nicht -> anlegen
    Dann hast du die get-Methoden bereits richtig mit call in den Initcontrols aufgerufen.
    Nun solltest du noch bei den betreffenden Kanälen (DDF Eigenschaften -> DMX-Kanäle) bei action den Namen der jeweiligen get-Methoden eintragen.
    Bei deinem GetColor_1 wären das die rgb-Kanäle, da ja alle 3 für die Methode wichtig sind, zumindest sobald Wertveränderungen vorhanden sind.

    Jetzt musst die im Procedurefenster noch die GetColor_1 anlegen.
    Da ich zugeben muss, dass die Procedureskriptsprache etwas verwirrend ist, gebe ich dir hier jetzt ein Beispiel für einen Dropdowneintrag

    Code
    !set_control|Color_1|0$
    !if|({channel_1}=1) and ({channel_2}=1) and ({channel_3}=1) and ({channel_4}=1)|
    !set_control|Color_1|0$
    $
    !if|({channel_1}=255) and ({channel_2}=0) and ({channel_3}=0) and ({channel_4}=0)|
    !set_control|Color_1|20$$(weitere Abfragen)


    Am anfang setzte ich das Dropdown auf schwarz weil wenn keins passt wird schwarz angezeigt und nicht das zuletzt ausgewählte. Kann auch weggelassen werden. Ansonsten sollte es selbsterklärend sein.

    Falls noch fragen offen sind immer her damit

    P.S.: Warum setzten denn alle Leute den Strobkanal und jetzt hier den Effektspeed auf fade="no". Sieht meiner Meinung nach besser aus, wenn ein Strobo nicht plötzlich in einer ganz anderen Frequenz blitzt, als dass diese sich "langsam" dem neuen Wert annähert. Sieht einfahc estetischer aus und nicht so abgehackt und unsauber.

    Gruß Philipp

  • Nur: Was ist jetzt, wenn sich der Kanalwert nicht durch eine Auswahl eines Dropdown-Eintags ändert, sondern z.B. durch den den Effektsequenzer? Du musst also diesen geänderten Kanalwert auch wieder an das Dropdown übergeben können, damit dieses auch tatsächlich das richtige anzeigt, wenn der Kanalwert in DMXC geändert wurde. Genau das macht die Get-Procedure. In ihr wird geschaut, ob der Kanalwert in einem von mehreren Kanalbereichen liegt. Wenn ja, wird das Dropdown auf den entsprechenden Eintrag gesetzt.
    Viele Grüße
    JP


    Hi JP,

    wie immer kurz und pregnant erklärt. Hab ich verstanden. :D
    Aber Frage: Ist das ein MUSS???
    MUSS ich diese GET Procedure schreiben?
    Denn wenn ich das Dropdown nur zum einstellen einer "Lichtstimmung " nehmen will,
    mir das Dropdown aber während des "Discobetriebes" egal ist dann brauche ich das doch nicht oder?

    Ich brauche es nur, um bei der erste Abfrage die oben gesetzten Werte bei INITCONTROL
    einmal abzufragen um damit den "Startwert" zu deklarieren. Ich möchte ja nur,
    dass das Feld nicht leer ist, wenn ich das DDF öffne.

    Oder sehe ich den Vorteild er GET Funktion noch nciht so richtig?
    Auf der anderen Seite, wenn ich nun einen rainboweffekt erstelle und meine
    RGB Kanäle faden jetzt fleißig vor sich hin dann würde jedesmal wenn
    die passende farbkombination auftaucht sich das Dropdown "aktualisieren"
    sofern das DDF offen ist - ist das so richtig?

    Phil90
    Hi Philipp (jepp richtig geschrieben :D )

    vielen Dank für die ausführliche und weitreichende Erklärung, aber ich muss erst einmal die Basics verstehen, bevor ich
    mit min max und sonstigem beschäftige. (Habs jetzt nur überflogen)

    Detto

    Habe ausreichend Material für den Teich in dem ich fische. :D Mehr über mich unter https://forum.dmxcontrol-projects.org/www.drw-disco.de 8)
    ************
    Alles wird gut! Man muss nur fest dran glauben und Geduld haben, wobei letzteres in der heutigen Zeit das größte Problem darstellt. :argh: :argh: :argh:

  • Hallo Detto,
    du musst natürlich keine Get-Procedure schreiben. Damit funktioniert das DDF auch, aber deine Controls im DDF stellen sich halt nicht auf die aktuellen DMX-Werte ein.

    Auf der anderen Seite, wenn ich nun einen rainboweffekt erstelle und meine
    RGB Kanäle faden jetzt fleißig vor sich hin dann würde jedesmal wenn
    die passende farbkombination auftaucht sich das Dropdown "aktualisieren"
    sofern das DDF offen ist - ist das so richtig?


    Das ist korrekt, zumindestens wenn man es nach der alten Methode macht. Damit hast du die Basics verstanden :).

    Was Philipp erklärt hat, ist das neue Vorgehen. Denn die Proceduren haben einen Nachteil: Sie brauchen einiges an Rechenleistung (je länger die Proceduren sind, umso schlimmer ist es). Daher hat Stefan (unter anderem auf meinen Wunsch hin) min- und max-Werte für Dropdowns eingebaut. Somit brauchst du Proceduren nur noch, wenn du mehrere Fade-Kanalbereiche (z.B. "Rainbow+" und "Rainbow-") auf einen Slider legen möchtest. Dropdowns können sich auch automatisch aktualisieren. Schau dir dazu mal die DDFs von Stairville MH X-25 und Stairville MH X-50 (in diesem Thread) an. Dort habe ich das umgesetzt.

    @Philipp: Ich hab in den oben genannten DDFs die Dropdowns mit Min- und Maxwerten versehen, denn so kann ich meine Get-Proceduren klein halten. Ich muss nur noch die Slider setzen. Min-/Maxvalue und Proceduren funktionieren sehr gut parallel und haben bei mir zu einer deutlichen Reduktion der Rechenleistung geführt.
    Viele Grüße
    JP

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

  • Tach (hi JP),

    soweit alles verstanden. Aber wenn Proceduren den Rechner belasten, warum
    baue ich dann GET Pr. ein???

    Ich habe den Sinn noch nicht so ganz kapiert.
    Eine SET ist klar, ich wähle das Dropdown an und das übergibt
    einen Wert an die passenden Kanäle.
    Was bringt aber das an MEHRWERT für den USER?

    BTW: Im "Betrieb" habe ich meine DDFs meistens geschlossen.
    Also bei Farben sehe ich diese doch in der graf. Bühnenansicht oder live aus dem LED.
    Bei GOBOS oder sonst MH Kanälen?

    Wo ist also der "Nutzen" der GET Fkt, außer das im Dropdown das angezeigt wird?
    Detto

    Habe ausreichend Material für den Teich in dem ich fische. :D Mehr über mich unter https://forum.dmxcontrol-projects.org/www.drw-disco.de 8)
    ************
    Alles wird gut! Man muss nur fest dran glauben und Geduld haben, wobei letzteres in der heutigen Zeit das größte Problem darstellt. :argh: :argh: :argh:

  • Es gibt keinen anderen Nutzen. Die Get-Proceduren dienen wirklich nur dazu, das die Anzeigen im DDF aktualisiert werden.
    Viele Grüße
    JP

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

  • Ich finde den Nutzen allerdings wichtig genug, um die Prozeduren dafür zu bauen! ;)
    Und Last verursachen sie ja nur, wenn das DDF gerade geöffnet ist UND sich die betroffenen Kanäle ändern. Davon, sie aus "Performancegründen" weg zu lassen halte ich nichts.

    Stefan

  • Newly created posts will remain inaccessible for others until approved by a moderator. The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.