
[01;34mwith[m Ada[31m.[mCalendar[31m;[m                      [01;34muse[m Ada[31m.[mCalendar[31m;[m
[01;34mwith[m Gmface[31m.[mGm_Common[31m;[m                  [01;34muse[m Gmface[31m.[mGm_Common[31m;[m
With Gmface[31m.[mGm_MIDI[31m.[mDrivers[31m;[m            [01;34muse[m Gmface[31m.[mGm_MIDI[31m.[mDrivers[31m;[m

[01;34mpackage[m Gmface[31m.[mGm_MIDI[31m.[mInstruments [01;34mis[m
   
   
   [01;34mtype[m MIDI_Instrument_Record[31m;[m
   
   [01;34mtask[m [01;34mtype[m [01;30mTempo_Sync_Type[m[31m([mInstrument [31m:[m [01;34maccess[m Device_Driver_Record'class[31m)[m [01;34mis[m      
      [01;34mentry[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;34mentry[m Stop[31m;[m
      [01;34mentry[m Halt[31m;[m
   [01;34mend[m Tempo_Sync_Type[31m;[m	       

   [31m--                                                --[m
   [31m----------------------------------------------------[m
   
   [31m----------------------------------------------------[m
   [31m-- Modulation sequencer :                         --   [m
   
   [01;34mtask[m [01;34mtype[m [01;30mMod_Sequencer_Type[m[31m([mInstrument [31m:[m [01;34maccess[m Device_Driver_Record'class[31m)[m [01;34mis[m      
      [01;34mentry[m [01;30mStart[m[31m([mTempo [31m:[m [01;34min[m Tempo_Type[31m;[m Signature [31m:[m [01;34min[m Time_Signature_type[31m);[m
      [01;34mentry[m Stop[31m;[m
      [01;34mentry[m [01;30mRec[m[31m([mIn_Rec [31m:[m [01;34min[m [32mBoolean[m[31m);[m
      [01;34mentry[m [01;30mPlay[m[31m([mIn_Play [31m:[m [01;34min[m [32mBoolean[m[31m);[m
      [01;34mentry[m Reset[31m;[m
      [01;34mentry[m Halt[31m;[m
   [01;34mend[m Mod_Sequencer_Type[31m;[m
   
   
   [01;34mtype[m MIDI_Instrument_Record [01;34mis[m [01;34mnew[m Device_Driver_Record [01;34mwith[m
      [01;34mrecord[m
	 
	 Tempo_Sync [31m:[m [01;30mTempo_Sync_Type[m[31m([mMIDI_Instrument_Record'[01;34mAccess[m[31m);[m
	 Mod_Seq    [31m:[m [01;30mMod_Sequencer_Type[m[31m([mMIDI_Instrument_Record'[01;34mAccess[m[31m);[m
	 
	 Printed        [31m:[m [32mBoolean[m [31m:=[m True[31m;[m
	 Mutted         [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
	 Have_Drums_Kit [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
      [01;34mend[m [01;34mrecord[m[31m;[m
   
   [01;34mtype[m MIDI_Instrument_Access [01;34mis[m [01;34maccess[m [01;34mall[m MIDI_Instrument_Record'Class[31m;[m
   
   [01;34mtype[m Instrument_Id [01;34mis[m [01;34mnew[m Positive [01;34mrange[m [35m1[m[31m..[m[35m128[m[31m;[m
   
   [01;34mtype[m Orchester_Array [01;34mis[m [01;34marray[m [31m([mInstrument_Id [01;34mrange[m [31m<>)[m [01;34mof[m MIDI_Instrument_Access[31m;[m
   
   [01;34mtype[m [01;30mBandmaster_Record[m[31m([mDevice_Max [31m:[m Instrument_Id[31m)[m [01;34mis[m [01;34mtagged[m
      [01;34mrecord[m
	 Orchester [31m:[m [01;30mOrchester_Array[m[31m([m[35m1[m[31m..[mDevice_Max[31m);[m
	 Inst_Last      [31m:[m natural [31m:=[m [35m0[m[31m;[m
      [01;34mend[m [01;34mrecord[m[31m;[m
   
   [01;34mprocedure[m [01;30mInitialize[m[31m([mMaster [31m:[m [01;34min[m [01;34mout[m Bandmaster_Record[31m);[m
   [01;34mprocedure[m [01;30mFinalize[m[31m([mMaster [31m:[m [01;34min[m [01;34mout[m Bandmaster_Record[31m);[m
      
[01;34mend[m Gmface[31m.[mGm_MIDI[31m.[mInstruments[31m;[m
