Le Script d'une skin




Une fois votre image .bmp  terminée, nommez là comme bon vous semble. Cependant il est absolument primordiale que votre fichier .xml porte le même nom !!

Ensuite ouvrez un éditeur xml. Je conseille fortement le logiciel PSPAD qui est gratuit et très facile à trouver. Il a l'avantage de colorer les différentes commandes histoire d'y voir plus clair.


Premières lignes du fichier xml 

<Skin name=" LecteurCD&mix " version="7" width="1280 " height="1024" posx="0" posy="0" nbdecks="2">
<copyright>- (c)2012 - Atomix Productions - MYNAME (DJ MYNAME) </copyright>


Voici les 2 premières lignes de votre fichier xml.
Skin name :              le nom que vous avez choisi pour votre skin
Version :                  la version de votre VDJ.
Width :                     La largeur de la skin (dans notre exemple 1280 pixels)
Height :                    La hauteur visible de la skin (dans notre exemple 1024 pixels)
Posx :                       (facultatif) La distance x de départ de la skin*
Posy :                       (facultatif) La distance y de départ de la skin*
Nbdecks :                 Le nombre de platines dans la skin
Multiinstance :          (facultatif) Dans le cas d'une utilisation en multi instance**

* Les 2 paramètres Posx et Posy déterminent la position où ira se placer la skin à l'écran au lancement de VDJ. Utile si on utilise une skin plus petite que la résolution de votre écran. On pourra ainsi demander à ce qu'elle se place automatiquement à tel et tel endroit sur l'écran.

** Le paramètre Multiinstance permet de lancer 2 skins en même temps. Cela peut être utile si on travail sur 2 écrans, sur l'un on pourra placer les platines, sur l'autres le browser ou le sampler. Dans ce cas il faudra indiquer multiinstance="2"


Commentaires dans le scripts 

Nous voici arrivé à la phase la plus intéressante, la programmation ;)

Je vous conseille vivement d'abuser de commentaires afin de bien vous y retrouver lorsque votre fichier xml aura plusieurs milliers de lignes (et oui, ça va aller vite !!).

Dans PSPAD, tout ce qui ne commence pas par le symbole < est considéré comme un commentaire.


Les instructions 

Il existe un certain nombre d'instructions utilisables pour programmer votre skin. La page "Liste des Codes" les rassemblent toutes (ou presque) dans un tableau avec une désinscription succincte.

Bien sûr faut-il encore savoir comment les utiliser. C'est ce qui va suivre.

Comme tout le monde, lorsque j'ai débuté je ne connaissais pas les instructions xml de Virtual DJ et donc quelles étaient les possibilités. J'ai donc décortiqué les scripts d'autres skins en récupérant et personnalisant des morceaux de scripts. 



Balisage des objets

Voici par exemple comment on créé un bouton play. Le principe est le même pour tous les objets de Virtual DJ

Règle importante : tous les objets du script doivent obligatoirement se situer entre 2 balises, une d'ouverture de l'objet et une autre de fermeture : 

<objetx>             
   blablabla             
   blablabla            
   blablabla      
</objetx>


Exemple de script

Créons un bouton Play :

PLAY Platine 1------------------------------------------------------------------
<button action="deck 1 play_button" rightclick=" deck 1 reverse while_pressed">
<size width="106" height="80"/>
<pos x="4" y="353"/>
<selected x="+0" y="+1100"/>
<down x="+0" y="+1100"/>
<over x="+0" y="+1500"/>
<up x="+0" y="+1100"/>
</button>


On commence donc par un commentaire texte, là c'est le bouton play de la platine 1.
On constate que les instructions du bouton se situent entre 2 balises <button  et  </button>


button action            L'action que doit effecter le bouton sur un clic gauche
rightclick                  L'action du meme bouton si on clique droit avec la souris
size                           La taille du bouton (width = largeur height = hauteur en pixel)*
pos                            Position (coordonnées) du bouton dans l'image par rapport au point zéro *
selected                    Apparence du bouton lorsqu'il est actif**
down                        (facultatif) Apparence du bouton lorsqu'il est appuyé**
over                          (facultatif) Apparence du bouton lorsqu'il est survolé par la souris**
up                             (facultatif) Apparence du bouton lorsqu'il n'est pas appuyé**
</button>                  Balise de fin du bouton, obligatoire.

d'autres instructions de personnalisation existent pour un bouton (voir la page "Liste des Codes")

* Le point zero d'une image est le premier pixel en haut à gauche de l'image. Ses coordonnées sont donc x = 0 et x = 0.
Si un bouton se situe à 100 pixels du haut et 50 pixels de la gauche, alors sa position sera :
<pos x="50" y="100"/>


** Les différentes apparences sont justement celles que nous avons préparées dans l'image .bmp, allumé, éteint et mi-éteint. Dans notre exemple, le bouton actif est donc l'image "allumée" se situant à 1100 pixels plus bas (distance A).
D'où le texte :  <selected x="+0" y="+1100"/>
<selected x="+0" y="+1100"/>
En écrivant cette commande, on précise que la version allumée du bouton est aux coordonnées actuelles du bouton mais à +1100 pixels plus bas (donc le bouton Play allumé est à 353 + 1100 pixels, donc à 1453 pixels du haut de l'image).

<over x="+0" y="+1500"/>
La version over quand à elle est la version "mi-éteinte", donc se situant 1500 pixels plus bas (distance M).

Dans la mesure où nous avons placé les appareils éteints, allumés et mi-éteints à la même distance du bord gauche, la distance y de la version allumée est à 4 + 0 = 4 pixels du bord gauche.



Cette méthode sera à appliquer à tous les boutons de votre skin. Les versions allumées et mi-éteintes seront toujours à +1100 et +1500 du haut, et à +0 du bord gauche, ce qui facilite énormément la conception.

On peut également préciser les coordonnées exactes des autres versions du bouton, ce qui donnera :

<selected x="4" y="1453"/>
<over x="4"y="1853"/>

Cette méthode est à utiliser si l'ont n'a pas placé les boutons mi-éteints ou allumés à des distance fixes par rapport à la version éteinte.


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

Aucun commentaire:

Enregistrer un commentaire