$! A C T I V E P R O C E D U R E $! $! Procedure for automatic plotting of metacode files $! used by the routine GTHARD in the GTVSHR graphics library. $! $! P1 Metacode file to be plotted $! P2 Output device/queue $! P3 Metacode file status after plotting (KEEP or DELETE) $! $!---------------------------------------------------------------------- $! $ plotter = P2 $ ! all our laser on VMS are only LASER , with a dedicated procedure $ ! that you can retrieve separately (ask duvert@gag.observ-gr.fr) $ IF PLOTTER.EQS."LASER" THEN $ GOTO LASER_SPECIAL $ IF PLOTTER.EQS."LASER1" THEN $ GOTO LASER_SPECIAL $ IF PLOTTER.EQS."LASER2" THEN $ GOTO LASER_SPECIAL $ IF PLOTTER.EQS."PS" THEN $ GOTO LASER_SPECIAL $ IF PLOTTER.EQS."EPS" THEN $ GOTO LASER_SPECIAL $ IF PLOTTER.EQS."POSTSCRIPT" THEN $ GOTO LASER_SPECIAL $ IF PLOTTER.EQS."HPGL" THEN $ GOTO HP_NON_SPOOLED $! for remote plotting $ IF F$LOCATE("::",PLOTTER).NE.F$LENGTH(PLOTTER) THEN $GOTO REMOTE $! $ WRITE SYS$OUTPUT "Unknown plotter ''PLOTTER' " $ EXIT %X2C $! $!---------------------------------------------------------------------- $! $HP_NON_SPOOLED: $! $! Version for a non spooled HP7550A $! $ FILE = F$PARSE(P1,".HPGL",,,"SYNTAX_ONLY") $ IF F$PARSE(FILE,,,"TYPE").NES.".HPGL" THEN $ EXIT %X2C $ PRINT/QUE=HP_PLOT 'P1' $ GOTO END $! $!---------------------------------------------------------------------- $!---------------------------------------------------------------------- $! $LASER: $! $! Version for a laser printer on a print queue $! $ FILE = F$PARSE(P1,".PS",,,"SYNTAX_ONLY") $ IF F$PARSE(FILE,,,"TYPE").NES.".PS" THEN $ EXIT %X2C $ PRINT/QUE=LASER_PLOT 'P1' $ GOTO END $! $!---------------------------------------------------------------------- $LASER_SPECIAL: $! $! Version for a PostScript Printer non spooled, but attached to $! a specialized batch queue, with a dedicated procedure $! $ PROGRAM := @GAG_LOCAL:[LASER]LASER.COM $ IF P3.EQS."DELETE" THEN $ PROGRAM := @GAG_LOCAL:[LASER]LASER_DELETE.COM $ FILE = F$PARSE(P1,".PS",,,"SYNTAX_ONLY") $ IF F$PARSE(FILE,,,"TYPE").NES.".PS" THEN $ EXIT %X2C $ PROGRAM 'FILE' $ GOTO END $! $!---------------------------------------------------------------------- $! $! Version for a DEC LA100 or other Sixel devices $! $!LA100: $! PROGRAM := $ GAG_UTIL:LA100 $! PROGRAM 'P1'/'P3' $! IF P3.EQS."DELETE" THEN DELETE 'P1'/NOCONFIRM/NOLOG $! FILE = F$PARSE(P1,,,"NAME") $! PRINT/DELETE/QUEUE=SYS$LA100 'FILE'.PLT $! GOTO END $! $!---------------------------------------------------------------------- $REMOTE: $! $ othernode = f$extract(0,f$locate("::",plotter)+2,plotter) $ otherdevice = plotter-othernode $ node = f$trnlnm("SYS$NODE") $ tell := @gag_local:[util]tell ! this versions propagates ... $ tell 'othernode' @gag_util:gregplot.com 'node''file' 'p2' 'otherdevice' KEEP $ if p3.eqs."delete" then delete 'file'/noconfirm/nolog $ goto end $! $END: $ IF F$MODE().NES."BATCH" THEN $ EXIT $ ASSIGN NL: SYS$PRINT $ PURGE SYS$LOGIN:GAGPLOT.LOG