[01;34mpackage[m Libsens[31m.[mVirtual [01;34mis[m
   
   [01;34mpragma[m [01;30mPure[m [31m([mLibsens[31m.[mVirtual[31m);[m      
   
   
   
   
      [31m-- Form index.[m
   [01;34mtype[m Form_Index_Type [01;34mis[m [01;34mnew[m Positive [01;34mrange[m [35m1[m[31m..[m[35m8[m[31m;[m
   
   [31m-- The forms used on mixed forms.[m
   [01;34mtype[m Forms_Names_Set_Type [01;34mis[m [01;34marray[m [31m([mForm_Index_Type[31m)[m [01;34mof[m [01;34maccess[m [32mString[m[31m;[m
   
   Forms_Names_Set [31m:[m [01;34mconstant[m Forms_Names_Set_Type [31m:=[m 
     [31m([m
      [01;34mnew[m [32mString[m ' [31m([m[31m"Minimal"[m[31m),[m      
      [01;34mnew[m [32mString[m ' [31m([m[31m"Hard tech"[m[31m),[m                  
      [01;34mnew[m [32mString[m ' [31m([m[31m"Acid"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"Transe"[m[31m),[m      
      [01;34mnew[m [32mString[m ' [31m([m[31m"Techno"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"Tribe"[m[31m),[m      
      [01;34mnew[m [32mString[m ' [31m([m[31m"Drums and Bass"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"Hard Core"[m[31m));[m
      
   
   [31m-- Mixed forms type.[m
   [01;34mtype[m Mixed_Form_Type [01;34mis[m [31m([mFusion[31m,[m Fission[31m,[m Unmixed[31m,[m Silence[31m);[m
   
   [01;34mtype[m Category_Index_Type [01;34mis[m [01;34mnew[m Positive [01;34mrange[m [35m1[m[31m..[m[35m16[m[31m;[m
   
   [01;34mtype[m Categories_Set_Type [01;34mis[m [01;34marray[m [31m([mCategory_Index_Type [01;34mrange[m [31m<>)[m [01;34mof[m [01;34maccess[m [32mString[m[31m;[m
   
   
   Categories_Default [31m:[m [01;34mconstant[m [01;30mCategories_Set_Type[m[31m([m[35m1[m[31m..[m[35m16[m[31m)[m [31m:=[m
     [31m([m[01;34mnew[m [32mString[m ' [31m([m[31m"lead"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"bass"[m[31m),[m	 
      [01;34mnew[m [32mString[m ' [31m([m[31m"string N pad"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"Guitar N Pluck"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"Fx"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"synth hard"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"synth soft"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"keyboard"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"hit N drum"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"drums kit"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"audio in"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"motion"[m[31m),[m	 
      [01;34mnew[m [32mString[m ' [31m([m[31m"bell N Decay"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"user"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"arp seq"[m[31m),[m
      [01;34mnew[m [32mString[m ' [31m([m[31m"voccoder"[m[31m)[m
     [31m);[m
   
   [01;34mtype[m [01;30mCategories_Record[m[31m([mCategory_Max [31m:[m Category_Index_Type[31m)[m [01;34mis[m [01;34mtagged[m
      [01;34mrecord[m
	 Category [31m:[m [01;30mCategories_Set_type[m[31m([m[35m1[m[31m..[mCategory_Max[31m);[m
	 Last       [31m:[m Category_Index_type [31m:=[m [35m1[m[31m;[m
      [01;34mend[m [01;34mrecord[m[31m;[m
   
   [31m--type Categories_Access is access all Categories_Record'Class;[m
   
   [01;34mtype[m Break_Type [01;34mis[m [31m([mNull_Break[31m,[m Down_Break[31m,[m Up_Break[31m,[m Full_Break[31m);[m            
   
   [01;34mtype[m True_Table_Type [01;34mis[m [01;34marray[m [31m([mCategory_Index_Type[31m,[m Break_Type[31m,[m Break_Type[31m)[m [01;34mof[m [32mBoolean[m[31m;[m            
   
   
   
   [01;34mfunction[m [01;30mIs_Formed[m[31m([mTrue_Table [31m:[m True_Table_Type[31m;[m			 		      
		      Category_Index [31m:[m Category_Index_Type[31m;[m
		      Prev       [31m:[m Break_Type [31m:=[m Null_Break[31m;[m
		      Next       [31m:[m Break_Type [31m:=[m Null_Break[31m)[m [01;34mreturn[m [32mBoolean[m[31m;[m
   
      
   [31m--True_Table_Default : True_Table_Type := (others => (others => (others => False)));[m
   
   
   [01;34mtype[m Breaks_Set_Type [01;34mis[m [01;34marray[m [31m([mPositive [01;34mrange[m [31m<>)[m [01;34mof[m Break_Type[31m;[m
   
   [31m--type Breaks_Set_Access is access Breaks_Set_Type;[m
   
   Key_Max [31m:[m [01;34mconstant[m Positive [31m:=[m [35m128[m[31m;[m
   
   [01;34mtype[m Key_Type [01;34mis[m [01;34mmod[m key_Max[31m;[m
   
   Sens_Max [31m:[m [01;34mconstant[m Positive [31m:=[m [35m128[m[31m;[m
   
   [01;34mtype[m Sens_Type [01;34mis[m [01;34mmod[m Sens_Max[31m;[m
   
   Length_Max [31m:[m [01;34mconstant[m Positive [31m:=[m [35m128[m[31m;[m
   
   [01;34mtype[m Length_Type [01;34mis[m [01;34mmod[m Length_Max[31m;[m
   
   Key_Default [31m:[m [01;34mconstant[m Key_Type [31m:=[m [35m0[m[31m;[m
   Sens_Default [31m:[m [01;34mconstant[m Sens_Type [31m:=[m [35m0[m[31m;[m
   Length_Default [31m:[m [01;34mconstant[m Length_Type [31m:=[m [35m1[m[31m;[m
      
   [01;34mtype[m Note_Type [01;34mis[m [01;34mtagged[m
      [01;34mrecord[m
	 Key    [31m:[m Key_Type [31m:=[m Key_Default[31m;[m
	 Sens   [31m:[m Sens_Type [31m:=[m Sens_Default[31m;[m
	 Length [31m:[m Length_Type [31m:=[m Length_Default[31m;[m
      [01;34mend[m [01;34mrecord[m[31m;[m
   
   Null_Note [31m:[m [01;34mconstant[m Note_Type [31m:=[m 
     [31m([mKey_Default[31m,[m
      Sens_Default[31m,[m
      Length_default[31m);[m            
   
   [01;34mtype[m Octave_Num [01;34mis[m [01;34mnew[m [32mInteger[m [01;34mrange[m [31m-[m[35m2[m [31m..[m [35m2[m[31m;[m
   
   [01;34mtype[m Device_Num [01;34mis[m [01;34mnew[m Positive [01;34mrange[m [35m1[m [31m..[m [35m128[m[31m;[m
   
   [01;34mtype[m Channel_num [01;34mis[m [01;34mnew[m Positive [01;34mrange[m [35m1[m [31m..[m [35m16[m[31m;[m

   [01;34mtype[m Plugin_num [01;34mis[m [01;34mnew[m Positive [01;34mrange[m [35m1[m [31m..[m [35m256[m[31m;[m
   
   [01;34mtype[m Plugin_Enum [01;34mis[m [31m([mNull_Plugin[31m,[m
			
			PC_List[31m,[m
			
			CC_List[31m,[m
			
			Step_Seq[31m,[m
			
			Arp_Seq[31m,[m
			
			NN_Mono[31m,[m NN_Poly[31m,[m NN_Rythm[31m,[m
			
			Gen_Bass[31m,[m Gen_Synth[31m,[m Gen_Drums[31m,[m
			
			NL_Mod[31m);[m
   

[01;34mend[m Libsens[31m.[mVirtual[31m;[m
