•  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-FileProgrammanbindung                                                MIDI_COM

Die Kommunikation erfolgt über die Struktur msg_typStrukturen
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;
.
In älteren Versionen wurden noch die AES-Funktionen  APP_FIND/APP_WRITE
verwendet. Ab Version 3.7 benutzt MIDI_COM nun die selbstdefinierte
GEMDOS-Funktion 111. Dadurch ist es nun auch mit TOS-Applikationen
möglich, die Programmanbindung zu nutzen.
Ist MIDI_COM nicht installiert, liefert der Funktionsaufruf einen
negativen Fehlerwert, da diese Funktion im GEMDOS normalerweise nicht
existiert.
Übergeben wird die Anfangsadresse des MSG-PuffersStrukturen
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;
 (früher der ganze
Puffer) über den Stack. Die Struktur des MSG-Puffers hat sich nicht
geändert, wohl aber etwas die Verwendung der Parameter.
So sollte im letzten Eintrag (msg.fillStrukturen
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;
) nun immer die durch ANMELDUNG
zurückgelieferte ID eingetragen werden, damit MIDI_COM den Auftraggeber
eines Befehls identifizieren kann. Bislang war dieser Eintrag unbenutzt.