Scripts Courants



Voici en version détaillée l'ensemble des commandes pour la réalisation de skin sur Virtual DJ.

Je suis parti de la liste en anglais du site officiel, tout en ajoutant des éléments et en essayant d'étoffer les explications. J'ai également ajouté quelques exemples.

Cette liste n'est évidement pas exhaustive, car Virtual DJ ne cesse d'évoluer et de nouvelles commandes voient le jour à chaque nouvelle version !

Je rajouterai au fur et à mesure de nouveaux pavés.

Sur la page Scripts particuliers vous trouverez une série d'instructions un peu particulières utiles pour la conception de skins.


------------------------------------------------------------------------------------------------------------

Lexique :

                 Instructions générales
                 Note sur les balises
                 Instructions récurrentes
                 L'objet <logo>
                 L'objet <dropzone>
                 L'objet <grabzone>
                 L'objet <pannel>
                 L'objet <button>
                 L'objet <browser>
                 L'objet <visual>
                 L'objet <textzone>
                 L'objet <rhythmzone>
                 L'objet <rhythm>
                 L'objet <slider>
                 L'objet <songpos>
                 L'objet <scratch>
                 L'objet <multibutton >


------------------------------------------------------------------------------------------------------------
Instructions générales

Tout fichier xml de skin démarre par des instructions générales concernant la skin :

Exemple :

< Skin name="Black_Millenium_v2.0" version="7" width="2560" height="1024" posx="0" posy="0" nbdecks="4">
<copyright>- (c)2012 - Atomix Productions - Chris Dodge (DODGE57) </copyright>

  • Skin name="NOMdelaSKIN" : Mettre ici le nom du fichier .bmp de la skin
  • version="7.3" : Version de Virtual DJ pour laquelle la skin a été créee
  • width="x" height="x" : Dimension de la skin à l'écran (NB: l'image .bmp peut être plus grande sans que cela ne poste un problème, seul la dimension mentionnée sera affichée dans Virtual DJ).
  • posx="x" posy="x" : Position de la skin à l'écran lors du lancement de Virtual DJ
  • nbdecks="x" : Nombre de platines utilisées dans la skin.
Le fichier xml de la skin doit se terminer avec la balise :

         </Skin>



------------------------------------------------------------------------------------------------------------
Note sur les balises

Toute instruction xml démarre par le caractère "<". Tout texte qui ne commence pas par ce caractère est considérée comme du commentaire.

Ceci dit il existe des balises spécifique pour mettre un commentaire :
<!-- votre commentaire ici -->

Les balises d'ouverture et de fermeture des objets délimitent le début et la fin des instructions qui concernent cet objet.
Toutes les instructions de l'objet doivent donc se situer entre ces balises.

L'ordre de ces instructions n'est pas essentiel. On peut par exemple mettre le size avant le pos ou l'inverse, mais je conseil de toujours conserver le même ordre afin de mieux se repérer dans son script (surtout lorsqu'il aura 9000 ligne comme les miens ^^)

Dans la balise d'ouverture d'un objet, il est possible d'ajouter des options.

Lorsque plusieurs options sont possibles, il n'est pas nécessaire de toutes les mettre (c'est selon vos besoins), et l'ordre importe peu.

Exemple :

On peu écrire pour un bouton :
<button action="xxx" rightclick="yyy" dblclick="zzz" pannel="www">

Mais on peut aussi écrire :
<button pannel="www" action="xxx" rightclick="yyy" dblclick="www">

L'ordre des instructions n'a pas d'importance.

Si le bouton ne fait pas partie d'un pannel, alors :
<button action="xxx" rightclick="yyy" dblclick="www">

On peut aussi ne rien mettre en clic droit ou en double clic :
<button action="xxx">

Seul le mot button doit absolument être en première place, et les < , > et </ doivent également être respectés.


------------------------------------------------------------------------------------------------------------
Instructions récurrentes

Pour chaque objet programmable dans une skin on retrouvera quasiment toujours un certain nombre d'instructions récurrentes. Je ne vais donc pas les détailler pour chaque objet, mais les expliquer ici une fois pour toute :

Les coordonnées
  • <pos x="" y=""/> : Position (coordonnées) de l'objet dans l'image bmp
  • <size width="" height=""/> : Largeur et hauteur de l'objet

Le clipmask

C'est un élément difficile à expliquer, mais qui peut s'avérer très utile. Un clipmask est une zone noire et blanche qui, dans certaines conditions, restreint les contours d'un objet, comme un maque.

Imaginons que vous souhaitez faire tourner un cercle lors de la lecture d'une titre :


Mais vous ne voulez que faire tourner l'anneau rouge, le cadre gris et le cercle bleu devant rester fixe.

Dans ce cas il fous faudra créer un objet "Visual" (voir plus bas) et lui donner les coordonnées et la taille de votre anneau. Seulement voilà, dans le script Virtual DJ toutes les coordonnées d'objet désignent une zone rectangulaire !
Pour restreindre la rotation à l'anneau rouge, il vous faudra créer un masque de la même taille que votre anneau, qui cachera les zone grises et bleues :


Ce masque noir et blanc ne doit pas apparaître dans Virtual DJ lorsqu'on chargera la skin, donc le placer en dessous de la zone affichable (voir la page concernant le fichier bmp).

Votre script sera donc :
<visual source="deck 1 get rotation" type="rotation">
<size width="50" height="50"/>
<pos x="100" y="150"/>
<clipmask x="1000" y="1200"/>
<down x="
1100" y="1300"/>
</visual>



