[01;34mwith[m Libsens[31m.[mMIDI[31m.[mPortmidi[31m;[m             [01;34muse[m Libsens[31m.[mMIDI[31m.[mPortmidi[31m;[m
[01;34mwith[m Libsens[31m.[mMIDI[31m.[mDrivers[31m;[m              [01;34muse[m Libsens[31m.[mMIDI[31m.[mDrivers[31m;[m
[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.[mVirtual[31m.[mNl_Network[31m;[m        [01;34muse[m Libsens[31m.[mVirtual[31m.[mNl_Network[31m;[m

[01;34mwith[m Libsens[31m.[mProcessing[31m.[mCommon[31m;[m         [01;34muse[m Libsens[31m.[mProcessing[31m.[mCommon[31m;[m

[01;34mwith[m Libsens[31m.[mMal[31m;[m                       [01;34muse[m Libsens[31m.[mMal[31m;[m
[01;34mwith[m Libsens[31m.[mData[31m;[m                      [01;34muse[m Libsens[31m.[mData[31m;[m
[01;34mwith[m Libsens[31m.[mData[31m.[mLead[31m;[m
[01;34mwith[m Libsens[31m.[mData[31m.[mBass[31m;[m
[01;34mwith[m Libsens[31m.[mData[31m.[mDrums[31m;[m


[01;34mwith[m Libsens[31m.[mRhetorica[31m;[m

[01;34mwith[m Ada[31m.[mContainers[31m;[m                    [01;34muse[m Ada[31m.[mContainers[31m;[m

[01;34mwith[m Ada[31m.[mDirectories[31m;[m                   [01;34muse[m Ada[31m.[mDirectories[31m;[m

[01;34mwith[m Ada[31m.[mCalendar[31m.[mFormatting[31m;[m

[01;34mwith[m Text_Io[31m;[m                           [01;34muse[m Text_Io[31m;[m

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

[01;34mpackage[m [01;34mbody[m Libsens[31m.[mProcessing[31m.[mNeural_Modulator [01;34mis[m
   
   [01;34mprocedure[m [01;30mInitialize[m[31m([mPlugin_Process [31m:[m [01;34min[m Neural_Modulator_Processing[31m;[mOptions [31m:[m [01;34min[m Work_Options_Access[31m)[m [01;34mis[m
   [01;34mbegin[m
      Plugin_Process[31m.[mProcess[31m.[m[01;30mInitialize[m[31m([mOptions[31m);[m
   [01;34mend[m Initialize[31m;[m   
   
   
   [01;34mprocedure[m [01;30mStart[m[31m([mPlugin_Process [31m:[m [01;34min[m Neural_Modulator_Processing[31m;[m
		   Start_Time [31m:[m [01;34min[m Time[31m;[m
		   Tempo [31m:[m [01;34min[m Tempo_Type[31m;[m
		   Signature [31m:[m [01;34min[m Time_Signature_Type[31m)[m [01;34mis[m
   [01;34mbegin[m
      Plugin_Process[31m.[mProcess[31m.[m[01;30mStart[m[31m([mStart_Time[31m,[m Tempo[31m,[m Signature[31m);[m
   [01;34mend[m Start[31m;[m
   
   [01;34mprocedure[m [01;30mStop[m[31m([mPlugin_Process [31m:[m [01;34min[m Neural_Modulator_Processing[31m)[m [01;34mis[m
   [01;34mbegin[m
      Plugin_Process[31m.[mProcess[31m.[mStop[31m;[m
   [01;34mend[m Stop[31m;[m
   
   [01;34mprocedure[m [01;30mHalt[m[31m([mPlugin_Process [31m:[m [01;34min[m Neural_Modulator_Processing[31m)[m [01;34mis[m
   [01;34mbegin[m
      Plugin_Process[31m.[mProcess[31m.[mHalt[31m;[m
   [01;34mend[m Halt[31m;[m
   
   
   
   
   
   [01;34mtask[m [01;34mbody[m Neural_Modulator_Process [01;34mis[m      
      
      
      Start_Time  [31m:[m Time [31m:=[m Clock[31m;[m
      Quantum     [31m:[m [32mDuration[m [31m:=[m [35m0.0[m[31m;[m
      
      Tempo [31m:[m Tempo_Type [31m:=[m [35m120.0[m[31m;[m	 
      Date      [31m:[m Time [31m:=[m Clock[31m;[m
      
      End_Of_Task [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
      Bar_Beat [31m:[m Bar_Beat_Type[31m;[m
      Signature [31m:[m Time_Signature_Type [31m:=[m [31m([m[35m4[m[31m,[m [35m4[m[31m);[m
      
      Current_Form [31m:[m Form_Index_Type [31m:=[m [35m1[m[31m;[m
      Current_Break    [31m:[m Break_Type [31m:=[m Down_Break[31m;[m
      Prev_Break       [31m:[m Break_Type [31m:=[m Null_Break[31m;[m	 
      Next_Break       [31m:[m Break_Type [31m:=[m Down_Break[31m;[m
      
      

      
      Options [31m:[m [01;34maccess[m Work_Options_Record[31m;[m
      
      
      [01;34mpackage[m Rhetorica [01;34mis[m [01;34mnew[m Libsens[31m.[mRhetorica[31m;[m
      
      [01;34muse[m Rhetorica[31m;[m
      
      
      Modulator [31m:[m [01;30mComposer_Type[m[31m([mForm_Type[31m'Val(Neural_Modulator.Plugin.Form_Id-1), Category_Type'[m[01;30mVal[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mCat_Id[31m));[m
      
      
      
      All_Seq [31m:[m Seq_Vectors[31m.[mVector[31m;[m
      
      
   [01;34mbegin[m
      [31m--  Put_Line("Going to initialize Modular generator...");[m
      
      [01;34mwhile[m [01;34mnot[m End_Of_Task [01;34mloop[m
	 [01;34mloop[m
	    [01;34mselect[m
	       [01;34maccept[m [01;30mInitialize[m[31m([mOptions [31m:[m [01;34min[m Work_Options_Access[31m)[m [01;34mdo[m
		  [01;30mPut_Line[m[31m([m[31m"Plugin id : "[m [31m&[m
			     Plugin_Num'[01;30mImage[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mId[31m)[m [31m&[m
			     [31m" ready for process "[m [31m&[m
			     Plugin_Enum'[01;30mImage[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mClass[31m));[m
		  Neural_Modulator_Process[31m.[mOptions [31m:=[m Options[31m;[m
		  
		  [31m--  Put_Line("Iniitializing generators");[m
      
		  [01;34mif[m [01;34mnot[m [01;30mNL_Network_Plugin_Record[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[m[01;34mall[m[31m).[mGen_Reuse [01;34mthen[m
		     [31m--  Put_Line("Iniitializing Drums generators");[m
		     
		     Libsens[31m.[mData[31m.[mDrums[31m.[mDrums_Gen[31m.[m[01;30mInitialize[m[31m([mOptions[31m.[mFilename[31m.[m[01;34mall[m [31m&[m Plugin_Num'[01;30mImage[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mId[31m),[m False[31m,[m [35m0.1[m[31m,[m [35m2048[m[31m);[m      
		     
		     [31m--  Put_Line("Iniitializing Bass generators");[m
		     
		     Libsens[31m.[mData[31m.[mBass[31m.[mBass_Gen[31m.[m[01;30mInitialize[m[31m([mOptions[31m.[mFilename[31m.[m[01;34mall[m [31m&[m Plugin_Num'[01;30mImage[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mId[31m),[m False[31m,[m [35m0.1[m[31m,[m [35m2048[m[31m);[m	 
		     
		     
		     [31m--  Put_Line("Iniitializing Lead generators");[m
	    
		     Libsens[31m.[mData[31m.[mLead[31m.[mLead_Gen[31m.[m[01;30mInitialize[m[31m([mOptions[31m.[mFilename[31m.[m[01;34mall[m [31m&[m Plugin_Num'[01;30mImage[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mId[31m),[m False[31m,[m [35m0.1[m[31m,[m [35m2048[m[31m);[m
		  [01;34melse[m
		     [31m--  Put_Line("Iniitializing Drums generators");[m
		     
		     Libsens[31m.[mData[31m.[mDrums[31m.[mDrums_Gen[31m.[m[01;30mInitialize[m[31m([mOptions[31m.[mFilename[31m.[m[01;34mall[m [31m&[m Plugin_Num'[01;30mImage[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mId[31m),[m True[31m,[m [35m0.1[m[31m,[m [35m1[m[31m);[m      
		     
		     [31m--  Put_Line("Iniitializing Bass generators");[m
		     
		     Libsens[31m.[mData[31m.[mBass[31m.[mBass_Gen[31m.[m[01;30mInitialize[m[31m([mOptions[31m.[mFilename[31m.[m[01;34mall[m [31m&[m Plugin_Num'[01;30mImage[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mId[31m),[m True[31m,[m [35m0.07[m[31m,[m [35m1[m[31m);[m	 
		     
		     
		     [31m--  Put_Line("Iniitializing Lead generators");[m
	    
		     Libsens[31m.[mData[31m.[mLead[31m.[mLead_Gen[31m.[m[01;30mInitialize[m[31m([mOptions[31m.[mFilename[31m.[m[01;34mall[m [31m&[m Plugin_Num'[01;30mImage[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mId[31m),[m True[31m,[m [35m0.05[m[31m,[m [35m1[m[31m);[m
		  [01;34mend[m [01;34mif[m[31m;[m
	 
		  [01;30mNL_Network_Plugin_Record[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[m[01;34mall[m[31m).[mGen_Reuse [31m:=[m True[31m;[m
	 
		  [31m--Put_Line("Neural_Modulator started ::= MIMI 0.1.0");[m
		  [31m--  Put_Line("Iniitializing modular generator...");[m
		  Modulator[31m.[mCompositor[31m.[m[01;30mInitialize[m[31m([mOptions[31m.[mFilename[31m.[m[01;34mall[m [31m&[m Plugin_Num'[01;30mImage[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mId[31m));[m
		  [31m--  Put_Line("Modular generator iniitialized.");[m
		  
		  
	       [01;34mend[m Initialize[31m;[m
	       	     
	       
	    [01;34mor[m
	       
	       [01;34maccept[m [01;30mStart[m[31m([mStart_Time [31m:[m [01;34min[m Time[31m;[m Tempo [31m:[m [01;34min[m Tempo_Type[31m;[m Signature [31m:[m [01;34min[m Time_Signature_Type[31m)[m [01;34mdo[m
		  Quantum [31m:=[m  [32mDuration[m[31m([m[35m60000.0[m[31m/[m[32mFloat[m[31m([mTempo[31m))/([mSignature[31m.[mUnit [31m*[m Signature[31m.[mNumber[31m)/[m[35m1000.0[m[31m;[m
		  Neural_Modulator_Process[31m.[mTempo [31m:=[m Tempo[31m;[m
		  Neural_Modulator_Process[31m.[mSignature [31m:=[m Signature[31m;[m
		  
		  Bar_Beat [31m:=[m [31m([m[35m1[m[31m,[m [35m1[m[31m,[m [35m1[m[31m);[m
		  Neural_Modulator_Process[31m.[mStart_Time [31m:=[m Start_Time[31m;[m		  
		  [31m--Modulator.Compositor.Start(Start_Time, Tempo);[m
	       [01;34mend[m Start[31m;[m
	       [01;34mexit[m[31m;[m
	    [01;34mor[m
	       [01;34maccept[m  Stop[31m;[m
	       
	    [01;34mor[m
	       [01;34maccept[m Halt[31m;[m
	       Modulator[31m.[mCompositor[31m.[mHalt[31m;[m
	       End_Of_Task [31m:=[m True[31m;[m
	       [01;34mexit[m[31m;[m
	    [01;34mend[m [01;34mselect[m[31m;[m
	 [01;34mend[m [01;34mloop[m[31m;[m
	 
	 
	 [01;34mdeclare[m
	    [01;34mtask[m Mod_Composer [01;34mis[m
	       [01;34mentry[m Halt[31m;[m
	       [01;34mentry[m [01;30mSend[m[31m([mThe_Sequence [31m:[m [01;34mout[m Seq_Vectors[31m.[mVector[31m);[m
	    [01;34mend[m Mod_Composer[31m;[m
	      
	    [01;34mtask[m [01;34mbody[m Mod_Composer [01;34mis[m
	       All_Channel_Seq [31m:[m Seq_Vectors[31m.[mVector[31m;[m
	       New_Seq [31m:[m Seq_Vectors[31m.[mVector[31m;[m
	       
	       End_Of_Task [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
	       
	    [01;34mbegin[m
	       
	       [01;34mwhile[m [01;34mnot[m End_Of_Task [01;34mloop[m
		  Modulator[31m.[mCompositor[31m.[mRespond
		    
		    [31m([mOptions[31m.[mFilename[31m.[m[01;34mall[m [31m&[m Plugin_Num'[01;30mImage[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mId[31m),[m
		     [01;30mLong[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mCh_Id[31m-[m[35m1[m[31m),[m
		     New_seq[31m);[m
		  

		  [01;34mselect[m
		     [01;34maccept[m Halt[31m;[m
		     [01;34mexit[m[31m;[m
		  [01;34mor[m
		     [01;34maccept[m [01;30mSend[m[31m([mThe_Sequence [31m:[m [01;34mout[m Seq_Vectors[31m.[mVector[31m)[m [01;34mdo[m
			
			The_Sequence [31m:=[m New_Seq[31m;[m
			
			new_Seq [31m:=[m Seq_Vectors[31m.[mEmpty_Vector[31m;[m			
		     [01;34mend[m Send[31m;[m
		  [01;34mend[m [01;34mselect[m[31m;[m
	       [01;34mend[m [01;34mloop[m[31m;[m
	    [01;34mend[m Mod_Composer[31m;[m
	    
	    
	    Length [31m:[m Count_type [31m:=[m [35m0[m[31m;[m
	    
	 [01;34mbegin[m
	 
	    
	    [01;34mwhile[m [01;34mnot[m End_Of_Task [01;34mloop[m
	       [01;34mselect[m
		  [01;34maccept[m [01;30mInitialize[m[31m([mOptions [31m:[m [01;34min[m Work_Options_Access[31m);[m
	       [01;34mor[m
		  [01;34maccept[m [01;30mStart[m[31m([mStart_Time [31m:[m [01;34min[m Time[31m;[m Tempo [31m:[m [01;34min[m Tempo_Type[31m;[m Signature [31m:[m [01;34min[m Time_Signature_Type[31m)[m [01;34mdo[m
		     Quantum [31m:=[m  [32mDuration[m[31m([m[35m60000.0[m[31m/[m[32mFloat[m[31m([mTempo[31m))/([mSignature[31m.[mUnit [31m*[m Signature[31m.[mNumber[31m)/[m[35m1000.0[m[31m;[m
		     Neural_Modulator_Process[31m.[mTempo [31m:=[m Tempo[31m;[m
		     Neural_Modulator_Process[31m.[mSignature [31m:=[m Signature[31m;[m		  		     
		  [01;34mend[m Start[31m;[m
	       [01;34mor[m
		  [01;34maccept[m  Stop[31m;[m		  		  
		  End_Of_Task [31m:=[m True[31m;[m
		  [01;34mexit[m[31m;[m
		  
	       [01;34mor[m
		  [01;34maccept[m Halt[31m;[m
		  End_Of_Task [31m:=[m True[31m;[m
		  Mod_Composer[31m.[mHalt[31m;[m
		  Modulator[31m.[mCompositor[31m.[mHalt[31m;[m
		  [01;34mexit[m[31m;[m
	       [01;34mor[m
		  [01;34mdelay[m [01;34muntil[m Start_Time[31m;[m
		  [31m--Put_Line("Neural_Modulator started ::= MIMI 0.1.1");[m
		  [31m--if current_form = Neural_Modulator.plugin.played_form then[m
		  [31m--  if Neural_Modulator.Plugin.Algo = Null_Algo then[m
		  [01;34mif[m [31m([m[01;34mnot[m Neural_Modulator[31m.[mplugin[31m.[mmutted[31m)[m 
		    [01;34mand[m [01;30mis_formed[m[31m([mOptions[31m.[mtrue_table[31m,[m			       
				  Neural_Modulator[31m.[mPlugin[31m.[mCat_id[31m,[m 
				  Options[31m.[mPrev_Break[31m,[m 
				  Options[31m.[mNext_Break[31m)[m [01;34mthen[m
		     [31m--Put_Line("Neural modulator started ::= MIMI 0.1.2");[m
		     
		     [31m---------------------------------[m
		     [31m--[m
		     Mod_Composer[31m.[m[01;30mSend[m[31m([mAll_Seq[31m);[m
		     [31m--[m
		     [31m---------------------------------[m
		     
		     [01;34mif[m [01;34mnot[m Seq_Vectors[31m.[m[01;30mIs_Empty[m[31m([mAll_Seq[31m)[m [01;34mthen[m
			Length [31m:=[m Seq_Vectors[31m.[m[01;30mlength[m[31m([mAll_Seq[31m);[m
			[31m--Put_Line("Natural language write...");[m
			
			[01;34mfor[m I [01;34min[m [35m1[m[31m..[mLength [01;34mloop[m
			
			   
			   Date [31m:=[m Start_Time[31m;[m
			   [01;34mdeclare[m
			      Step [31m:[m [01;34mconstant[m Step_Vectors[31m.[mVector [31m:=[m Seq_Vectors[31m.[m[01;30mFirst_Element[m[31m([mAll_Seq[31m);[m
			   [01;34mbegin[m
			      Seq_Vectors[31m.[m[01;30mDelete_First[m[31m([mAll_Seq[31m);[m
			      [01;34mif[m [01;34mnot[m Step_Vectors[31m.[m[01;30mIs_Empty[m[31m([mStep[31m)[m [01;34mthen[m
				 [01;34mfor[m I [01;34min[m [35m1[m[31m..[mStep_Vectors[31m.[m[01;30mLast_Index[m[31m([mStep[31m)[m [01;34mloop[m
				    
				    [01;34mdeclare[m 
				       
				       Message [31m:[m Long [31m:=[m Step_Vectors[31m.[m[01;30mElement[m[31m([mStep[31m,[mI[31m);[m
				       
				    [01;34mbegin[m
				       [31m--Put_Line("tutu 1.4");[m
				       [01;34mif[m Neural_Modulator[31m.[mplugin[31m.[mprinted [01;34mthen[m
					  [31m--Put_Line("tutu 1.4.1");[m
					  [01;34mdeclare[m				       
					     printed_message [31m:[m [01;34mconstant[m printed_message_access [31m:=[m [01;34mnew[m printed_message_type '
					       [31m([msource [31m=>[m [01;34mnew[m [32mstring[m [31m' (Positive'[m[01;30mimage[m[31m([m[01;30mPositive[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mid[31m))),[m
						destination [31m=>[m [01;34mnew[m [32mstring[m [31m' (Positive'[m[01;30mImage[m[31m([m[01;30mPositive[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mdevice_id[31m))),[m
						data_type [31m=>[m [01;34mnew[m [32mstring[m [31m' (control_type'[m[01;30mimage[m[31m([m[01;30mcontrol_of[m[31m([mMessage[31m))),[m
						channel [31m=>[m [01;34mnew[m [32mstring[m [31m' (channel_type'[m[01;30mimage[m[31m([m[01;30mchannel_of[m[31m([mMessage[31m))),[m
						data1 [31m=>[m [01;34mnew[m [32mstring[m [31m' (interfaces.c.long'[m[01;30mimage[m[31m([m[01;30mdata1[m[31m([mMessage[31m))),[m
						data2 [31m=>[m [01;34mnew[m [32mstring[m [31m' (interfaces.c.long'[m[01;30mimage[m[31m([m[01;30mdata2[m[31m([mMessage[31m))),[m
						hour [31m=>[m [01;34mnew[m [32mstring[m ' [31m([mformatting[31m.[m[01;30mimage[m[31m([mdate[31m,[m true[31m)),[m
						hexa_sum [31m=>[m [01;34mnew[m [32mstring[m ' [31m([m[01;30mhex_image[m[31m([mMessage[31m)),[m
						long_sum [31m=>[m [01;34mnew[m [32mstring[m [31m' (long'[m[01;30mimage[m[31m([mMessage[31m)));[m
					  [01;34mbegin[m
					     [31m--Put_Line("tutu 1.4.1.0");[m
					     [31m--print(printed_message.all);[m
					     
					     Neural_Modulator[31m.[mbox[31m.[m[01;30mreceive[m[31m([mprinted_message[31m);[m
					     [31m--Put_Line("messages sended to message box");[m
					     
					  [01;34mend[m[31m;[m
					  [31m--Put_Line("tutu 1.4.2");[m
					  
					  [31m--Put_Line("tutu 1.4.3");[m
				       [01;34mend[m [01;34mif[m[31m;[m
				       
				       Neural_modulator[31m.[mEvent_Process[31m.[m[01;30mReceive[m[31m([mNeural_Modulator[31m.[mPlugin[31m.[mDevice_Id[31m,[m date[31m,[m Step_Vectors[31m.[m[01;30mElement[m[31m([mStep[31m,[mI[31m),[m [35m0.0[m[31m,[m tempo[31m);[m
				       
				    [01;34mend[m[31m;[m
				    
				    
				    
				 [01;34mend[m [01;34mloop[m[31m;[m		  
				 
			      [01;34mend[m [01;34mif[m[31m;[m	
			      
			   [01;34mend[m[31m;[m			   
			   
			   Start_Time [31m:=[m Start_Time [31m+[m Quantum[31m;[m
			   [01;34mdelay[m [01;34muntil[m Start_Time[31m;[m
			[01;34mend[m [01;34mloop[m[31m;[m		     
		     [01;34mend[m [01;34mif[m[31m;[m
		     
		  [01;34melse[m
		     
		     Start_Time [31m:=[m Start_Time [31m+[m Quantum[31m;[m
		     
		     [31m--Put_Line("tatata 3");		     		     [m
		  [01;34mend[m [01;34mif[m[31m;[m
		  [31m-- end if;[m
		  [31m--   end if;[m
		  [31m--Put_Line("Neural_Modulator started ::= MIMI 0.1.275");[m
	       [01;34mend[m [01;34mselect[m[31m;[m	    
	       [31m--Next(bar_beat, Options.Track_length, signature.number, signature.unit);		  [m
	       
	       
	    [01;34mend[m [01;34mloop[m[31m;[m
	 [01;34mend[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
      [01;30mPut_Line[m[31m([m[31m"Neural_Modulator halted."[m[31m);[m
   [01;34mend[m Neural_Modulator_Process[31m;[m
   
[01;34mend[m Libsens[31m.[mProcessing[31m.[mNeural_Modulator[31m;[m
