str startlib.150,rec.150,rec2.150,work1.150,work2.150 str destlib1.150,destlib2.150,outlib1.150,outlib2.150 str slib.150(10),tlib.150,temp1.200,temp2.200 str infile.150,music.500000,outfile.150 str newcop.14 int size,h startlib = "d:\md2\corelli\chry" destlib1 = "d:\mtemp\midi1" destlib2 = "d:\mtemp\midip" open [1,1] startlib loop getf [1] rec rec = rec // pad(13) rec = rec{1,13} rec = trm(rec) if rec{1} = " " goto E1 end putc ~rec outlib1 = destlib1 // "/" // rec createdir outlib1 outlib2 = destlib2 // "/" // rec createdir outlib2 slib(1) = startlib // "/" // rec open [2,1] slib(1) loop getf [2] rec rec = rec // pad(13) rec = rec{1,13} rec = trm(rec) if rec{1} = " " goto E2 end putc ~rec work1 = rec work2 = rec slib(2) = slib(1) // "/" // rec open [3,1] slib(2) loop getf [3] rec rec = rec // pad(13) rec = rec{1,13} rec = trm(rec) if rec{1} = " " goto E3 end if rec{1,7} = "DISTRIB" slib(3) = slib(2) // "/" // rec open [4,1] slib(3) loop getf [4] rec rec = rec // pad(13) rec = rec{1,13} rec = trm(rec) if rec{1} = " " goto E4 end if rec{1,4} = "MIDI" slib(4) = slib(3) // "/" // rec open [5,1] slib(4) rec2 = rec loop getf [5] rec rec = rec // pad(13) rec = rec{1,13} if rec{1} = " " goto E5 end if rec2 <> "" putc ~rec2 if rec2{5} = "1" if work1 <> "" temp1 = outlib1 // "/" // work1 createdir temp1 work1 = "" end end if rec2{5} = "P" if work2 <> "" temp2 = outlib2 // "/" // work2 createdir temp2 work2 = "" end end rec2 = "" end rec = rec{1,8} rec = trm(rec) rec = rec // ".MID" putc ~rec infile = slib(4) // "/" // rec open [6,5] infile size = sze len(music) = sze read [6,1] music close [6] if slib(4){..} = "1" outfile = temp1 // "/" // rec end if slib(4){..} = "P" outfile = temp2 // "/" // rec end putc ~outfile open [7,6] outfile write [7] music close [7] repeat E5: close [5] end repeat E4: close [4] end repeat E3: close [3] repeat E2: close [2] putc repeat E1: close [1] putc Done! getc run