Il n'est pas nécessaire de donner les dimensions du clipmask, car par défaut ce sont celles de l'objet Visual.
Dans notre exemple, l'objet visual est de type rotatif et n'affectera que les éléments noirs du clipmask.
Attention, il faut nécessairement utiliser du noir et du blanc, toute autre couleur, même le gris, ne sera pas prise en compte.

Le clipmask peut être utilisé dans de nombreux objets, comme un bouton, un slider ou encore un pannel.


Le mask

Pour compliquer encore les choses, on peut ajouter un "mask". 
Pour reprendre l'exemple ci dessus, on souhaite toujours se retreindre à l'anneau rouge, mais cette fois on ne veut pas que l'anneau tourne, mais seulement une portion.

Pour cela il faudra créer un second masque noir et blanc, toujours de la taille de l'objet Visual. Celui n'aura en noir que la portion que l'on veut voir tourner :

Et le script sera :
<visual source="deck 1 get rotation" type="rotation"><size width="50" height="50"/>
<pos x="100" y="150"/>
<clipmask x="1000" y="1200"/>
<down x="
1100" y="1300"/>
<mask x="1050" y="1200"/>
</visual>


Donc avec ce script et les 2 maques, seul l'anneau rouge sera considéré par l'objet Visual, et seul la portion du mask tournera, tout le reste restera fixe.


------------------------------------------------------------------------------------------------------------
L'objet <logo>


C'est le logo officiel du logiciel Virtual DJ.
Il est obligatoire dans chaque skin, sous peine d'un beau message d'erreur !

Exemple :
<logo>
<size width="70" height="20"/>
<pos x="1000" y="20"/>
</logo>


La taille minimum de l'objet logo est de 69x17 pixels 


------------------------------------------------------------------------------------------------------------
L'objet <pannel>

Il s'agit d'un zone précise de la skin qui regroupe des objets divers et qui peut être masquée ou affichée à volonté et remplacé par une autre zone pannel.

C'est utile pour basculer d'un groupe de boutons à un autre à partir d'un raccourci ou d'un bouton, comme remplacer l'affichage de la table de mixage audio par une table de mixage vidéo.

Exemple :

<pannel id="browser1" group="browserGroupe1" visible="yes">
  <size width="1278" height="846"/>
  <pos x="1282" y="29"/>
</pannel> 


Propriétés :
  • Visible=" " si le pannel doit être visible au lancement de VDJ, ou "no" pour qu'elle soit masquée.
  • Depuis la version 7 de VDJ, on peut régler la visibilité d'un pannel.
  • id=" " : Nom du pannel
  • group =" " : Groupe auquel appartient ce pannel. Seul un pannel d'un même groupe est visible à la fois, tous les autres pannels de ce groupe seront quand à eux masqués.
Paramètres personnalisables :
  • <down x="" y=""> : Position (coordonnées) de l'image du pannel si activé
  • <up x="" y=""> : (facultatif) Position (coordonnées) de la version du pannel lorsqu'il est affiché.
  • <clipmask x="" y=""> : (facultatif) Position (coordonnées) d'un masque noir et blanc du pannel qui en restreint les contours comme un masque (voir "Instructions récurrentes").

------------------------------------------------------------------------------------------------------------
L'objet <dropzone>

C'est la zone dans laquelle vous pouvez glisser un fichier musical afin de le lire. En général la "Dropzone" est la zone représentant une platine "virtuelle" de VDJ.

Exemple :

<dropzone deck="1">
  <size width="321" height="426"/>
  <pos x="0" y="0"/>
</dropzone>

La balise d'ouverture de cet objet est : 
<dropzone deck="" pannel="">.


