midi2kbd_emulator.exe
Documentation
(transformation d'un signal midi en émulation clavier ordinateur)
suite logicielle schwartzpeter
Le programme midi2kbd_emulator reçoit des infos midi via un packet udp envoyé par un client.
Le protocole udp est une façon de transmettre les informations
de machine à machine de manière très rapide:
il ne vérifie pas, ni ne contre vérifie, si un signal est arrivé complètement.
Ce protocole est utilisé pour les applications en temps réél.
Fonction de son paramétrage, ve programme émule telle ou telle lettre du clavier sur le système.
Il permet donc de télécommander comme un clavier virtuel nimportequ'elle application.
Ce programme permet de se servir d'applications qui ne savent pas être pilotées en midi.
Pour que l'application désirée soit pilotée, il
faut qu'elle soit active ( click sur la fenêtre de cette
dernière). Elle recevra alors l'émulation du clavier.
Configuration :
Contrairement à
serveur2midi.exe, il n y a pas besoin de configurer midishare, puisque
le signal reçu n'est pas ré-émis en midi.
2 fichiers permettent de paramétrer cet émulateur:
1. config_serveur2kbd.txt

debug= permet d'écrire (1) ou pas (0) dans un fichier debug_input_midi.txt les entrées midi reçues
port_to_listen= le port (
socket) que le programme doit écouter. Le client doit envoyer
à cette machine sur le même numéro de port !
keyboard_wait= très important: le temps d'émulation de la touche . Celui ci peut influencer grandement le comportement de certaines applications.
clk_mouse_wait= le temps d'attente lorsque l'on clicke avec la souris ( en cas de trop grande sensibilité de celle-ci)
my_delay= si l'on a besoin de
retarder cette émulation, s'exprime en ms. Permet de
régler et se caler fonction des machines. Le réglage se
fait en éditant ce paramètre.
set_amnesia= doit toujours
être en 1, c'est la fonction qui permet au programme de rester
éveillé lorsque vous sélectionnez l'application
sur laquelle doivent être émulées les touches
clavier.
un nom de fichier texte : le
paramétrage du midi : quelle touche sera émulée
par quel signal midi, c'est le nom du script à lire. Plusieurs
scripts peuvent être chargés, fonction des besoins ( par
ex: émulation_pourson.txt, emulation_zoom.txt , etc... )
2. le paramétrage du midi et de l'émulation
Ici une partie du fichier midi_to_kbd_ZP.txt:
A son lancement, midi2kbd_emulator va lire ce fichier de script.
Il en retirera l'information midi qui déclenchera la touche à laquelle elle est assignée.
Dans la version actuelle, ce programme n'affecte pas les lettres.
La première référence lue sera toujours l'émulation de SPACE.
Comme la 22ème ligne sera toujours l'affectation du signal midi
qui déclenche la lettre B. Même si vous les renommez F1 ou
A, ou je ne sais.
La présence dans ce fichier des noms de touches est uniquement pour savoir ce que l'on affecte.
Les références de lettres se présentent donc ainsi:
*les 20 touches spéciales ( space enter, ... et même les clicks souris)
*les 26 lettres de l'alphabet
*les 10 chiffres de 0 à 9
*les 12 touches de fonctions ( F1 à F12)
Les chiffres suivant la touche sont les infos du signal qui vont déclencher l'émulation de cette touche:
le port midishare / le type d'évènement midi / le Channel midi / le numéro de note - alias pitch
Chaque argument est séparé par un espace.
Si les paramétres ne correspondent strictement pas ( port, type, channel et note) l'émulation ne se fera pas.
Type:
0 Note
11 Start 22 QuarterFrame 33 CuePoint
1 Key On 12 Continue 23 Ctrl 14bits 34 Chan Prefix
2 Key Off 13 Stop 24 NonRegParam. 35 Port Prefix
3 Key Press 14 Tune 25 Reg Param 36 End Track
4 Ctrl Change 15 Active Sens. 26 Seq Number 37 Tempo
5 Prog Change 16 Reset 27 Text 38 SMPTE Offset
6 Chan Press 17 System Excl. 28 Copyright 39 Time Sign.
7 Pitch Wheel 18 Stream 29 Seq Name 40 Key Sign.
8 SongPos 19 Private 30 Instr Name 41 Specific
9 SongSel 20 Process 31 Lyric 42 Reserved
10 Clock 21 DProcess 32 Marker 43 Dead
Utilisation :
Au lancement du programme, on voit donc les infos suivantes:
-la date de compilation du programme
-la table d'assignement de l'émulation utilisée
-le temps de maintient de l'émulation d'une touche
-le mode back amnesia actif (1) ou pas (0)
-si le programme ajoute (1) dans le fichier de debug les infos midi reçues ou pas (0)
-l'adresse Ip de la machine recevant le programme, le port ( socket) que ce dernier écoute
-en fond noir: le packet udp reçu
-une visualisation sommaire du signal
-le packet udp tra,scrit en info midi
-la lettre qui est émulée si les conditions ( port
midishare, type de signal, Channel, et Note) sont réunies
-le delay ( qui est paramétrable à la souris pour calages)
-une petite case qui permet de changer temporairement le port midishare
( évite de tout réécrire dans le script)
-la case pour quitter
-la case de reset de connection, si vous pensez que le programme a besoin qu'on le réinitialise.
.