•  Back 
  •  MICO.CPX 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : MIDI_COM Dokumentation
Author      : H. Blees
Version     : MIDI_COM.hyp (21/5/1997)
Subject     : Dokumentation/MIDI_COM
Nodes       : 125
Index Size  : 3066
HCP-Version : 3
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : 
@help       : 
@options    : +g -i -n +y +z -t4 -d10
@width      : 75
View Ref-FileDaten senden                                                     MIDI_COM

Die Möglichkeiten zur Adressierung der Empfänger-Applikation(en) wurden
durch Einführung der Erweiterung auf 6 Programme pro Rechner zwangsläufig
flexibler
Einen herzlichen Dank an A. Mayer, der mir dabei mit wertvollen Anregungen
und Vorschlägen geholfen hat.
Ein Programm kann einen Datensatz an eine Variation verschiedener
Programme auf verschiedenen Rechnern absenden.

1. Direkte Adressierung einer Applikation im Netz
   mc_msgStrukturen
typedef struct {
  int   what;  /* 2 Byte    Befehl                 */
  int   size;  /* 2 Byte    Länge Daten            */
  char  *ptr;  /* 4 Byte => Adresse Daten          */
  char  *name; /* 4 Byte => Adresse erstes Zeichen */
  int   an;    /* 2 Byte    Empfänger              */
  int   fill;  /* 2 Byte    Absender               */
} msg_typ;
.an   = apl_num einer anderen Applikation
                 (Adressierung über ID)
   mc_msg.name = LeerstringVereinbarung:

Zeichenketten (z.B.: "name") sind definiert als
C-Strings. Sie beginnen direkt beim ersten Byte
und enden mit einem 0-Byte. Eine leere Zeichenkette
enthält an erster Stelle ein 0-Byte. In älteren
MIDI_COM-Versionen wurden noch PASCAL-Strings
verwendet. Diese enthalten als erstes Byte die
Länge der Zeichenkette.


2. Senden an alle Programme im Netz, die sich unter dem adressierten
   Namen bei MIDI_COM angemeldet haben.
   mc_msg.an   = -1
   mc_msg.name = 'xxxxx' (Name, unter dem sich eine oder mehrere
                 Applikationen bei MIDI_COM angemeldet haben.
3. Adressierung eines Programms über den Namen auf einem anderen Rechner
   mc_msgStrukturen
typedef struct {
  int   what;  /* 2 Byte    Befehl                 */
  int   size;  /* 2 Byte    Länge Daten            */
  char  *ptr;  /* 4 Byte => Adresse Daten          */
  char  *name; /* 4 Byte => Adresse erstes Zeichen */
  int   an;    /* 2 Byte    Empfänger              */
  int   fill;  /* 2 Byte    Absender               */
} msg_typ;
.an   = relative Rechnernummer ( 0 < msg.an < 7 )
   mc_msg.name = 'xxxxx' (Name, unter dem sich die Applikation bei
                          MIDI_COM angemeldet hat.

4. Adressierung aller Programme auf einem anderen Rechner.
   mc_msg.an   = relative Rechnernummer 0 < msg.an < 7
   mc_msg.name = LeerstringVereinbarung:

Zeichenketten (z.B.: "name") sind definiert als
C-Strings. Sie beginnen direkt beim ersten Byte
und enden mit einem 0-Byte. Eine leere Zeichenkette
enthält an erster Stelle ein 0-Byte. In älteren
MIDI_COM-Versionen wurden noch PASCAL-Strings
verwendet. Diese enthalten als erstes Byte die
Länge der Zeichenkette.


5. Sendung an ALLE
   mc_msg.an   = -1
   mc_msgStrukturen
typedef struct {
  int   what;  /* 2 Byte    Befehl                 */
  int   size;  /* 2 Byte    Länge Daten            */
  char  *ptr;  /* 4 Byte => Adresse Daten          */
  char  *name; /* 4 Byte => Adresse erstes Zeichen */
  int   an;    /* 2 Byte    Empfänger              */
  int   fill;  /* 2 Byte    Absender               */
} msg_typ;
.name = Leerstring ( 1. Byte ist eine 0)