Propriétés :
·       deck : Platine concernée (1, 2, 3 etc.. ou "active"(platine active), "default" (platine par défaut) ou "playlist"
·       pannel : Afin de placer la dropzone dans un pannel


Paramètres personnalisables :
·            <mousemask x="" y=""> : (facultatif) Coordonnée de la zone noir et blanc qui sera utilisée comme masque pour le curseur de la souris lorsqu'il passe sur le dropzone
·            <mouserect x="" y="" width="" height=""> : (facultatif) Zone rectangulaire de masque pour le curseur de la souris
·            <mousecircle x="" y="" r=""> : (facultatif) Zone circulaire  comme masque pour le curseur de la souris (r="" est le rayon du cercle)


----------------------------------------------------------------------------------------------------------
L'objet  <grabzone>

La "grabzone" est la zone de l'image permettant de déplacer la fenêtre Virtual DJ lorsque celui-ci n'est pas maximisé.
Si la grabzone n'est pas définie, toutes zone qui n'est pas un objet définit par script agira comme une grabzone.

La balise d'ouverture de cet objet est : grabzone <grabzone>.


Paramètres personnalisables :
·            <mousemask x="" y=""> : (facultatif) Coordonnée de la zone noir et blanc qui sera utilisée comme masque pour le curseur de la souris lorsqu'il passe sur la grabzone
·            <(facultatif) x="" y="" width="" height=""> : Zone rectangulaire de masque pour le curseur de la souris
·            <mousecircle x="" y="" r=""> : (facultatif) Zone circulaire  comme masque pour le curseur de la souris (r="" est le rayon du cercle)





----------------------------------------------------------------------------------------------------------
L'objet  <button>

Le bouton (Button en anglais) est pour ainsi dire l'élément de base d'une skin. C'est simplement une zone définie qui, lorsqu'on clique dessus, active un paramètre de Virtual DJ.

Exemple :

<button action="deck 1 stop">
  <text dx="1" dy="3"font="arial" weight="bold" align="center" size="10" format="STOP" color="#A0A0A0"/>
  <size width="51" height="19"/>
   <pos x="6" y="273"/>
  <selected x="59" y="1029"/>
  <down x="59" y="1029"/>
  <over x="59" y="1049"/>
</button>


La balise d'ouverture de cet objet est : <button action="" rightclick="" dblclick="" pannel="">


Propriétés :
·       action : C'est l'action VDJScript que le bouton va enclencher par clic souris
·       rightclick : Action enclenchée par le même bouton mais par clic droit
·       leftclick : Peu spécifier une action différente par clic gauche
·       dblclick : Action enclenchée par le même bouton mais par double clic
·       pannel : Si le bouton appartient à un panel, spécifier son nom.


Paramètres personnalisables :
·       <pos x="" y=""/> : Position (coordonnées) de l'objet dans l'image bmp
·       <size width="" height=""/> : Largeur et hauteur de l'objet
·            <selected x="" y=""> : Coordonnées de la version du bouton si actif
·            <up x="" y=""> : (facultatif) Coordonnées de la version normale du bouton
·            <down x="" y=""> : (facultatif) Coordonnées de la version du bouton si appuyée et maintenu
·            <over x="" y=""> : (facultatif) Coordonnées de la version du bouton si survolé par la souris
·             <overselected x="" y=""> : (facultatif) Coordonnées de la version du bouton si survolé par la souris et si le bouton est actif
·            <downselected x="" y=""> : (facultatif) Coordonnées de la version du bouton si appuyée et maintenu et actif
·            <clipmask x="" y=""> : (facultatif) Position (coordonnées) du masque noir et blanc du bouton qui en restreint les contours comme un masque.
·            <mousemask x="" y=""> : (facultatif) Coordonnée de la zone noir et blanc qui sera utilisée comme masque pour le curseur de la souris lorsqu'il passe sur le bouton
·            <mouserect x="" y="" width="" height=""> : (facultatif) Zone rectangulaire de masque pour le curseur de la souris
·            <mousecircle x="" y="" r=""> : (facultatif) Zone circulaire  comme masque pour le curseur de la souris (r="" est le rayon du cercle)
·            <tooltip> : (facultatif) Texte du pop-up qui s'affiche en survolant le bouton (par défaut affichera l'action du bouton)
·            <text format="" dx="" dy="" ...> : (facultatif) Texte affiché sur le bouton, comme par exemple "PLAY" (voir <textzone>). On peu soit inscrire un texte par cette fonction soit directement dans le fichier bmp.



----------------------------------------------------------------------------------------------------------
L'objet  <browser>

Le Browser est la zone qui affiche la liste de vos fichiers (mp3, video…) à la façon de l'explorateur Windows.
Depuis la version 7 de Virtual DJ, vous pouvez afficher plusieurs Browser dans différents pannels, mais seulement un seul browser peut être affiché à la fois !

La balise d'ouverture de cet objet est 
<browser> ou <browser pannel="">

Exemple :

<browser pannel="browser1"> 
  <size width="1278" height="834"/>
  <pos x="1282" y="41"/>
  <text font="Tahoma" size="18" color="#A0A0A0" selected="#A0A0A0" stripes="#202020"/>
<options font="Tahoma" size="14" color="#FF0000" selected="#FF0000" over="#FF0000"/> 
    <widgets font="Tahoma" size="16" color="#888888"     
    facecolor="#202020"
    lightcolor="#404040"
    shadowcolor="#404040"
    highlightcolor="#303030"
    darkshadowcolor="#303030"
    trackcolor1="#A0A0A0"
    trackcolor2="transparent"/>
</browser>

Paramètres personnalisables :
·       <pos x="" y=""/> : Position (coordonnées) de l'objet dans l'image bmp
·       <size width="" height=""/> : Largeur et hauteur de l'objet
·       <browser pannel="xxxx"> : Si plusieurs browsers, indiquer le pannel ici
·       <text font="" size="" weight="" color="" over="" selected="" stripes="" unfocused=""> : Police, taille, épaisseur et couleur hexadécimale de la police :
o  Over = ……………….. 
o  Selected = Couleur hexadécimale du fond de titre sélectionné
o  Stripes = Couleur hexadécimale du fond 1 titre sur 2
o  Unfocused(nouveauté version 7 de VDJ) Couleur du texte de zones du Browser n'ayant pas le focus. Par défaut est à 75% de la couleur normale.
·       <options font="" size="" weight="" color="" over="" selected=""> ????
·       <widgets font="" size="" weight="" color="" facecolor="" lightcolor="" shadowcolor="" highlightcolor="" darkshadowcolor="" stripescolor="" trackcolor1="" trackcolor2=""> : Paramètres des cadres et menus du brower :
o  widgets font = Couleur hexadécimale de la police des menus
o  facecolor = Couleur hexadécimale du fond des menus
o  lightcolor = Couleur hexadécimale barres bas et droite des menus
o  shadowcolor = Couleur hexadécimale barres haut et gauche des menus + ombre de certains menus
o  highlightcolor = Couleur hexadécimale des ombres supérieures des menus
o  darkshadowcolor = Couleur hexadécimale des ombres inferieures des menus
o  trackcolor1 = Couleur hexadécimale de la barre de défilement pré-écoute du bas
o  trackcolor2 = Couleur hexadécimale du fond des cadres du browser

NB : si vous préférez que certaines zones soient transparentes, remplacer la couleur hexadécimale par "transparent"


