VIRTUALDEEJAY - Un Forum di DJ

Usa un'email VALIDA per convalidare la registrazione

Il forum è gratuito e la definizione "conto" significa "account" (iscrizione)

Se sei già registrato puoi entrare cliccando "ACCEDI" e ricorda di personalizzare il tuo profilo cliccando su "PROFILO".


Unisciti al forum, è facile e veloce

VIRTUALDEEJAY - Un Forum di DJ

Usa un'email VALIDA per convalidare la registrazione

Il forum è gratuito e la definizione "conto" significa "account" (iscrizione)

Se sei già registrato puoi entrare cliccando "ACCEDI" e ricorda di personalizzare il tuo profilo cliccando su "PROFILO".

VIRTUALDEEJAY - Un Forum di DJ

Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
VIRTUALDEEJAY - Un Forum di DJ

Per DJ professionisti e aspiranti che desiderano pubblicizzare mix e remix in modo semplice ed efficace


3 partecipanti

    VDJScript

    Cioce78
    Cioce78
    SuperMod
    SuperMod


    Numero di messaggi : 86
    Età : 45
    Città e Provincia : Ferrara (FE)
    Attività : Web Master
    Mi sento: : molto figo col controller,con i piatti un po meno.
    Punti : 6069
    Reputazione5

    VDJScript Empty VDJScript

    Messaggio Da Cioce78 Sab 17 Mar 2012 - 8:29

    Il VDJscript è il linguaggio di programmazione di VirtualDJ ed è usato per programmare gli skins, impostare i collegamenti da tastiera (shortcuts) e le [url=http://www.virtualdj.com/wiki/Definizioni per i controller.html]definizioni per i controller[/url].

    Il VDJscript è un linguaggio molto versatile che permette sia una programmazione semplice ed intuitiva per le operazioni semplici che lo
    scripting di macro molto complesse per ottenere funzionalità complesse.

    Nella sua forma più semplice, è possibile scrivere comandi come "play", "pause", "goto_cue 1", "volume 70%", "pitch 0.5%", etc...

    Oppure scrivere macro complesse come "play ? crossfader 12.3% & effect 'flanger' activate : deck 2 loop 4 & set $myvar 42"

    Verbi
    Gli elementi di base del VDJscript sono i "verbi".
    E’ possibile trovare la lista completa dei verbi nel box presente nella scheda Config / Mapper di VirtualDJ.

    In alternativa è possibile trovare l’ elenco dei verbi (e la loro descrizione) sotto l’ elemento del file English.xml presente nella cartella Documenti / VirtualDJ/Languages

    Commandi
    Il comando di base è l’ uso di un solo verbo (ad esempio “play” o “pause”).
    Possono essere specificati anche parametri opzionali:
    - lettore: è possibile specificare su quale lettore deve agire il verbo aggiungendo "deck xxx" prima del verbo. xxx può essere "1", "2", "left", "right", "default" o "active". ("1"/"left" e "2"/"right" sono sinonimi).

    - paramentri: i verbi possono essere seguiti da uno o due parametri.
    La funzione dei parametri dipende dal verbo in uso.
    I paramentri posso essere di tipo stringa, percentuali, booleani, tempi, valori interi o valori decimali.

    - effetti: per i verbi che agiscono sugli effetti, è necessario anteporre il verbo la parola chiave'"effects" eventualmente seguita dal nome dell’ effetto o dal numero di slot: "effect activate" o "effect 'flanger' slider 1 100%".

    - campionatore: per i verbi che agiscono sul campionatore, è necessario anteporre il verbo la parola chiave " sampler " , eventualmente seguita dal numero di slot del campionatore: "sampler activate" or"sampler 3 volume 100%".

    - queries: E’ possibile interrogare lo stato dei verbi per ottenere il loro valore boleano (vero o falso).Per alcune query dove si richiedono
    risultati numerici o testo và utilizzata la parola chiave get prima del verbo: "get time_ms".

    - Azioni temporanee: è possibile specificare con l’ aggiunta della parola chiave "while_pressed" alla fine del comando che il verbo deve essere eseguito finche il tasto viene mantenuto premuto: "volume 100% while_pressed"

    - lampeggio: usando le query, è possibile aggiungere la parola chiave "blink" o "blinkfast" per ottenere la risposta booleana vero o falso per il lampeggio, se la risposta originale era vera: "play blink" [per disapprovare: usare invece: "play ? blink:nothing"]


    La sintassi completa dei comandi è:
    [deck [deck]] [sampler [slot] | effect [effectname/slot] | get] verb [param1] [param2] [blink | blinkfast] [while_pressed]

    ( [...] significa : opzionale )
    ( | significa : or )

    Macros
    E' possibile scrivere macros complesse usando l' operatore "&" per concatenare comandi o l' operatore "?" e ":" per scrivere scelte
    condizionali.

    Usando "command1 & command2 & command3" sarà eseguito il command1, poi il command2 e il command3.
    Usando "command1 ? command2 : command3" viene interrogato lo stato della variabile command1: se il risultato è
    "vero" sarà eseguito il command2 altrimenti sarà eseguito il command3.

    Per esempio:
    Usando "action_deck 1? command1 : command2" viene eseguito il “Command1” se il pulsante sul controller è stato definito nel lettore 1 (vedi il file "definizione" xml) o esegue il “Command2” se il pulsante è stato definito nel lettore 2.


    Actions vs queries
    I comandi possono essere utilizzati sia come azioni o come query, a seconda del contesto.

    Per esempio, il commando "play" usato in un collegamento da tastiera, sarà un'azione che farà partire la riproduzione del brano quando eseguita.

    Lo stesso comando "play" può essere usato per mappare un LED del controller, quindi sarà una query che restituirà true(vero) se il brano è in riproduzione, o false (falso) se non lo è.

    Alcuni comandi possono restituire un valore booleano (vero o falso) o un valore, a seconda dei parametri:
    - "crossfader" restituirà il valore (between 0.0 and 1.0) se utilizzato in una query
    - "crossfader 42%" restituirà il valore true (vero) se il crossfader è al 42%, oppure false (falso) per gli altri valori.
    I Comandi che utilizzando la parola chiave "get" possono anche restituire una stringa o un numero, a seconda del verbo.


    Parametri
    Il VDJscript sa 6 tipi di parametri::
    - testo: devono essere racchiuso tra singoli apici (') o doppi apici ("): "load 'myfile.mp3'"
    - booleano: possono essere le parole chiave "on", "off" o "toggle".
    (spesso sono equivalenti ai numeri interi 1, 0 e -1 rispettivamente):
    "smart_play off"
    - tempo: sono specificati aggiungendo la parola chiave "ms": "nudge 100 ms"
    - interi: "effect select 1"
    - decimali: "crossfader 0.5"
    - percentuale: "crossfader 50%"

    Nella maggiorparte dei casi, i decimali e le percentuali sono sono trattati alla stessa maniera (ovviamente dividendo la % per 100).
    Ci sono alcune eccezioni, come il verbo "pitch", con "pitch 100%" viene impostato nella metà mentre "pitch 1.0" al massimo.

    Anche "nudge 1" e "nudge 1,0" non sono la stessa cosa.

    La prima action muove di 1 beat la traccia,mentre la seconda equivale a"nudge 100%", qindi fa avanzare la traccia alla fine.

    Nella maggior parte delle volte è consigliato utilizzare percentuali invece di decimali, ma è bene conoscere queste differenze utili nel caso della scrittura di script complessi.

    Parametri impliciti
    Quando un comando viene utilizzato come l'azione di un cursore (manopola,jogwheel,ecc),il valore del cursore verrà aggiunto come un
    parametro implicito.

    Quando si aggiunge un parametro implicito,questo è aggiunto alla fine di ogni comando, come un ulteriore parametro che segue di poco,quelli già esistenti.

    Quindi,se l'azione scritta è "volume" e si mappa ad un cursore che si sposta al 42%, l'azione inviata sarà "volume 0,42".

    Ma se l'azione scritta è "volume 10%", l'azione inviata sarà "volume 10% 0,42" (il secondo parametro 0,42 sarà ignorato,perché il verbo "volume" richiede solo un parametro).

    Se è necessario modificare il parametro implicito,possiamo utilizzare alcuni verbi come "param_multiply", "param_add", ecc...

    Così scrivendo "param_multiply 0,1 & volume "avremo l'impostazione del volume al 4,2%

    Se si dispone di una macro con diversi comandi, ogni comando avrà il parametro implicito aggiunto.

    Quindi, se scriviamo "crossfader & loop" per mappare un cursore che si sposta a 42 %, l'azione inviata sarà "crossfader 0,42 & loop 0,42".

    Se vogliamo evitare che il parametro implicito possa agire su alcuni comandi, è possibile utilizzare la parola chiave "value" per specificare
    dove il parametro implicito deve agire.

    Così scrivendo "value & loop" invierà "crossfader 0,42 & loop". (se si ha bisogno di scrivere diversi "value" nella macro, ognuno sarà sostituito dal parametro implicito).

    Inoltre,è bene sapere che aggiungendo un parametro decimale ai cursori ( "crossfader" -> "crossfader 0,42"),alle jogwheel verrà aggiunto un valore decimale relativo così ("crossfader" -> "crossfader 0,42", 1,0 essendo un giro completo della wheel),agli encoder verrà aggiunto un valore intero relativo ("crossfader "->". crossfader 1").

    Se si utilizza un encoder per un verbo che prevede un cursore, il numero intero sarà automaticamente convertito in decimale dividendolo per 32 (in modo che avrà bisogno 32 passi dell'encoder per spostare il cursore dallo 0% al 100%).

    Quindi, nell'esempio precedente "crossfader 1" equivale a "crossfader 0,03125".

    È possibile utilizzare "param_multiply" se si ha bisogno di un'altra risoluzione.

    Variabili
    Il VDJscript può gestire i valori e gli stati delle variabili interne.
    Se il nome della variabile inizia con l'operatore $ (come "set $myvar"), la variabile sarà 'globale' di entrambi i deck.

    Se il nome della variabile comincia con l'operatore % ("set %myvar") o con niente ("set 'myvar'"), la variabile sarà 'locale' di un deck (e può
    avere un valore diverso se usato sull'altro deck).

    Variabili sono persistenti per tutto il tempo d'uso di VirtualDJ (non sono legate a un controller specifico o ad una skin).

    Per impostare una variabile, è possibile utilizzare verbi come "set","toggle","cycle".

    Per leggere una variabile, è possibile utilizzare verbi come Pagina 3script "var","var_equal","var_smaller", ecc ..

    Un tipico esempio di utilizzo di variabili è scrivere "set $myshift while_pressed" sul tasto shift,oppure "var $myshift? comando1 : comando2 " su un altro pulsante.




    CyberMix
    CyberMix
    Utente registrato
    Utente registrato


    Numero di messaggi : 6
    Età : 56
    Città e Provincia : Grosseto (GR)
    Attività : Libero Professionista
    Mi sento: : Bene
    Punti : 4919
    Reputazione5

    VDJScript Empty Re: VDJScript

    Messaggio Da CyberMix Sab 24 Mar 2012 - 2:35

    Fonte: [Devi essere iscritto e connesso per vedere questo link]


    Ultima modifica di Cioce78 il Sab 24 Mar 2012 - 19:58 - modificato 1 volta. (Motivazione : Correzione link)




    MAX TESTA
    MAX TESTA
    Admin
    Admin


    Sei un DJ ?
    Numero di messaggi : 10032
    Età : 53
    Città e Provincia : Parma (PR)
    Attività : DEEJAY
    Mi sento: : fine come la carta vetrata !!!
    Punti : 22040
    Reputazione126

    VDJScript Empty Re: VDJScript

    Messaggio Da MAX TESTA Sab 24 Mar 2012 - 12:33

    Oh cybermix,
    ma non dormi un pò al sabato mattina? Wink



    La vita non si misura dai respiri che facciamo ma dai momenti che ci tolgono il respiro

    VDJScript Facebo10VDJScript Youtub10VDJScript Wordpr10VDJScript Small10VDJScript A8114511

    Contenuto sponsorizzato


    VDJScript Empty Re: VDJScript

    Messaggio Da Contenuto sponsorizzato


      La data/ora di oggi è Ven 29 Mar 2024 - 1:01