* > Loop Copyright Denis Howe 1992 J You may distribute this program as long as you do not charge for it.  (? 18-May-1992 0.00 Written by Denis Howe 2 < 0 F''''"space = loop" P "1 - 8 = select channel" Z% "C = clear current channel" d2 "R = reset all channels and loop length" n x M%=10000 &Command%=0:Time%=4:Next%=8:Len%=12  Mem% M%*Len% ș "MIDI_SoundEnable",0 Free%=Mem% $Play%=0 : Play pointer Prev%=0 LoopCmd%=-1  =0 &Chan(0) : Set channel/track   Play current cell? Play% >=Play%!Time% : Play%!Command%=LoopCmd% Play%=Mem%:=Play%!Time% * ș "MIDI_TxCommand",Play%!Command%  Prev%=Play% " Play%=Play%!Next% , 6 @ Note received? J ș "MIDI_RxCommand" Cmd% T Ȏ Cmd% &F0 ^! 0 : Buffer empty h Type r &80,&90 : Note on/off |" Cmd%=(Cmd% &F) Chan%  ș "MIDI_TxCommand",Cmd% 9 Prev% Free%!Next%=Prev%!Next%:Prev%!Next%=Free%  Free%!Command%=Cmd%  Free%!Time%=  Prev%=Free%  Free%+=Len%   ~Cmd%      Type  K$  K$=(0)  Ȏ K$ % "1","2","3","4","5","6","7","8" &- Chan(K$-"1") : select chan 1-8 0, "C","c" : Clear chan : ș "MIDI_TxAllNotesOff" D Clear(Chan%) N+ "R","r" : Clear all X b Play%=0:Prev%=0:Free%=Mem% l ș "MIDI_TxAllNotesOff" v Chan(0) & " " : Loop  Play%  Prev% Prev%!Next%=Free%  Free%!Command%=LoopCmd%  Free%!Time%=  Free%!Next%=0  Prev%=Free%  Play%=Free%  Free%+=Len%     Clear(C%)  P%,N%   Play%=0  P%=Mem%  ȕ P%!Next% * N%=P%!Next% 4 (P%?Command% &F)=C% > P%!Command%=N%!Command% H P%!Time%=N%!Time% R P%!Next%=N%!Next% \ f P%=N% p z    Chan(C%)  Chan%=C%  0,0);"Channel ";Chan%+1