home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / ADPro251-3.DMS / ADPro251-3.adf / FREDScripts.lha / FREDSavers / SaveAsCDXL.fred < prev    next >
Encoding:
Text File  |  1994-01-31  |  3.4 KB  |  157 lines

  1. /*
  2. ** SaveAsCDXL.fred
  3. **
  4. ** $VER: SaveAsCDXL.fred 1.2.0 (24.10.93)
  5. **
  6. ** This program can be run from an InvokeADPro list to save images to
  7. ** an CDXL file.  Including this program automatically causes a pre and
  8. ** post program to be executed as well (to select the CDXL file and to
  9. ** wrap it up after processing).
  10. **
  11. ** Clips Imported:
  12. **
  13. **    FREDCDXLName        -    CDXL file user picked
  14. **    FREDCDXLInterleave    -    1 if the user wants Interleaved frames
  15. **                -    2 if the user doesn't want Interleaved frames
  16. **    FREDCDXLSaveType    -    Save CDXL frames as RAW or IMAGE
  17. **    FREDCDXLLockPalette        -    ~0 if we are to pick a new palette
  18. **                -    0 if we are to lock the palette
  19. **    FREDCDXLAppend        -       0 if appending to existing pan file
  20. **                    1 if starting new pan file
  21. ** NOTE: Clip names are case sensitive.
  22. **
  23. ** This script requires FRED v1.4.0 (or higher) to run.  Also required is
  24. ** ADPro v2.5.0 (or higher).
  25. **
  26. ** Copyright © 1992-1993 ASDG, Incorporated
  27. ** All Rights Reserved
  28. */
  29.  
  30.  
  31. ADDRESS "ADPro"
  32. OPTIONS RESULTS
  33.  
  34. PARSE ARG FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell
  35.  
  36. NL = '0A'X
  37. SQ = '27'X
  38. DQ = '22'X
  39. TRUE  = 1
  40. FALSE = 0
  41.  
  42. /*
  43. ** Get the required clips.  Error if any are missing.
  44. */
  45.  
  46. CDXLName = GETCLIP( "FREDCDXLName" )
  47. IF (CDXLName = "") THEN DO
  48.     ADPRO_TO_FRONT
  49.     OKAY1 "Required clip, FREDCDXLName," || NL ||,
  50.         "is not specified."
  51.     SCREEN_TO_FRONT "FRED"
  52.     EXIT 10
  53. END
  54.  
  55. CDXLInterleave = GETCLIP( "FREDCDXLInterleave" )
  56. IF (CDXLInterleave = "") THEN DO
  57.     ADPRO_TO_FRONT
  58.     OKAY1 "Required clip, FREDCDXLInterleave," || NL ||,
  59.         "is not specified."
  60.     SCREEN_TO_FRONT "FRED"
  61.     EXIT 10
  62. END
  63.  
  64. IF (CDXLInterleave = 1) THEN
  65.     CDXLInterleave = "INTERLEAVE"
  66. ELSE IF (CDXLInterleave = 0) THEN
  67.     CDXLInterleave = ""
  68.     
  69.  
  70. CDXLSaveType = GETCLIP( "FREDCDXLSaveType" )
  71. IF (CDXLSaveType = "") THEN DO
  72.     ADPRO_TO_FRONT
  73.     OKAY1 "Required clip, FREDCDXLSaveType," || NL ||,
  74.         "is not specified."
  75.     SCREEN_TO_FRONT "FRED"
  76.     EXIT 10
  77. END
  78.  
  79. CDXLLockPalette = GETCLIP( "FREDCDXLLockPalette" )
  80. IF (CDXLSaveType = "") THEN DO
  81.     ADPRO_TO_FRONT
  82.     OKAY1 "Required clip, FREDCDXLLockPalette," || NL ||,
  83.         "is not specified."
  84.     SCREEN_TO_FRONT "FRED"
  85.     EXIT 10
  86. END
  87.  
  88. CDXLAppend = GETCLIP( "FREDCDXLAppend" )
  89. IF (CDXLAppend = "") THEN DO
  90.     ADPRO_TO_FRONT
  91.     OKAY1 "Required clip, FREDCDXLAppend," || NL ||,
  92.         "is not specified."
  93.     SCREEN_TO_FRONT "FRED"
  94.     EXIT 10
  95. END
  96.  
  97.  
  98. IF (CDXLLockPalette = 0) THEN DO
  99.     PSTATUS LOCKED
  100.     IF (RC ~= 0) THEN DO
  101.         SCREEN_TO_FRONT "FRED"
  102.         EXIT 10
  103.     END
  104. END
  105.  
  106. ELSE IF (CDXLLockPalette = 1) THEN DO
  107.     PSTATUS UNLOCKED
  108.     IF (RC ~= 0) THEN DO
  109.         SCREEN_TO_FRONT "FRED"
  110.         EXIT 10
  111.     END
  112. END
  113.  
  114. /*
  115. ** Do the save.
  116. */
  117.  
  118. IF (CDXLAppend = 1) THEN DO
  119.     SAVER "CDXL" CDXLName "FRAMENUM" 1 CDXLSaveType CDXLInterleave 
  120.     CDXLAppend = 0
  121.     IF (RC ~= 0) THEN DO 
  122.         SCREEN_TO_FRONT "FRED"
  123.         EXIT 10
  124.     END
  125.     
  126. END
  127.  
  128. IF (CDXLAppend = 0) THEN DO
  129.     DO LoopCounter = 1 TO Length
  130.     SAVER "CDXL" CDXLName "FRAMENUM" "-1" CDXLSaveType CDXLInterleave
  131.     why = ADPRO_RESULT
  132.     IF (RC ~= 0) THEN DO
  133.         ADPRO_TO_FRONT
  134.         OKAY1 "CDXL save failed:" || NL || Why || NL ||,
  135.             "Argument Information:" || NL ||,
  136.             "Filename = " || CDXLName || NL ||,
  137.             "ImageType = " || CDXLSaveType || NL ||,
  138.             "Flags = " || "CDXLInter"
  139.         SAVER "CDXL" CDXLName "FRAMENUM" "-1" CDXLSaveType "QUIT"
  140.         IF (RC ~= 0) THEN DO
  141.             ADPRO_TO_FRONT
  142.             OKAY1 "Closing the CDXL file failed." || NL ||,
  143.                 "You will need to close the file" || NL ||,
  144.                 "manually with the control panel."
  145.         okay1 "about to exit"
  146.         EXIT 10
  147.         END
  148.     END
  149. END
  150.  
  151. EXIT 0
  152.  
  153.  
  154.  
  155.  
  156.  
  157.