----------------------------------------------------------------------------------------------------------
L'objet  <visual>

L'objet Visual permet d'afficher de nombreux paramètres de Virtual DJ, qu'ils soient graphiques ou textes. Ces paramètres sont d'origine et sont listés ici : http://fr.virtualdj.com/wiki/VDJscript_verbs.html  (en anglais)


Exemples :

Plateau tournant de la platine 1
<visual source="deck 1 get rotation" type="rotation">
  <size width="98" height="98"/>
  <pos x="18" y="148"/>
  <clipmask x="564" y="1206"/>
  <down x="564" y="1206"/>
  <mask x="674" y="1206"/>
</visual>

Barre de lecture du sample 1
<visual source="sampler 2 position" type="linear" orientation="horizontal">
  <size width="99" height="3"/>
  <pos x="1393" y="878"/>
  <down x="444" y="2052"/>
</visual>

Barre graph d'occupation du CPU
<visual source="get cpu" type="linear" orientation="horizontal">
  <size width="69" height="2" />
  <pos x="750" y="141" />
  <down x="+0" y="+1024" />
  </visual>

Barre de vue-mètre
<visual pannel="unlocked" source="get level_right" type="linear" deck="both" orientation="vertical" direction="up">
  <size width="7" height="158" />
  <pos x="727" y="151" />
  <down x="+0" y="+1024" />
</visual>


La balise d'ouverture de cet objet est : 
<visual source="" factor="" type="" deck="" pannel="" orientation="" direction="">


