Client_broadcast_dos.exe
Documentation
(multiple peer midi sending)
suite logicielle schwartzpeter
Le client_broadcast est simple petit programme en Dos.
Il permet juste de retransmettre l'info midi reçue en broadcast
( les 255 adresses d'un réseau donné: 192.168.1.* ) via le réseau ( ethernet ou wifi)
.
Client_Broadcast ... jusqu'à 255 adresses en étoiles
Cette communication se fait en envoyant un paquet UDP de 10 caractères, comprenant l'info midi à envoyer.
Un serveur écrit pour ces paquets sur les ordis distants se charge soit:
-de retransformer en midi sur son
système l'info reçue (serveur2midi )
-d'émuler des lettres du clavier (Kbd_emul)
-de faire de la lumière (
schwartzpeter est un serveur et recevra donc les infos du
client_broadcast)
Configuration du client_broadcast:
1. Configuration de midishare

Avant de lancer le client, il faut configurer l'entrée des
signaux midi.
Ouvrir msDrivers.exe. Cliquer sur le port midishare
souhaité ( image ci dessus: le port 0 est
sélectionné en rouge) puis clicker sur le Midi IN et
éventuellement le Midi Out ( optionel, pour monitoring).
Ici le clavier UF MIDI IN est sélectionné en entrée.
Celà pourrait être le port midi virtuel Midi Yoke 1,
sur lequel on enverrait depuis un programme tiers ( pure data, pro tools
, etc... des signaux midi).
2. Configuration du client_broadcast
Il y a un fichier de configuration config_broadcast.txt à editer au notepad ou au wordpad:
# PORT CHEAT_KEY
11059 1
# The IP
192.168.1.
2ème ligne:
-le port de communication éthernet vers lequel émettre (
le serveur doit écouter ce même numéro de port pour
recevoir les infos)
-option cheat key 0 ou 1, permet de tricher l'émission d ' un signal Key On Vel 0 en un signal de type Key Off
4ème ligne:
l'adresse générique de votre réseau
Information relative aux signaux:
Important: ne sont acheminées que les informations de type KeyOn/Off, Ctrl-Change et Pitch-Ctrl.
PORT TYPE CHANNEL NOTE VEL DUREE DELAY NAME
Port: le port midishare ( 0 à 255) sur lequel émettre le signal ( cf la config de midishare avec msDrivers)
Type: le type de signal défini comme suit ( max 127):
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
Chan: le channel midi ( max 16)
Note: la note ou pitch midi ( max 127)
Vel: la vélocité, allias data 2 ( max 127)
*Le message UDP envoyé:
Pour ceux qui désirent récupérer les données, ou inclure avec leurs logiciels ces données:
Le message en UDP envoyé par client multiple est le suivant:
- c'est une message en forme de texte : char udp_message [10]
udp_message[0]= le port midishare ( max 255) d'où provient le signal ( cf msdrivers.exe)
udp_message[1]= le type de signal ( max 127)
udp_message[2]= le Channel midi ( max 16)
udp_message[3]= la note ( pitch) (max 127)
udp_message[4]= la velocité, allias data 2 ( max 127)
normalement udp_message[5] et [6] devraient être la durée
et le delay. Ceux ci ne sont pour l' instant pas utilisés, ni
par le client, ni par les serveurs, demandant une donnée en int.
udp_message[9]= l'index d'état d'infos, qui varie à chaque nouvel envoi de 0 à 1 puis de 1 à 0 ( bool).