home *** CD-ROM | disk | FTP | other *** search
- /*
- ** SaveAsCDXL.fred
- **
- ** $VER: SaveAsCDXL.fred 1.2.0 (24.10.93)
- **
- ** This program can be run from an InvokeADPro list to save images to
- ** an CDXL file. Including this program automatically causes a pre and
- ** post program to be executed as well (to select the CDXL file and to
- ** wrap it up after processing).
- **
- ** Clips Imported:
- **
- ** FREDCDXLName - CDXL file user picked
- ** FREDCDXLInterleave - 1 if the user wants Interleaved frames
- ** - 2 if the user doesn't want Interleaved frames
- ** FREDCDXLSaveType - Save CDXL frames as RAW or IMAGE
- ** FREDCDXLLockPalette - ~0 if we are to pick a new palette
- ** - 0 if we are to lock the palette
- ** FREDCDXLAppend - 0 if appending to existing pan file
- ** 1 if starting new pan file
- ** NOTE: Clip names are case sensitive.
- **
- ** This script requires FRED v1.4.0 (or higher) to run. Also required is
- ** ADPro v2.5.0 (or higher).
- **
- ** Copyright © 1992-1993 ASDG, Incorporated
- ** All Rights Reserved
- */
-
-
- ADDRESS "ADPro"
- OPTIONS RESULTS
-
- PARSE ARG FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell
-
- NL = '0A'X
- SQ = '27'X
- DQ = '22'X
- TRUE = 1
- FALSE = 0
-
- /*
- ** Get the required clips. Error if any are missing.
- */
-
- CDXLName = GETCLIP( "FREDCDXLName" )
- IF (CDXLName = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDCDXLName," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- CDXLInterleave = GETCLIP( "FREDCDXLInterleave" )
- IF (CDXLInterleave = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDCDXLInterleave," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- IF (CDXLInterleave = 1) THEN
- CDXLInterleave = "INTERLEAVE"
- ELSE IF (CDXLInterleave = 0) THEN
- CDXLInterleave = ""
-
-
- CDXLSaveType = GETCLIP( "FREDCDXLSaveType" )
- IF (CDXLSaveType = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDCDXLSaveType," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- CDXLLockPalette = GETCLIP( "FREDCDXLLockPalette" )
- IF (CDXLSaveType = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDCDXLLockPalette," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- CDXLAppend = GETCLIP( "FREDCDXLAppend" )
- IF (CDXLAppend = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDCDXLAppend," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
-
- IF (CDXLLockPalette = 0) THEN DO
- PSTATUS LOCKED
- IF (RC ~= 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- END
-
- ELSE IF (CDXLLockPalette = 1) THEN DO
- PSTATUS UNLOCKED
- IF (RC ~= 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- END
-
- /*
- ** Do the save.
- */
-
- IF (CDXLAppend = 1) THEN DO
- SAVER "CDXL" CDXLName "FRAMENUM" 1 CDXLSaveType CDXLInterleave
- CDXLAppend = 0
- IF (RC ~= 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- END
-
- IF (CDXLAppend = 0) THEN DO
- DO LoopCounter = 1 TO Length
- SAVER "CDXL" CDXLName "FRAMENUM" "-1" CDXLSaveType CDXLInterleave
- why = ADPRO_RESULT
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "CDXL save failed:" || NL || Why || NL ||,
- "Argument Information:" || NL ||,
- "Filename = " || CDXLName || NL ||,
- "ImageType = " || CDXLSaveType || NL ||,
- "Flags = " || "CDXLInter"
- SAVER "CDXL" CDXLName "FRAMENUM" "-1" CDXLSaveType "QUIT"
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Closing the CDXL file failed." || NL ||,
- "You will need to close the file" || NL ||,
- "manually with the control panel."
- okay1 "about to exit"
- EXIT 10
- END
- END
- END
-
- EXIT 0
-
-
-
-
-
-