<> <> <> <> <<>> <> <> <> <<>> DIRECTORY Rope USING [ROPE], UnixTapeOps USING [Density], PrintColor USING [ColorCorrection]; InterpressToTape: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE ~ Rope.ROPE; ColorCorrection: TYPE ~ PrintColor.ColorCorrection; <> IPSpec: TYPE = REF IPSpecRep; <> <> inchesPerMM: REAL = 0.3937008; mmPerInch: REAL = 25.4; IPSpecRep: TYPE = RECORD[ name: ROPE, --name of the Interpress file page: NAT, pixelsPerInch: NAT, --suggested values: 300 for Crosfield, 254 for Optronics fOrg: REAL, sOrg: REAL, -- fast origin (raster) and slow origin, in inches fDim: REAL, sDim: REAL, -- fastDimension (raster) and slowDimension, in inches surfaceUnitsPerPixel: NAT _ 5, -- controls averaging for ImagerSmooth; 1 for no smoothing colorCorrection: ColorCorrection _ NIL, --default this or see PrintColorTransformations achromatic: BOOLEAN _ FALSE ]; TapeSpec: TYPE = REF TapeSpecRep; <> <> TapeSpecRep: TYPE = RECORD [ note: ROPE, --ID field. Crosfield limits it to 20 characters, Optronics to 512 tapeNumber: NAT, --another form of ID serverName: ROPE, --make it "Palain" drive: NAT _ 0, --should always be 0 for Palain density: UnixTapeOps.Density _ GCR6250, tapeSize: NAT _ 2400 ]; Format: TYPE = {crosfield, optronics}; Sizes: TYPE = RECORD[name: ROPE, size: REAL]; --size is in feet of tape DefaultTapeSpec: PROC [name: ROPE, tapeNumber: NAT] RETURNS[TapeSpec]; <> DefaultIPSize: PROC [name: ROPE, page: NAT _ 1, tol: REAL _ 0.02] RETURNS [fOrg, sOrg, fDim, sDim: REAL]; <> SizeFromIPSpecs: PROC[files: LIST OF IPSpec, format: Format, tapeSpec: TapeSpec] RETURNS[sizes: LIST OF Sizes, total: REAL]; <> <> <<>> <> WriteTape: PROC [files: LIST OF IPSpec, format: Format, tapeSpec: TapeSpec]; <<>> <> InitCrosfieldTape: PROC [files: LIST OF IPSpec, tapeSpec: TapeSpec, rewindOnClose: BOOLEAN]; <> AddToCrosfieldTape: PROC[tapeSpec: TapeSpec, fileNumber: NAT, file: IPSpec, inPosition, rewindOnClose: BOOLEAN]; <> <> <> <> WillNotFit: SIGNAL; <> <> <<>> <> <> <<>> Preview: PROC [files: LIST OF IPSpec, wd: ROPE _ NIL, reduceResolution: REAL _ 0.25]; <> WriteAIS: PROC [files: LIST OF IPSpec, format: Format, wd: ROPE _ NIL, reduceResolution: REAL _ 0.25]; <> END.