[01;34mwith[m System[31m;[m

[01;34mwith[m Gmface[31m.[mGm_MIDI[31m.[mPortmidi[31m;[m             [01;34muse[m Gmface[31m.[mGm_MIDI[31m.[mPortmidi[31m;[m

[01;34mwith[m Interfaces[31m.[mC[31m;[m
[01;34muse[m Interfaces[31m;[m

[01;34mpackage[m Gmface[31m.[mGm_MIDI[31m.[mDevices [01;34mis[m   
   
   [01;34mpragma[m [01;30mElaborate_Body[m[31m([mGmface[31m.[mGm_MIDI[31m.[mDevices[31m);[m
   
   [01;34mtype[m Mode_Type [01;34mis[m [31m([mMIDI_In[31m,[m MIDI_Out[31m);[m
   [31m-- Le mode de dentrée/sortie[m
   
   [01;34mtype[m Device_Type [01;34mis[m
      [01;34mrecord[m
         Initialized    [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
         Mode           [31m:[m Mode_Type[31m;[m
         Id             [31m:[m [32mInteger[m [31m:=[m [31m-[m[35m1[m[31m;[m
         Addr           [31m:[m [01;34maccess[m System[31m.[mAddress[31m;[m
         The_Deviceinfo [31m:[m [01;34maccess[m Portmidi[31m.[mDeviceInfo[31m;[m
      [01;34mend[m [01;34mrecord[m[31m;[m   
   [31m-- Le type Device_type.   [m

   
   [01;34mtype[m Device_Access [01;34mis[m [01;34maccess[m Device_Type[31m;[m
      
   [01;34mprocedure[m [01;30mInitialize[m [31m([mDevice [31m:[m [01;34min[m [01;34mout[m Device_Type[31m;[m Mode [31m:[m [01;34min[m Mode_Type[31m);[m
   [31m-- Initialise un périphérique MIDI[m
   
   [01;34mfunction[m  [01;30mInitialized[m[31m([mDevice [31m:[m [01;34min[m     Device_Type[31m)[m [01;34mreturn[m [32mBoolean[m[31m;[m
   [31m-- Renvoie vrai si le périphérique est initialisé.   [m
   
   [01;34mprocedure[m [01;30mOpen[m       [31m([mDevice [31m:[m [01;34min[m [01;34mout[m Device_Type[31m);[m
   [31m-- Ouvre un périphérique selon le mode d'entrée sortie du périphérique.[m
   
   [01;34mprocedure[m [01;30mWrite[m      [31m([mDevice [31m:[m [01;34min[m     Device_Type[31m;[m Message [31m:[m [01;34min[m C[31m.[mLong[31m);[m
   [31m-- Ecrit un message court à detisnation du périphérique de sortie.[m
   
   [01;34mprocedure[m [01;30mRead[m       [31m([mDevice [31m:[m [01;34min[m     Device_Type[31m;[m Message [31m:[m [01;34mout[m C[31m.[mLong[31m);[m
   [31m-- Lit un message en provenance du périphérique d'entrée.[m
   
   [01;34mprocedure[m [01;30mClose[m      [31m([mDevice [31m:[m [01;34min[m [01;34mout[m Device_Type[31m);[m
   [31m-- Ferme un périphérique.[m
   
   [01;34mfunction[m [01;30mName[m[31m([mDevice [31m:[m [01;34min[m Device_Type[31m)[m [01;34mreturn[m [32mString[m[31m;[m
   [31m-- Renvoie le nom du périphérique.[m
   
   Not_Initialized [31m:[m [01;34mexception[m[31m;[m
   [31m-- Sera levée si l'on tente d'ouvrir un périphérique non initilaisé.[m
   
   Mode_Error      [31m:[m [01;34mexception[m[31m;[m
   [31m-- Sera levée si l'on tente d'écrire sur un périphérique d'entrée ou[m
   [31m-- si l'on tente de lire sur un périphérique de sortie.               [m
[01;34mend[m Gmface[31m.[mGm_MIDI[31m.[mDevices[31m;[m
