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:

touche 0 1 0 77

 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.



VERSION DOS :
midi2kbd_Dos.exe


Cette version est écrite pour les petites machines et n'offre pas de possibilités d'action.
Son avantage est de peser beaucoup moins lourd en mémoire !
Sa configuration se fait dans le fichier config_s2kbd_dos.txt avec les informations suivantes, plus limitées:

port_to_listen=11059
keyboard_wait=100
my_delay=0
midi_to_kbd_ZP.txt






.