home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / EDG-CT1.DMS / in.adf / CT.run / Scripts / 2 / Clips / Frames / ClipToFS-Frames < prev    next >
Encoding:
Text File  |  1995-10-09  |  4.9 KB  |  227 lines

  1. /*
  2.                         Control Tower Arexx Script
  3.                            Written By J.L. White
  4.                          (C)1995 Merlin's Software
  5. Lines=6
  6. 01=Clip To FS Frames
  7. 02= 
  8. 03=This script will take Flyer Clips and will
  9. 04=load them into Toaster Paint then process
  10. 05=whatever options the user selects then save
  11. 06=the Frames out as FrameStores.
  12.  
  13. */
  14.  
  15. parse arg InFile FileNum TotalNum FrameRepeat WhichScript TotalScript Times Select
  16. signal on error
  17. signal on syntax
  18. options results
  19. InFile = Translate(InFile," ","ยค")
  20. DriveName = FindDrive()
  21. CR = '0A'x
  22.  
  23. if FileNum = 1 then do
  24.     Address "DigiPaint"
  25.     Address command "C:Wait 2"
  26.     Address CT_1 ScreenToFront
  27.     Address CT_1 SetString "CT:Scripts2/2/"
  28.     Address CT_1 GetMultiName "Select Options (Hold Shift Key Down For Multiple Process!)      "
  29.     do i = 1 to TotalNum
  30.         Address CT_1 GetScriptFileName i-1
  31.         FileName = result
  32.         blank = "Select Path & BaseName For Frames From "FileName"!"
  33.         OutFile.i = GetFile(blank,"RAM:")
  34.         end
  35.     Name = GetFileName(OutFile.1)
  36.     if Name = "" then do
  37.         Address CT_1 OK_TEXT " OK "
  38.         Title = "You Must Enter A Valid Name For Frames!"
  39.         Address CT_1 FYI Title
  40.         Address CT_1 Abort
  41.         Address CT_1 Quit
  42.         exit
  43.         end
  44.  
  45.     do i = 1 to TotalNum
  46.         Address CT_1 GetScriptFileName i-1
  47.         FileName = result
  48.         Address CT_1 GetClipLength FileName
  49.         End = result+1
  50.  
  51.         Address CT_1 ConvertNum End
  52.         TimeCode = result
  53.         Address CT_1 OK_TEXT " OK "
  54.         NewCode = GetTextTC("Enter Starting Time Code For\"center(FileName,28," ")"\ 00:00:00:00 to "TimeCode"","00:00:00:00")
  55.         Address CT_1 ConvertTC NewCode
  56.         Start.i = result
  57.  
  58.         Address CT_1 OK_TEXT " OK "
  59.         NewCode = GetTextTC("Enter Ending Time Code For\"center(FileName,26," ")"\00:00:00:00 to "TimeCode"",TimeCode)
  60.         Address CT_1 ConvertTC NewCode
  61.         End.i = result
  62.         end
  63.  
  64.     Address CT_1 OpenMessage "Hit ^C To Abort Process!"
  65.     address command "C:Wait 3"
  66.     Address CT_1 CloseMessage 
  67.     call open TempFile,"RAM:CT-TP",W
  68.     do i = 1 to TotalNum
  69.         call writeln TempFile,OutFile.i
  70.         call writeln TempFile,Start.i
  71.         call writeln TempFile,End.i
  72.         end
  73.     call close TempFile
  74.     end
  75. else do
  76.     call open TempFile,"RAM:CT-TP",R
  77.     do i = 1 to TotalNum
  78.         line = readln(TempFile)
  79.         parse var line OutFile.i
  80.         OutFile.i = strip(OutFile.i)
  81.         line = readln(TempFile)
  82.         parse var line OutFile.i
  83.         Start.i = strip(OutFile.i)
  84.         line = readln(TempFile)
  85.         parse var line OutFile.i
  86.         End.i = strip(OutFile.i)
  87.         end
  88.     call close TempFile
  89.     end
  90.  
  91. InFile = strip(InFile)
  92.  
  93. call Routine
  94.  
  95. exit
  96.  
  97.  
  98. GetTextTC:
  99.     parse Arg Title, Text
  100.     Address CT_1 SetString Text
  101.     Address CT_1 GetStringTC Title
  102. return result
  103.  
  104. GetFileName: procedure  
  105.    parse ARG CompleteName
  106.    c = lastpos("/",CompleteName)
  107.    if c = 0 then c = lastpos(":",CompleteName)
  108.    return substr(CompleteName, c + 1)
  109.  
  110.  
  111. GetPathName: procedure  
  112.    parse ARG CompleteName
  113.    c = lastpos(":",CompleteName)
  114.    if c = 0 then c = lastpos(":",CompleteName)
  115.    return left(CompleteName,c)
  116.  
  117. GetFile:
  118.     parse Arg Title, Path
  119.     Address CT_1 SetString Path
  120.     Address CT_1 GetFileName Title
  121. return result
  122.  
  123.  
  124. YesOrNo: procedure
  125.     parse Arg Title,Yes,No
  126.     Address CT_1 OK_TEXT Yes
  127.     Address CT_1 CANCEL_TEXT No
  128.     Address CT_1 AskYesNo Title
  129.     if result = "OK" then YesNo = 2
  130.     else YesNo = 1
  131. return YesNo
  132.  
  133.  
  134. SavePic: procedure
  135.   parse arg file
  136.   'Saco'
  137.   'Frbx'
  138.   dirname=GetPathName(file)
  139.   'Dnam'dirname
  140.   'Dsel' 
  141.   filename=GetFileName(file)
  142.   'Fnam'filename
  143.   'Okls' 
  144. return
  145.  
  146.  
  147. LoadClip: procedure
  148.   arg file
  149.   'Proc'
  150.   'Slcp'
  151.   dirname=GetPathName(file)
  152.   'Dnam'dirname
  153.   filename=GetFileName(file)
  154.   'Fnam'filename
  155.   'Okls' 
  156. return
  157.  
  158. Routine:
  159.     Address "DigiPaint"
  160.     call LoadClip(InFile)
  161.     Start = Start.FileNum
  162.     End = End.FileNum
  163.     if ~open('Window','RAW:'0'/'0'/'640'/'150'/Control Tower - Hit Control-C to Abort/NOSIZE/SCREEN','W') then do
  164.         address CT_1 Abort
  165.         address CT_1 Quit
  166.             exit
  167.         end
  168.     if Start ~= 0 then do
  169.         'Snfd'
  170.         do i = 1 to Start-1
  171.             'Snfd'
  172.             'Snfd'
  173.             end
  174.         end
  175.     ii = 0
  176.     do i = Start to End
  177.           call writech('Window',"Processing Frame #"i""CR)
  178.         'Gnfm'
  179.         call SubRoutine(FileNum,TotalNum)
  180.         ii = ii +1
  181.         SaveName = OutFile.FileNum""right(ii,3,'0')
  182.         if ii > 999 then 
  183.             SaveName = OutFile.FileNum""right(ii,4,'0')
  184.         if ii > 9999 then 
  185.             SaveName = OutFile.FileNum""right(ii,5,'0')
  186.         call SavePic(SaveName)
  187.         end
  188.     Address CT_1 Quit
  189.  
  190. return
  191.  
  192. FindDrive:
  193.     address command "C:Info >RAM:CT-List"
  194.     call open TempFile,"RAM:CT-List",R
  195.     do until eof(TempFile)
  196.         line = readln(TempFile)
  197.         parse var line Drive" "Rest
  198.         if Drive = "FA0:" then 
  199.             Volume = word(Rest,7)":"
  200.     end
  201.     call close TempFile
  202. return Volume
  203.  
  204.  
  205. SubRoutine:
  206.     parse Arg Num,TotalNum
  207.     call open TempFile,"Ram:CT-LIST",R
  208.     do until eof(TempFile)
  209.         DoIt = readln(TempFile)
  210.         if DoIt ~= "" then
  211.             address command "SYS:rexxc/rx >NIL: "DoIt" "Num" "TotalNum
  212.         end
  213.     call close TempFile
  214. return
  215.  
  216.  
  217. syntax:
  218. error:
  219.     Address CT_1 OK_TEXT " OK "
  220.     Title = "An Error Was Found With This Script On Line #"SIGL"!"
  221.     if SIGL ~= 177 & SIGL ~= 93 then 
  222.         Address CT_1 FYI Title
  223.     Address CT_1 Abort
  224.     Address CT_1 Quit
  225. exit
  226.  
  227.