% % stack: command % < |Locker "lockjpanly" text_bin zeronull % % stack: locker-xact % % % check for jpeg lock % |Unlocked? "Locker" *= zero % % stack: unlocked % % % verify jpeg analyzed data % |Lock % % get ownership of the jpeg analysis executable % "Unlocked?" *= dup { _Xact "_lockjpanly" text!bin } if % % stack: locked-jpeg-analyzer % |Unlock % % release ownership of the jpeg analysis executable % 0 "_lockjpanly" text!bin |Run % % stack: jpeg-filename % % first start a limit timer for the analysis % % insure building process does not hang up % empty "Xact" sval "Camera.Original" sval &"*cameranl" "analyze_supervise" "jpeg" 90000 *timeract !Jpeg.Timer % % run the analysis of the source jpeg % ofxact quoter ^"exiftool(-a -u -g1 -w txt).exe " "jpanly" log)( *runsminf |Check % % stack: original-filename % text_xact "ckinxj" log)( any? { ": image/jpeg" found? "ckinxk" log)( { "File Modification Date/Time" right$ ": " right$ "-" left$ !Camera.OrigMade "jpeg" *timerstp true } { pop false } ifelse "Unlock" *xactjpeg true } { false } ifelse % % stack: [ valid ] test-ended % > pop