
[01;34mwith[m Libsens[31m.[mMIDI[31m.[mMessages[31m;[m             [01;34muse[m Libsens[31m.[mMIDI[31m.[mMessages[31m;[m
[01;34mwith[m Libsens[31m.[mMal[31m;[m                    [01;34muse[m Libsens[31m.[mMal[31m;[m
[01;34mpackage[m Libsens[31m.[mData [01;34mis[m
   
   [01;34mtype[m Word16_Type [01;34mis[m [01;34mmod[m [35m2[m[31m**[m[35m16[m[31m;[m
      [31m-- Definit un type de 16 bits.[m
      [31m-- Est utilisé pour construire des phrases.[m
      [31m-- Un bit à 1 signifit que la note sera jouer, 0 si non.[m
      
      [01;34mtype[m Word16_Index_Type [01;34mis[m [01;34mmod[m [35m16[m[31m;[m
      [31m-- Définit un index permettant d'adresser un bit dans un Word16_Type;[m
      
      [01;34mtype[m Note_Word16_Type [01;34mis[m
	 [01;34mrecord[m
	    key [31m:[m Value_Type [31m:=[m [35m36[m[31m;[m
	    sens [31m:[m Value_Type [31m:=[m [35m100[m[31m;[m
	    Length [31m:[m Value_Type [31m:=[m [35m0[m[31m;[m
	    Sentence  [31m:[m Word16_Type [31m:=[m [35m0[m[31m;[m
	 [01;34mend[m [01;34mrecord[m[31m;[m
      [31m-- Définit une phrase de 16 pas pour une note avec une vélocité et une durée de note.[m
      
      
      Null_Note [31m:[m [01;34mconstant[m Note_Word16_Type [31m:=[m [31m([m[35m36[m[31m,[m[35m100[m[31m,[m [35m0[m[31m,[m [35m0[m[31m);[m
      [31m-- La phrase par defaut dans les tableaux de phrases.[m
      
      
      [01;34mtype[m Sentence_Type [01;34mis[m [01;34marray[m [31m([mValue_Type [01;34mrange[m [31m<>)[m [01;34mof[m Note_Word16_Type[31m;[m
      [31m-- Un tableau de phrases.[m
      
      [01;34mfunction[m [01;30mBeat[m[31m([mWord16 [31m:[m [01;34min[m Word16_Type[31m;[m Index [31m:[m [01;34min[m Natural[31m)[m [01;34mreturn[m [32mBoolean[m[31m;[m
      [31m-- Renvoie Vrai si le bit correspondant à l'"index" à pour valeur 1.[m
      [31m-- La position dans le mot est calculé modulo 16.[m
      
      
      [01;34mprocedure[m [01;30mPattern[m[31m([mFrom [31m:[m [01;34min[m Sentence_Type[31m;[m Channel [31m:[m [01;34min[m Channel_Type[31m;[m Seq [31m:[m [01;34min[m [01;34mout[m  Seq_Vectors[31m.[mvector[31m);[m
      
[01;34mend[m Libsens[31m.[mData[31m;[m
