&dA &dA &dA &d@ Program to check for consistancy of &dA &d@ bwv and mvt numbers within a sublibrary &dA &dA &dA str rec.80,bwv.6,mvt.60,title.80,oldmvt.6,temprec.80,slib.80,dlib.80 str section.6,cdir.80 str lib.80,file.80,out.80,mname.80,pitch.4,tempo.80 str sublibs.80(200),trkfiles.80(100),sublibs2.80(200) int i, j, k int a, b, c, d, e int tempc, tempd, x, y, savec, z int outnum int libcnt,crntlib,trkcnt,crnttrk putc Program to check consistancy of bwv and mvt putc numbers within the sublibrarys of a work putc BWV number? getc rec rec = rec // pad(6) bwv = rec{1,6} putc Source library? getc slib if slib{1,2} <> "c:" getdir cdir slib = cdir // "\" // slib end slib = trm(slib) putc List of sublibraries open [1,1] slib loop for i = 1 to 200 getf [1] rec if rec{1} <> " " rec = rec // pad(8) rec = rec{1,8} rec = trm(rec) putc .w3t2 ~i .t8 ~rec sublibs(i) = slib // "\" // rec sublibs2(i) = rec else goto eof1 end repeat eof1: close [1] libcnt = i - 1 crntlib = 1 LOOP: putc putc Movement ~sublibs2(crntlib) putc open [2,1] sublibs(crntlib) loop for i = 1 to 100 getf [2] rec rec = rec // pad(80) rec = rec{1,8} trkfiles(i) = rec repeat eof2: close [2] trkcnt = i - 2 loop for i = 1 to trkcnt rec = sublibs(crntlib) // "\" // trkfiles(i) trkfiles(i) = trm(rec) repeat putc There are ~trkcnt parts (tracks) in this movement. putc loop for crnttrk = 1 to trkcnt open [3,1] trkfiles(crnttrk) putc Track number = ~crnttrk getf [3] getf [3] rec rec = rec // pad(12) out = rec{1,6} if out <> bwv putc The bwv number of this track does not match putc the number for the work putc bwv for this track = ~out end mvt = rec{7..} if crnttrk = 1 oldmvt = mvt else if mvt <> oldmvt putc There is a mismatch in movement nubmers putc with this sublibrary putc mvt for track 1 = ~oldmvt mvt for this track = ~mvt end end close [3] repeat ++crntlib if crntlib > libcnt putc putc The work is finished! Type any key ... getk i putc stop end goto LOOP run