Virtual DJ est capable de reconnaître la majorité des
contrôleurs midi. Mais si on souhaite pousser les possibilités de son
contrôleur, il faut passer par la programmation xml.
Mais avant toute chose, il faut connaître les codes midi que
votre contrôleur envoie vers votre PC.
Pour cela il existe 2 possibilités : Miditrace ou Miditest
Présentation de Miditest
Tout comme Miditrace, Miditest est un petit logiciel gratuit ne nécessitant pas d'installation et qui permet de visualiser les informations midi provenant d'un contrôleur midi et ainsi de créer un fichier Device et Mapper.
Tout comme Miditrace, Miditest est un petit logiciel gratuit ne nécessitant pas d'installation et qui permet de visualiser les informations midi provenant d'un contrôleur midi et ainsi de créer un fichier Device et Mapper.
On peut également envoyer une commande midi de Virtual DJ
vers le contrôleur !
Je viens seulement de découvrir ce logiciel, jusqu'à présent j'ai toujours utilisé Miditrace donc je ne peux pas entrer dans les détails. Mais il a l'avantage d'être en français et surtout d'être très intuitif !
Le logiciel MIDITest permet de tester une interface MIDI de façon rapide.
Il permet de visualiser les événements MIDI reçus sur l'interface MIDI d'entrée sélectionnée, et d'envoyer des données MIDI simples sur l'interface MIDI de sortie sélectionnée.
Vous pouvez le télécharger ici : miditest_v2_3_0_0
Présentation de Miditrace
Miditrace est un petit logiciel gratuit ne nécessitant pas
d'installation et qui permet de visualiser les informations midi provenant d'un
contrôleur midi et ainsi de créer un fichier Device et Mapper.
On peut également envoyer une commande midi de Virtual DJ
vers le contrôleur !
Vous pouvez télécharger Miditrace ici : http://www.virtualdj.com/download/miditrace.exe
Seulement voilà, la présentation de Miditrace est tellement dépouillée qu'il est difficile d'en deviner le fonctionnement. Voici donc son comment il s'utilise.
Lorsqu'un contrôleur midi est branché sur le PC, celui-ci va
s'afficher dans Miditrace, dans la "ZONE RECEPTION".
S'il y a plusieurs contrôleurs, ils s'afficheront tous.
Sysexid
Au lancement de Miditrace, le code qui s'affiche dans la section
"CODE A ENVOYER" est le code midi du contrôleur, nommé le sysexid
(voir la page Device).
Ce code est l'identification de votre appareil midi. Il peut servir à VDJ pour reconnaître cet appareil, mais d'autres moyens existent (voir ce qui suit)
Noms des contrôleurs (Drivername)
Dans la "ZONE RECEPTION" on voit le ou les noms
des contrôleurs midi connectés au PC. Dans l'image ci-dessus, il y a 2 Novation
Launchpad branchés.
Le premier se nomme "Launchpad" et le second se
nomme "Launchpad (2)".
Mais en branchant les mêmes contrôleurs sur un autre PC, le
nom du second devient curieusement "2-Launchpad". Pourquoi, j'en ai
aucune idée, mais ça a son importance, notamment en cas de changement de PC.
Codes Midi vers le PC
Pour visualiser un signal provenant d'un contrôleur midi, il
faut tout d'abord sélectionner le contrôleur dans la "ZONE
RECEPTION".
Puis appuyer sur une touche du contrôleur (ou tourner un
potard ou monter un fader).
Le ou les codes midis envoyés par le contrôleur
s’afficheront sans la zone "CODES RECUPERES"
Pour comprendre ces codes, il faut les décortiquer. Je vais donc passer par l'exemple qui suit car ce sera beaucoup plus explicite.
Exemple
En appuyant sur une touche de mon contrôleur j’obtiens le code :93 70 7F 00Ce code se décortique en 5 parties :
9|3|70|7F|001 - Type de commande MidiLe premier chiffre indique le type de commande et le canal :8x sont des "notes" midi de relâchement de touche (valeurs de type note = "xx")9x sont des "notes" midi d’appuis sur une touche (valeurs de type note = "xx")Bx sont des "commandes" midi (valeurs de type note = "cc")Cx sont des "commandes" de changement de mode, de canal ou de profil midi. Cela permet par exemple de passer d'un profil à un autre sur le contrôleur, si celui-ce le permet (valeurs de type note = "cc")
2 - Canal MidiSi vous avez un code midi qui commence par exemple par 93, cela signifie que le signale est envoyé par le canal midi n°3. Dans ce cas il faudra ajouter channel="3" dans le texte xml.
3 - Note ou Commande MidiLe second chiffre indique la note ou la commande : cette valeur est le code à proprement dit de la touche que le contrôleur envoi au PC.Dans notre cas nous avons 70 en hexadécimal, ce qui correspond à 112 en décimal. Comme il s'agit d'une "note" midi, le texte seranote="0x70" en hexa (ou note="112" si vous préférez les décimal)Si par contre nous avions une "commande" midi, c'est-à-dire un code qui commence par B0, le texte sera cc="0x70"Donc avec notre exemple on obtiendra :<button note="0x70" channel="3"
4 - Valeur de la Note ou Commande Midi
Le troisième chiffre indique la valeur du code : je n'ai eu à définir cette valeur que dans le cas de touches à plusieurs couleurs. Cela m'a permis de faire changer la couleur de la touche (led) en fonction des actions.Dans notre exemple nous obtenons la valeur 7F.Donc nous obtiendrons le textevalue="0x7F"Donc avec notre exemple on obtiendra :<button note="0x70" channel="3" value="0x
5 - Les 2 derniers chiffres du code Midi
Les deux derniers chiffres qui ont toujours été chez moi 00, je n'en ai pas trouvé l'utilité. Mais cela ne signifie pas qu'ils ne servent à rien pour Virtual DJ !
Cas d'un bouton multicolore
Dans le cas d'un bouton éclairé à plusieurs couleurs, il faudra déclarer chaque couleur dans un fichier device.xml (voir la page Device)
Exemple :
<led note="0x70"
channel="3" value="0x03" name="LED112vert" />
<led note="0x70"
channel="3" value="0x07" name="LED112rouge" />
<led note="0x70"
channel="3" value="0x43" name="LED112orange"
/>
Chacune de ces ligne correspond à une couleur du bouton.
Donc si dans mon fichier mapper.xml j'écris :
<map value="BOUT0X70" action=" sampler 1 play_stop" />
<map value="LED112rouge"
action=" sampler 1 play_stop ? off : on" />
<map value="LED112vert"
action=" sampler 1 play_stop ? on : off" />
Lorsque je vais appuyer sur la touche correspondante, le
sample 1 va être lancé et le bouton va passer au rouge. Lorsque je vais ré-appuyer, le sample 1 va s'arrêter et le bouton va repasser au vert.
Code Midi du PC vers le contrôleur
L'un des problèmes me direz-vous est de savoir quel code midi et quelle valeur envoyer au contrôleur !
En effet si vous avez sur votre contrôleur midi des leds,
dont certaines peuvent prendre plusieurs couleurs, comment savoir quel code
midi correspond à quelle led et à quelle couleur ??
Encore une fois on dégaine l'outil magique : avec Miditrace vous pouvez envoyer des codes vers votre
contrôleur midi !!
Par exemple, vous avez un bouton lumineux sur le contrôleur.
Appuyer dessus pour récupérer le code midi du bouton sur Miditrace.
Imaginons que le code est 93 05 10 00
Donc on sait que c'est une note midi d’appui, sur la canal midi 3, ayant la note 05 et la valeur 10.
Maintenant nous allons renvoyer ce code de Miditrace vers le contrôleur. Pour cela l'inscrire dans la section "CODE A ENVOYER" et appuyer sur SEND.
Si la led s'allume par exemple en vert, vous savez donc que le 3ème
chiffre (la valeur midi 10) correspond au vert.
Pour trouver les autres couleurs, il faudra tester avec d'autres valeurs midi :
93 05 10 00
93 05 11 00
93 05 12 00
93 05 13 00
Etc...
En principe vous tomberez rapidement sur les codes des
autres couleurs.
J'ai remarqué que les couleurs se répètent au fil des valeurs midi. Si par exemple 10 est le vert, 11 le rouge et 12 l'orange, il est possible que 13 soit à nouveau le vert, et ainsi de suite.
Conclusion
C'est ainsi que l'on peut rédiger le fichier Device.xml et baptiser toutes les couleurs. Ensuite il suffira de les appeler par leur nom de baptême dans le fichier mapper.
J'ai remarqué que les couleurs se répètent au fil des valeurs midi. Si par exemple 10 est le vert, 11 le rouge et 12 l'orange, il est possible que 13 soit à nouveau le vert, et ainsi de suite.
Conclusion
C'est ainsi que l'on peut rédiger le fichier Device.xml et baptiser toutes les couleurs. Ensuite il suffira de les appeler par leur nom de baptême dans le fichier mapper.
-------------
Aucun commentaire:
Enregistrer un commentaire