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

  1. /*
  2. ** ModifyFilenameSelect
  3. **
  4. ** $VER: ModifyFilenameSelect 1.2.0 (5.11.93)
  5. **
  6. ** This ARexx script contains a function which select the type of filename
  7. ** modification that will be done.  This script must be used in conjunction
  8. ** with the ModifyFilename script.
  9. **
  10. ** INPUTS
  11. **    DefFNameExt -- default filename extension.
  12. **    DefFrameNumDigits -- default number of digits in frame number.
  13. **    MinFrameNumDigits -- minimum number of digits in frame number.
  14. **    MaxFrameNumDigits -- maximum number of digits in frame number.
  15. **
  16. ** RETURN
  17. **    ModifyFNameStr -- string describing how to modify the filename.
  18. **
  19. ** This script should work with current versions of ARexx.
  20. **
  21. ** Copyright © 1992-1993 ASDG, Incorporated
  22. ** All Rights Reserved
  23. */
  24.  
  25.  
  26. ADDRESS "ADPro"
  27. OPTIONS RESULTS
  28.  
  29. NL = '0A'X
  30. SQ = '27'X
  31. DQ = '22'X
  32. TRUE  = 1
  33. FALSE = 0
  34.  
  35. PARSE ARG Arguments
  36. PARSE VAR Arguments '"'DefFNameExt'"' DefFrameNumDigits MinFrameNumDigits MaxFrameNumDigits
  37.  
  38. DefFNameExt = SQ || DQ || DefFNameExt || DQ || SQ
  39.  
  40. ModifyFNameType.0 = "Use current filename"
  41. ModifyFNameType.1 = "Remove extension"
  42. ModifyFNameType.2 = "Replace extension with ???"
  43. ModifyFNameType.3 = "Replace extension with frame #"
  44. ModifyFNameType.4 = "Replace filename with ???"
  45. ModifyFNameType.5 = "Replace filename with frame #"
  46. ModifyFNameType.6 = "Replace filename with ???.frame #"
  47. ModifyFNameType.7 = "Prepend ???"
  48. ModifyFNameType.8 = "Prepend frame #"
  49. ModifyFNameType.9 = "Append ???"
  50. ModifyFNameType.10 = "Append frame #"
  51. ModifyFNameType.11 = "Make Framestore filename"
  52.  
  53. MinModifyFNameType = 0
  54. MaxModifyFNameType = 11
  55. DefModifyFNameType = 0
  56.  
  57. String = DQ || ModifyFNameType.DefModifyFNameType || DQ
  58. DO LoopCounter = MinModifyFNameType TO MaxModifyFNameType
  59.     String = String DQ || ModifyFNameType.LoopCounter || DQ
  60. END
  61.  
  62. ADPRO_TO_FRONT
  63.  
  64. continue = TRUE
  65. DO WHILE (continue = TRUE)
  66.     LISTVIEW '"Filename Treatment:"' (MaxModifyFNameType-MinModifyFNameType+1) ITEMS String
  67.     LISTVIEW_RC = RC
  68.     PARSE VAR ADPRO_RESULT '"'ModifyFNameStr'"' scratch
  69.  
  70.     IF (LISTVIEW_RC ~= 0) & (LISTVIEW_RC ~= 1) THEN DO
  71.         ADPRO_TO_FRONT
  72.  
  73.         OKAYN '"ModifyFilenameSelect"' '"This value is required."' '"Retry|Cancel"'
  74.         IF (RC = 0) THEN
  75.             EXIT 10
  76.  
  77.         SCREEN_TO_FRONT "FRED"
  78.     END
  79.     ELSE
  80.         continue = FALSE
  81. END
  82.  
  83. ModifyFNameMode = MinModifyFNameType
  84. DO WHILE (ModifyFNameMode < MaxModifyFNameType) & (COMPARE( ModifyFNameType.ModifyFNameMode, ModifyFNameStr ) ~= 0)
  85.     ModifyFNameMode = ModifyFNameMode + 1
  86. END
  87.  
  88. IF (ModifyFNameMode = 2) THEN DO
  89.     /*
  90.     ** Replace extension with ???
  91.     */
  92.     CALL "FREDSCRIPTS:FREDFunctions/GetAString" '"Replace extension with"' DefFNameExt TRUE
  93.     FNameExt = RESULT
  94. END
  95. ELSE IF (ModifyFNameMode = 4) THEN DO
  96.     /*
  97.     ** Replace filename with ???
  98.     */
  99.     CALL "FREDSCRIPTS:FREDFunctions/GetAString" '"Replace filename with"' DefFNameExt TRUE
  100.     FNameExt = RESULT
  101. END
  102. ELSE IF (ModifyFNameMode = 7) THEN DO
  103.     /*
  104.     ** Prepend ???
  105.     */
  106.     CALL "FREDSCRIPTS:FREDFunctions/GetAString" '"Prepend filename with"' DefFNameExt TRUE
  107.     FNameExt = RESULT
  108. END
  109. ELSE IF (ModifyFNameMode = 9) THEN DO
  110.     /*
  111.     ** Append ???
  112.     */
  113.     CALL "FREDSCRIPTS:FREDFunctions/GetAString" '"Append filename with"' DefFNameExt TRUE
  114.     FNameExt = RESULT
  115. END
  116. ELSE IF (ModifyFNameMode = 3) | (ModifyFNameMode = 5) | (ModifyFNameMode = 6) | (ModifyFNameMode = 8) | (ModifyFNameMode = 10) THEN DO
  117.     /*
  118.     ** Replace extension with frame number
  119.     ** Replace filename with frame number
  120.     ** Replace filename with ???.frame number
  121.     ** Prepend frame number
  122.     ** Append frame number
  123.     */
  124.     IF (ModifyFNameMode = 6) THEN DO
  125.         /*
  126.         ** Replace filename with ???.frame number
  127.         */
  128.         CALL "FREDSCRIPTS:FREDFunctions/GetAString" '"Replace with base name"' '"image"' TRUE
  129.         FNameExt = RESULT
  130.     END
  131.  
  132.     ADPRO_TO_FRONT
  133.  
  134.     OKAYN '"ModifyFilenameSelect"' '"Increment current frame number?"' '"Enter Increment|Use Current Number|Cancel"'
  135.     IF (RC = 0) THEN DO
  136.         SCREEN_TO_FRONT "FRED"
  137.         EXIT 10
  138.     END
  139.     ELSE IF (RC = 1) THEN DO
  140.         CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"Frame # increment"' 1 0 100 TRUE
  141.         FrameNumIncr = RESULT
  142.         IF (FrameNumIncr = (0-1)) THEN
  143.             EXIT 10
  144.     END
  145.     ELSE IF (RC = 2) THEN
  146.         FrameNumIncr = 0
  147.  
  148.     ADPRO_TO_FRONT
  149.  
  150.     OKAYN '"ModifyFilenameSelect"' '"Prepend frame # with zeros?"' '"Prepend Zeros|Don''t Prepend|Cancel"'
  151.     IF (RC = 0) THEN DO
  152.         SCREEN_TO_FRONT "FRED"
  153.         EXIT 10
  154.     END
  155.     ELSE IF (RC = 1) THEN DO
  156.         ZeroPrepend = TRUE
  157.  
  158.         CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"#Digits in frame number"' DefFrameNumDigits MinFrameNumDigits MaxFrameNumDigits TRUE
  159.         ZeroPrependChars = RESULT
  160.         IF (ZeroPrependChars = (MinFrameNumDigits-1)) THEN
  161.             EXIT 10
  162.     END
  163.     ELSE IF (RC = 2) THEN DO
  164.         ZeroPrepend = FALSE
  165.  
  166.         ZeroPrependChars = 0
  167.     END
  168. END
  169. ELSE IF (ModifyFNameMode = 11) THEN DO
  170.     /*
  171.     ** Make Framestore filename
  172.     */
  173.  
  174. /*
  175.     +++use OKAYN
  176.  
  177.     CALL "FREDSCRIPTS:FREDFunctions/GetABool" '"Use embedded frame number"' '"to reuse file''s number"' '"to use current number"'
  178.     IF (RESULT = TRUE) THEN
  179.         FrameNumIncr = (0-1)
  180.     ELSE
  181.         FrameNumIncr = 0
  182.  
  183.     CALL "FREDSCRIPTS:FREDFunctions/GetABool" '"Use embedded description"' '"to reuse file''s desc."' '"to replace with string"'
  184.     IF (RESULT = TRUE) THEN DO
  185.         CALL "FREDSCRIPTS:FREDFunctions/GetAString" '"Enter description"' "Untitled" TRUE
  186.         FNameExt = RESULT
  187.     END
  188.     ELSE
  189.         FNameExt = "???"
  190. */
  191.     FrameNumIncr = 0
  192.  
  193.     CALL "FREDSCRIPTS:FREDFunctions/GetAString" '"Enter Framestore basename"' "Untitled" TRUE
  194.     FNameExt = RESULT
  195. END
  196.  
  197.  
  198. /*
  199. ** Ask if the file should be relocated to a different directory.
  200. */
  201.  
  202. ADPRO_TO_FRONT
  203.  
  204. OKAYN '"ModifyFilenameSelect"' '"Move processed image?"' '"Keep in Same Directory|Move to New Directory|Cancel"'
  205. IF (RC = 0) THEN DO
  206.     SCREEN_TO_FRONT "FRED"
  207.     EXIT 10
  208. END
  209. ELSE IF (RC = 1) THEN DO
  210.     SameDirID = TRUE
  211.     NewDir = "XXX"
  212. END
  213. ELSE IF (RC = 2) THEN DO
  214.     SameDirID = FALSE
  215.     CALL "FREDSCRIPTS:FREDFunctions/GetADir" '"Select new directory"' '"ADPRO:"' TRUE
  216.     IF (RESULT = DQ||DQ) THEN
  217.         EXIT 10
  218.     ELSE
  219.         NewDir = RESULT
  220. END
  221.  
  222. SCREEN_TO_BACK "FRED"
  223.  
  224. ModifyFNameStr = ModifyFNameMode DQ || FNameExt || DQ ZeroPrependChars FrameNumIncr SameDirID DQ || NewDir || DQ
  225.  
  226. RETURN ModifyFNameStr
  227.  
  228. EXIT 0
  229.