Propriétés :
·       source : Valeurs possibles :
o   "beat" : Amplitude du rythme
o   "rotation" : Angle actuel du disque (du titre musical) qui dépend de la position de la lecture et de la vitesse de rotation.
o   "arm" : Position du bras du plateau tournant (dans le cas d'une skin affichant une platine de type vinyle (La position dépend des actions PLAY et PAUSE)
o   "volume" : Le volume musical (dépend des positions des curseurs/potards)
o   "position" : La position de lecture du titre musical.
o   Certaines sources de type "get ..." affichent des valeurs numériques (voir liste http://fr.virtualdj.com/wiki/VDJscript_verbs.html)
·            factor : (facultatif) Facteur de multiplication (si positif) ou de division (si négative) de la source
·       type : Valeurs possibles:
o   "onoff" : Display the up graphic if source>=2048, or the down graphic if source<2048
o   "rotate" : Affiche un graphique rotatif (par exemple pour un plateau tournant)
o   "transparent" : Fade smoothly between up and down graphics
o   "linear" : Affiche un graphique de type linéaire (barre de progression, vue-mètre)
o   "custom" : Display a specific graphic depending on the source value
·            deck : Platine concernée (1, 2, 3 etc.. ou "active"(platine active), "default" (platine par défaut) ou "both" (les 2 platines)
·       pannel : (facultatif) Si l'objet Visual doit appartenir à un pannel, préciser le nom.
·       orientation : "horizontal" ou "vertical"  (uniquement pour les type="linear")
·       direction : "left""right""up" or "down" (uniquement pour les type="linear")


Paramètres personnalisables :
·       <pos x="" y=""/> : Position (coordonnées) de l'objet dans l'image bmp
·       <size width="" height=""/> : Largeur et hauteur de l'objet
·            <clipmask x="" y=""> : (facultatif) Position (coordonnées) du masque noir et blanc de l'objet "visual" qui en restreint les contours comme un masque.
·            <up x="" y=""> : (facultatif) Coordonnées de la version "bas" de l'objet (pour tout type sauf "custom")
·            <down x="" y=""> : (facultatif) Coordonnées de la version "haute" de l'objet (pour tout type sauf "custom")
·            <up x="" y="" nb="" nbx=""> : Uniquement pour les objets "Visual" de type "custom".


----------------------------------------------------------------------------------------------------------
L'objet  <textzone>

Une textzone est tout simplement une zone de texte permettant d'afficher une valeur de Virtual DJ (titre du morceau, % du pitch, effet actif ou même un texte perso quelconque)

La balise d'ouverture de cet objet est : <textzone deck="" resetcounter="" pannel="">
·            deck : Platine concernée (1, 2, 3 etc.. "left" ou "right", "active"(platine active), "default" (platine par défaut) ou "both" (les 2 platines)
·            resetcounter : (facultatif) Si = "true", le compteur de cette textzone peut être mis à zéro par clic souris
·            pannel : (facultatif) Si la textzone doit appartenir à un pannel, préciser le nom.


Paramètres personnalisables :
·       <pos x="" y=""/> : Position (coordonnées) de l'objet dans l'image bmp
·       <size width="" height=""/> : Largeur et hauteur de l'objet
·            <mousemask x="" y=""> : (facultatif) Coordonnée de la zone noir et blanc qui sera utilisée comme masque pour le curseur de la souris lorsqu'il passe sur la textzone.
·            <mouserect x="" y="" width="" height=""> : (facultatif) Zone rectangulaire de masque pour le curseur de la souris
·            <mousecircle x="" y="" r=""> : (facultatif) Zone circulaire comme masque pour le curseur de la souris (r="" est le rayon du cercle)
·            <text font="" weight="" size="" color="" align="" format=""> : Paramètres de la police de caractère de la textzone :
o   font : Police de caractère (arial par défaut)
o   weight : Epaisseur de la police : "normal" (par defaut) ou "bold" (gras)
o   size : Taille de la police (12 par defaut)
o   color : Couleur de police (blanc par defaut). La couleur peut être renseignée en hexadecimal (#0000FF) ou par son nom en anglais (exemple "blue")
o   align : Alignement du texte dans la textzone ("left""right""center" (ou "middle"))
o   format : Valeur qui sera affiché dans la textzone (soit un texte quelconque, soit une variable interne à virtual DJ (voir la liste ci-dessous)
o   scroll : Si ="yes", le texte va défiler s'il est plus large que la textzone

·       <text2 font="" weight="" size="" color="" align="" format=""> : (facultatif) Texte alternative qui est affiché si on clique dans la textzone.
·      <text3><text4><text5> : (facultatif) Idem à text2 (Le texte défilera de text1 à text2, text3 etc… à chaque fois que l'utilisateur clique sur la textzone


Le format peut être une variable interne à Virtual DJ.

Vous pouvez utilisez une action du VDJScript mais il faudra dans ce cas qu'elle soit précédée et suivie par les balises 
`xxxxxx`

Exemple :

format="`%fullhour`"  (affiche l'heure du système. On remarque les 2 balises)


Voici une liste non exhaustive des variables internes à Virtual DJ :

·       \\ :                   Affiche un caractère unique \
·       \n :                  Retour à la ligne
·       \r :                   Retour chariot
·       \t :                   Affiche un caractère "tab"
·       \xx :                Affiche un caractère ascii xx
·       %% :               Affiche un caractère unique %
·       %yy :              Va à la ligne yy
·       %xx,yy :         Va à la ligne xx,yy position
·       %title :             Titre du morceau
·       %author :        Artiste du morceau
·       %comment :   Commentaire du morceau, si le tag existe
·       %fullhour :      Heure au format hh:mm:ss
·       %hour :           Heure au format hh:mm
·       %hour12 :       Heure au format h:mm am/pm
·       %counter :      Chronomètre (clic pour le lancer)
·       %pitch :          Valeur du pitch
·       %time :           Durée du titre (peut être personnalisé, voir plus bas)
·       %spent :         Temps écoulé de lecture (peut être personnalisé)
·       %left :             Temps restant de lecture (peut être personnalisé)
·       %cueX :          Position (min/sec) du point cue n°X (peut être personnalisé)
·       %tocueX :       Temps avant le point cue n°X (peut être personnalisé)
·       %fromcueX :   Temps écoulé depuis le point cue n°X (peut être personnalisé)
·       %start :           Position (min/sec) du premier beat (peut être personnalisé)
·       %end :            Position (min/sec) du dernier beat (peut être personnalisé)
·       %tostart :        Temps avant le premier beat (peut être personnalisé)
·       %toend :         Temps avant le dernier beat (peut être personnalisé)
·       %fromstart :    Temps écoulé depuis le premier beat (peut être personnalisé)
·       %fromend :     Temps écoulé depuis le dernier beat (peut être personnalisé)
·       %bpm :           Bpm du titre musical (peut être personnalisé)
·       %bpmex :        Bpm du titre musical (peut être personnalisé)
·       %bpmexx :      Bpm du titre musical (peut être personnalisé)
·       %level :           Niveau du titre musical en DB (peut être personnalisé)
·       %key :            song's key
·       %camelot :      song's key (numeric)
·       %keyoffset :
·       %cpu :            Pourcentage d'occupation du microprocesseur de votre PC 
·       %status :        Affiche les erreurs des fichiers charges, le nombre de tag à lire sur la file d'attente, le nombre de pochettes a télécharger en file d'attente
·       %maineffect :             Affiche le nom de l'effet audio sélectionné
·       %effectslotX :             Affiche le nom du xème effet de votre liste d'effets
·       %mainsample :          Affiche le nom du sample sélectionné
·       %videofx :                  Affiche le nom de l'effet vidéo sélectionné
·       %videotransition :      Affiche le nom de la transition vidéo sélectionnée
·       %linkedvideo :
·       %loop :                       Affiche la durée en beat de la boucle
·       %name :
·       %namecueX :           
·       %pitchrange :             Affiche la plage du Pitch en % (min et max)
·       %djc_buttonX :

Liste des tags mp3 (attention aux balises ' et `)

    format="`get browsed_song 'filename'`"
    format="`get browsed_song 'author'`"
    format="`get browsed_song 'title'`"
    format="`get browsed_song 'filetype'`"
    format="`get browsed_song 'drive'`"
    format="`get browsed_song 'filepath'`"
    format="`get browsed_song 'filesize'`"
    format="`get browsed_song 'filedate'`"
    format="`get browsed_song 'length'`"
    format="`get browsed_song 'bpm'`"
    format="`get browsed_song 'BPMCompat '`"
    format="`get browsed_song 'key'`"
    format="`get browsed_song 'keynumeric'`"
    format="`get browsed_song 'KeyCompat'`"
    format="`get browsed_song 'bitrate'`"
    format="`get browsed_song 'stars'`"
    format="`get browsed_song 'album'`"
    format="`get browsed_song 'composer'`"
    format="`get browsed_song 'genre'`"
    format="`get browsed_song 'year'`"
    format="`get browsed_song 'playcount'`"
    format="`get browsed_song 'firstseen'`"
    format="`get browsed_song 'firstplay'`"
    format="`get browsed_song 'lastplay'`"
    format="`get browsed_song 'LinkedVideo'`"
    format="`get browsed_song 'comment'`"
    format="`get browsed_song 'Icon'`"
    format="`get browsed_song 'PlayCount'`"
    format="`get browsed_song 'User1'`"
    format="`get browsed_song 'User2'`"
    format="`get browsed_song 'LoadedOn'`"



Certaines des variables % peuvent être personnalisées. Pour cela insérer les lettres en majuscules dans la liste ci-dessous entre le % et la variable :

·       P : modify the value to reflect the pitch change
·       L : use the local value instead of the global value (only used by %level)
·       B : Affichez la valeur comme un nombre de beats au lieu d'un temps


----------------------------------------------------------------------------------------------------------
L'objet  <rhythmzone>
Nouveauté depuis la version 7 den VirtualDJ !!

L'objet  rhythmzone contient les courbes de rythme (spectres). C'est une nouvelle version qui remplace l'objet <rhythm> (plus bas), plus complète et comportant plus d'options.

L'objet rhythmzone se décompose en 2 parties :
- La zone des courbes des platines
- (facultatif) La zone du Beat Grid (repères dynamiques sur chaque beat)
- (facultatif) La zone des Cues, des repères sur la courbe à la position des points Cue


La balise d'ouverture de cet objet est
: <rhythmzone mirror="" upsidedown="">.

Exemple :

<rhythmzone upsidedown="no">
  <size width="1270" height="162"/>
  <pos x="5" y="827"/>
  <mask x="+0" y="1675"/>    = zone blanche
  <colors
   chan1_active="#2B60FE"  chan1="#162C73" 
   chan2_active="#A0A0A0"  chan2="#646464"
   chan3_active="#CC0000"  chan3="#770000"
   chan4_active="#21EC90"  chan4="#0F5436"
   />
  <rhythm y="827" height="150"/>
  <grid height="5" width="12" mainwidth="27">
<pos y1="991" y2="998" y3="1005" y4="1012"/>
  </grid>
  <cue y="827" height="156">
            <mask x="642" y="1305" width="84" height="162"/>
  </cue>
</rhythmzone>

Paramètres personnalisables :
SPECTRES :
·       <pos x="" y=""/> : Position (coordonnées) de l'objet dans l'image bmp
·       <size width="" height=""/> : Largeur et hauteur de l'objet
·           <up x="" y=""> : (facultatif) Position (coordonnées) de l'arrière plan du spectre lorsqu'il est actif.
·           <mask x="" y=""> : Position (coordonnées) du masque d'échelle de gris qui est utilisé pour afficher le rhythmzone
·           <colors chanX="" chanX_left="" chanX_right="" chanX_active=""> : Couleurs en format hexadécimal pour chaque platine, X étant le numéro de la platine.
·           chanX_active="#xxxxxx" est la couleur de la courbe si la platine X est sélectionnée
·           chanX="#xxxxxx" est la couleur de la courbe si la platine X n'est pas sélectionnée.
·           <rhythm y="" height=""> : Position (coordonnées) verticale "y" du spectre et hauteur des courbes du spectre.

BEAT GRID : (Repères rectangulaires sur beats qui apparaissent  sous le spectre)
·           <grid height="" width="" mainwidth=""> : Taille des Beat Grid pour les 4 platines.
·           <pos y1="" y2="" y3="" yX=""> : Position (coordonnées) verticale "y" de chaque repère (y1 = platine 1, y2 = platine 2 etc…)

CUES : (Repères qui apparaissent  sur le spectre lorsqu'un point cue est enregistré)
·           <cue y="" height=""> : Position (coordonnées) verticale "y" et hauteur des repères Cue.
·           <mask x="" y"" width="" height=""> : Position (coordonnées) et dimension du masque noir et blanc contenant la forme du repère Cue.
·           <text dx="" dy="" color="" ...> : Position (coordonnées) et couleur du texte dans le repère Cue (voir <textzone> pour les détails)


----------------------------------------------------------------------------------------------------------
L'objet  <rhythm>

L'objet  rhythm contient les courbes de rythme (spectres). C'est l'ancienne version de l'objet <rhythmzone > (au dessus) . Néanmoins cette version consomme moins de ressources du PC que la précédente.

La balise d'ouverture de cet objet est : <rhythm>.

Paramètres personnalisables :
·       <pos x="" y=""/> : Position (coordonnées) de l'objet dans l'image bmp
·       <size width="" height=""/> : Largeur et hauteur de l'objet
·           <up x="" y=""> : (facultatif) Position (coordonnées) de l'arrière plan du spectre lorsqu'il est actif.
·           <chan1 x="" y=""> : Position (coordonnées) de la courbe de la platine 1
·           <chan2 x="" y=""> : Position (coordonnées) de la courbe de la platine 2
·           <both x="" y=""> : Position (coordonnées) de l'arrière plan des points du graphique appartenant aux 2 platines.
·           <color back="" chan1="" chan2="" both=""> : (facultatif) Valeur hexadécimal des couleurs des graphiques.
·           <grid1 width="" mainwidth=""> : Repères rectangulaires sur beats qui apparaissent  sous le spectre :
o  <size width="" height=""> : Taille de la zone grid.
o  <pos x="" y=""> : Position (coordonnées) de la zone grid.
o  <up x="" y=""> : (facultatif) Position (coordonnées) de l'arrière plan du spectre lorsqu'il est actif.
o  <down x="" y=""> : (facultatif) Position (coordonnées) des repères lorsqu'ils sont sélectionnés.
·           <grid2 width="" mainwidth=""> : Idem à grid 1 mais pour la platine 2.


----------------------------------------------------------------------------------------------------------
L'objet  <slider>

L'objet slider est tout simplement un potentiomètre (boutons rotatif ou potards) ou un fader (bouton rectiligne).
Il peut être vertical ou horizontal (fader de piste ou cross fader) ou rotatif (gain, correcteur de tonalité).
On peu faire varier tout type de valeur avec un slider (volume, gain, aigus, graves, effets etc...)


Exemples :

Fader du volume master :
<slider pannel="AudioMixer" action="master_volume" dblclick="master_volume 75%" orientation="vertical">
  <size width="21" height="126"/>
  <pos x="1843" y="88"/>
  <selected x="1844" y="2074"/>
  <down x="1844" y="2074"/>
  <up x="1844" y="2074"/>
  <fader>
    <size width="21" height="13"/>
    <pos x="10" y="1031"/>
  </fader>
</slider>

Potard du volume master :
<slider pannel="unlocked" action="master_volume" rightclick="temporary" dblclick="master_volume 100%" orientation="round">
  <size width="25" height="21"/>
  <pos x="706" y="119"/>
  <clipmask x="105" y="2685"/>
  <fader sensibility="100">
    <size width="" height=""/>
    <pos x="130" y="2685" nb="21"/>
  </fader>
</slider>

Fader de balance :
<slider pannel="unlocked" action="master_balance" rightclick="temporary" dblclick="master_balance 50%" orientation="round">
  <size width="25" height="21"/>
  <pos x="706" y="344"/>
  <clipmask x="105" y="2788"/>
  <fader>
    <size width="" height=""/>
    <pos x="130" y="2788" nb="17"/>
  </fader>
</slider>

Potard de balance :
<slider pannel="unlocked" action="crossfader" rightclick="temporary" dblclick="crossfader 50%" orientation="horizontal">
  <size width="86" height="32"/>
  <pos x="579" y="594"/>
  <fader>
    <size width="15" height="32"/>
    <pos x="614" y="1620"/>
  </fader>
</slider>


La balise d'ouverture de cet objet est : <slider pannel="" action="" rightclick="" dblclick="">
·       action : C'est l'action VDJScript que le slider va enclencher par clic souris
·       rightclick : Action enclenchée par le même slider mais par clic droit
·       leftclick : Peu spécifier une action différente par clic gauche
·       dblclick : Action enclenchée par le même slider mais par double clic
·       pannel : Si le slider appartient à un panel, spécifier son nom.


Paramètres personnalisables :
·       <pos x="" y=""/> : Position (coordonnées) de l'objet dans l'image bmp
·       <size width="" height=""/> : Largeur et hauteur de l'objet
·           <selected x="" y=""> : Position (coordonnées) de la version du slider si sélectionné
·           <up x="" y=""> : Position (coordonnées) de la version normale du slider 
·           <clipmask x="" y=""> : Position (coordonnées) du masque noir et blanc du slider qui en restreint les contours comme un masque.
·           <mousemask x="" y=""> : (facultatif) Coordonnée de la zone noir et blanc qui sera utilisée comme masque pour le curseur de la souris lorsqu'il passe sur le bouton
·           <mouserect x="" y="" width="" height=""> : (facultatif) Zone rectangulaire de masque pour le curseur de la souris
·           <mousecircle x="" y="" r=""> : (facultatif) Zone circulaire  comme masque pour le curseur de la souris (r="" est le rayon du cercle)
·           <tooltip> : (facultatif) Texte du pop-up qui s'affiche en survolant le slider (par défaut affichera l'action du slider)
·           <fader> : (Uniquement les sliders rectilignes) Position (coordonnées) du bouton mobile du slider.
·           <circle x="" y="" anglemin="" anglemax="" sectsize="" direction=""> (uniquement pour les potards) : Détermine les propriétés circulaires du slider avec les propriétés suivantes :
o  x="" y="" : Position (coordonnées) du centre du cercle
o  anglemin : Angle en degrés de la position zéro du slider
o  anglemax : Angle en degrés de la position max du slider
o  sectsize : Si pas zéro (la valeur par défaut), le slider aura un "fader" de largeur "sectsize"
o  direction : Directions possibles : "cw" (par défaut) ou "ccw"

·           <fader move="" sensibility=""> (uniquement pour potards) : Les mouvements possible sont : "full", "horz", "vert", "v" or "circ". Par contre je n'ai pas eu l'occasion de déterminer ce qu'est la sensibilité.
o  <pos x="" y="" nb="" nbx=""> : Position (coordonnées) du bouton du slider (dépend du type de slider, rectiligne ou rotatif). Si la propriété nbx="" est spécifiée, le graphique est divisé en plusieurs lignes.
o  <over x="" y="" nb="" nbx=""> : (facultatif) Coordonnées de la version du bouton si survolé par la souris.


----------------------------------------------------------------------------------------------------------
L'objet  <songpos>

L'objet songpos est une zone qui affiche le graphique (ou spectre) complet du titre d'une platine. Il permet de se repérer dans l'avancement de la lecture, de visualiser la structure du morceau, de voir la position des points cues ou encore de se déplacer instantanément  dans le titre.
On peu comparer cette zone à un slider (fader) et en possède les mêmes propriétés.

La balise d'ouverture de cet objet est : <songpos deck="" orientation="" waveform="">


Exemple :

<songpos pannel="Spectre1" deck="1" orientation="horizontal" rightclick="temporary" waveform="yes">
  <size width="1181" height="80"/>
  <pos x="85" y="443"/>
  # A lire
  <down x="1367" y="1194"/>                **** Zone centrale a lire (clair + barre)
  <volume x="1367" y="1514"/>             **** Zone extremites a lire (moyen)
  # Deja lu
  <selected x="1367" y="1594"/>             **** Zone centrale deja lu (fonce)
  <volumeselected x="1367" y="1674"/> **** Zone extremites deja lu (ultra fonce)
  <upselected x="1367" y="1754"/>         **** Negatif du spectre deja lu (noir)
  <up x="85" y="1732"/>        
  <cues>
    <size width="35" height="55"/>
    <clipmask x="727" y="1305" width="35" height="55"/>
    <up x="871" y="1305"/>                      **** Couleur CUE (couleur selon platine)
    <over x="763" y="1305"/>                   **** Jaune si passage dessus avec souris
    <down x="763" y="1305"/>                  **** Jaune si passage dessus avec souris
  </cues>
</songpos>

Propriétés :
·           deck="" : Numéro de la platine concernée 
·           orientation="" : Valeurs possible :
        o    horizontal, Pour un simple spectre horizontal
        o    vertical, Pour un simple spectre vertical
        o    circle, Pour un spectre circulaire
        o    round, for a knob-like button
·           waveform="" : Yes pour afficher un spectre dont les contours respectent l'amplitude du signal sonore


Paramètres personnalisables :
NOTE : Le spectre se décompose en différentes parties et on peut choisir la couleur de chaque partie.
Pour définir des couleurs personnalisées à chaque partie du spectre, il faut au préalable créer dans le .bmp plusieurs zones de formes rectangulaires de la taille du spectre et de couleurs différentes.
Si l'option "Colored Waveform" activée dans le menu de Virtual DJ, il n'est pas nécessaire de créer ces rectangles.


·           <pos x="" y=""/> : Position (coordonnées) de l'objet dans l'image bmp
·           <size width="" height=""/> : Largeur et hauteur de l'objet
·           <down x="" y=""> : Position (coordonnées) du rectangle coloré pour la partie du centrale du spectre à lire.
·           <volume x="" y=""> : Position (coordonnées) du rectangle coloré pour les extrémités du spectre à lire. 
·           <selected x="" y=""> : Position (coordonnées) du rectangle coloré pour la partie du centrale du spectre déjà lu. 
·           <volumeselected x="" y=""> : Position (coordonnées) du rectangle coloré pour les extrémités du spectre déjà lu. 
·           <upselected x="" y=""/> : Négatif du spectre déjà lu (zone noir). Je n'ai pas réellement compris le rôle de cette instruction.          
·           <cues> : Détermine le design des repères des points cue apparaissant sur le spectre :
o  <size width="" height=""> : Dimension du repère
o  <up x="" y=""> : Couleur du repère (zone rectangulaire colorée)
o  <down x="" y=""> : Couleur du repère lors du survol avec la souris (zone rectangulaire colorée)
o  <over x="" y=""> : Couleur du repère lors du survol avec la souris (zone rectangulaire colorée)
o  <clipmask x="" y=""> : Position (coordonnées) et dimension du masque noir et blanc contenant la forme du repère Cue.


----------------------------------------------------------------------------------------------------------
L'objet  <scratch>

L'objet scratch détermine une zone de votre skin sur laquelle vous pouvez scratcher avec la souris.

La balise d'ouverture de cet objet est : <scratch deck="" factor="">

Propriétés :

·            deck : Platine concernée (1, 2, 3 etc.. ou "active"(platine active), "default" (platine par défaut) ou "playlist"
·        factor : (facultatif) Multiplie le mouvement de souris par le facteur

Paramètres personnalisables :
·           <pos x="" y=""/> : Position (coordonnées) de l'objet dans l'image bmp
·           <size width="" height=""/> : Largeur et hauteur de l'objet
·           <mousemask x="" y=""> : (facultatif) Coordonnée de la zone noir et blanc qui sera utilisée comme masque pour le curseur de la souris lorsqu'il passe sur la zone de scratch
·            <mouserect x="" y="" width="" height=""> : (facultatif) Zone rectangulaire de masque pour le curseur de la souris
·           <mousecircle x="" y="" r=""> : (facultatif) Zone circulaire  comme masque pour le curseur de la souris (r="" est le rayon du cercle)
·           <center x="" y=""> : Coordonnées du centre du mouvement circulaire de la souris.




----------------------------------------------------------------------------------------------------------
L'objet  <multibutton >

L'objet multibutton est un menu déroulant dans lequel on peut choisir une action. Il faut donc associer le multibutton à un bouton classique. Selon le choix que l'on fera dans le menu déroulant, le bouton changera de fonction.


Exemple :


<multibutton id="MULTIbout1" >  
  <choice name="Loop 2" action="deck 1 loop 2"  selected="true"/>
  <choice name="Loop 4" action="deck 1 loop 4"/>
  <choice name="Loop 8" action="deck 1 loop 8"/>
  <choice name="Loop 16" action="deck 1 loop 16"/>
<pos x="43" y="558"/>
<size width="145" height="44"/>
<up x="43" y="3838"/>
<selected x="43" y="3777"/>
<down x="43" y="3777"/>
<text font="arial" size="15" color="#75C5F0" align="center" format="%name"/>
</multibutton>

Et le bouton associé :
<button action="multibutton_select 'MULTIbout1'">
<pos x="190" y="558"/>
<size width="52" height="44"/>
<up x="190" y="3838"/>
<down x="190" y="3777"/>
</button>




Ce multibutton va afficher une liste déroulante contenant les "choice name", donc Loop 2, Loop 4, Loop  8 et Loop 16.
Lorsqu'on sélectionne une de ces Loop, le bouton associé aura cette fonction.












Aucun commentaire:

Enregistrer un commentaire