Ingreso rápido:  

Forum: German Forum

Tema: Abfrage auf die Nummer des Masterdecks?

Este tópico es antiguo y puede contener información incorrecta para la nueva versión.

Adler69PRO InfinityMember since 2012
ich möchte eine Aktion für den Controller Mappen, die abhängig von der Nummer des Masterdecks ist.
zB. soll wenn Deck 1 das Masterdeck ist AktionY ausgeführt werden sonst ActionX

der Befehl
get_activedeck 1 ? AktionY : ActionX
bringt leider nicht das gewünschte Ergebnis. Weiß jemand worin der Fehler besteht?
 

Mensajes Sat 28 Mar 15 @ 4:13 am
Ich habe leider nach etwas Suche auch nicht herausfinden können, wie genau get_activedeck funktioniert.
Aber bei 6 möglichen Decks hab ich dir etwas anderes zusammengebastelt, was genauso gut den Zweck erfüllen sollte.

deck 1 masterdeck ?
Aktion 1 :
deck 2 masterdeck ?
Aktion 2
deck 3 masterdeck ?
Aktion 3
: deck 4 masterdeck ?
Aktion 4
: deck 5 masterdeck ?
Aktion 5
: deck 6 masterdeck ?
Aktion 6
: Aktion wenn kein Deck Masterdeck ist :D


Und hier als one-liner falls du es brauchst:


deck 1 masterdeck ? Aktion 1 : deck 2 masterdeck ? Aktion 2 deck 3 masterdeck ? Aktion 3 : deck 4 masterdeck ? Aktion 4 : deck 5 masterdeck ? Aktion 5 : deck 6 masterdeck ? Aktion 6 : Aktion wenn kein Deck Masterdeck ist :D

Für komplexe vdjscripts empfehle ich dir deinen Code wie ich z.B. oben aufzuteilen und am Ende (bei Notepad++) mit Strg + J zusammenzufügen und alle Tabs und Whitespaces mit Regex zu korrigieren.
Meine Scripts umfassen für mein Mixtrack Quad insgesamt 2000 Zeilen und da ist ein vernünftiger Editor mit entsprechenden Tools äußerst ratsam =)

Wenn du einfach nur eine Aktion auf dem jeweiligen Masterdeck ausführen möchtest, kannst du
deck active Aktion
verwenden. Selbes funkioniert auch mit deck left Aktion und deck right Aktion. =)

Viele Grüße und viel Erfolg,
Daniel


PS: Wenn jemand Klarheit über get_activedeck verschaffen kann, wäre ich sehr dankbar!

Edit: get_activedeck gibt einen String raus, also einen "Text", mit dem keine Integer oder True-False Abfragen getan werden können.
Ein String kann ohne Konvertierung nur mit einem anderen String verglichen werden.

Die Variante, zwei Strings zu vergleichen (also sowas wie var_equal "get_activedeck" "1" ? AktionWennDeck1Master : AktionWennDeck1NICHTMaster)
hat bei mir allerdings nicht geklappt. Das könnte vielleicht daran liegen, dass get_activedeck eine Funktion ist.
Eigentlich sollte meines Wissens nach VirtualDJ alle Call-Funktionen als Variable behandeln aber das hat bei mir noch nie funkioniert.

Die Möglichkeit mit der Konvertierung würde dann folgendermaßen aussehen (eine Möglichkeit):
get_activedeck & param_cast 'integer' & param_equal 1 ? AktionWennDeck1Master : AktionWennDeck2Master

Letzendlich ist aber die deck 1 masterdeck ? X : Y Lösung SEHR viel eleganter! Der Anhang hier dient nur zur Ergänzung der get_activedeck Funktion ^_^

Gruß, Daniel
 

Mensajes Sat 28 Mar 15 @ 7:17 pm
Adler69PRO InfinityMember since 2012
Danke dir für den Tipp. Das werde ich ausprobieren.
Mit komplexeren Strukturen hab ich eigentlich nicht die Probleme. :-)
Aber gut zu wissen, dass ich nicht alleine nicht hinter das Geheimnis von get_activdeck gekommen bin ;-)
Vielleicht kann einer hier es lüften

 

Mensajes Sat 28 Mar 15 @ 7:41 pm
Hab noch etwas geforscht und meinen Beitrag ergänzt, wenn es dich interessiert :)

Kurzfassung:
Der Fehler in deiner Version war, dass du get_activedeck (String) nicht zu einem Integer konvertiert hast.
Daher:
get_activedeck & param_cast 'integer' & param_equal 1 ? Deck1Master : Deck1NichtMaster
 

Mensajes Sat 28 Mar 15 @ 7:50 pm
Adler69PRO InfinityMember since 2012
Hm, ich hätte es auch mit einem String probiert. Aber ist die Doku unverständlich, denn da steht explizit das die Nummer des Decks zurück geben wird.
Aber dein Konstrukt habe ich natürlich nicht ausprobiert. Das werde ich noch machen. Danke dir *daumen hoch* :-)
 

Mensajes Sat 28 Mar 15 @ 7:55 pm
Ich überspring eigentlich nur noch die "Doku".
Was ich nicht kenne, such ich im Forum :D
Ich glaube ich mal mal ein vdjscript Wiki auf x)
 

Mensajes Sat 28 Mar 15 @ 7:59 pm
 

Mensajes Sun 29 Mar 15 @ 2:03 am
Ich meine ein "richtiges" Wiki mit genauer Beschreibung jeder vdjscript Funktion.
 

Mensajes Sun 29 Mar 15 @ 3:06 am
 

Mensajes Sun 29 Mar 15 @ 7:46 am
Adler69PRO InfinityMember since 2012
deck 1 masterdeck ? X : Y hat bei mir nicht funktioniert.
aber get_activedeck & param_cast 'integer' & param_equal 1 ? Deck1Master : Deck1NichtMaster funktioniert bestens :-)
danke nochmal
 

Mensajes Sun 29 Mar 15 @ 11:00 am
@Adler69
Hab nem knob mal folgendes zugewiesen:
deck 1 masterdeck ? deck 1 filter : deck 2 filter
Hat bei mir bestens funkioniert =o
Welche Version hast du denn am Laufen? Ich hab hier VDJ 8 Build 2177.

@jakovski
Das kenn ich, ist ja auch in VDJ integriert, aber wie in diesem Fall fehlt es an Unmengen an wichtigen Infos wie genauer Datentyp, Anwendungsbeispiel, ob es nur eine Execute oder Call Funktion oder Beides ist [...]
 

Mensajes Sun 29 Mar 15 @ 12:52 pm
Adler69PRO InfinityMember since 2012
Ich habe die letzte Beta
 

Mensajes Sun 29 Mar 15 @ 1:20 pm
Sonst probier's mal mit nem stable release oder irgend einer anderen Version =) Wird warscheinlich an der Beta liegen (da würde ich mich über nichts wundern ^^)
 

Mensajes Sun 29 Mar 15 @ 3:31 pm


(Los tópicos y foros antiguos son automáticamente cerrados)