home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / EDG-CT1.DMS / in.adf / CT.run / Scripts / 1 / Clips / Frames / ClipToSGI < prev   
Encoding:
Text File  |  1995-10-16  |  4.3 KB  |  181 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 SGI
  7. 02= 
  8. 03=This script will take Flyer Clips and
  9. 04=split them into individual SGI frames.
  10. 05=You can select which frames to pull and
  11. 06=also do more than one clip in the process.
  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.  
  20. InFile = Translate(InFile," ","ยค")
  21. InFile = strip(InFile)
  22. DriveName = "RAM:"
  23. TempDir = FindTemp()
  24. TempDirFile = TempDir"CT-Temp"
  25. if FileNum = 1 & WhichScript = 1 then do
  26.     address command "C:Assign HIIP: Toaster:Programs/hiip_support"
  27.     do i = 1 to TotalNum
  28.         blank = "Select Path & BaseName For Frames From Clip #"i"!    "
  29.         OutPath.i = GetPath(blank,DriveName)
  30.         DriveName = GetPathName(OutPath.i)
  31.         Name = GetFileName(OutPath.i)
  32.         if Name = "" then do
  33.             Address CT_1 OK_TEXT " OK "
  34.             Title = "You Must Enter A Valid Name For Frames!"
  35.             Address CT_1 FYINT Title
  36.             Address CT_1 Abort
  37.             Address CT_1 Quit
  38.             exit
  39.             end
  40.         Address CT_1 GetScriptFileName i-1
  41.         FileName = result
  42.         Address CT_1 GetClipLength FileName
  43.         End = result
  44.         Address CT_1 StartNum "0"
  45.         Address CT_1 EndNum End
  46.         Address CT_1 CurrentNum "0"
  47.         Address CT_1 GetTimeNT "Select A Range Of Frames To Process!"
  48.         Start.i = word(result,1)
  49.         End.i = word(result,2)
  50.         end
  51.     if OutPath.1 = "" then do
  52.         Address CT_1 OK_TEXT " OK "
  53.         Title = "You Must Enter A Valid Path For Frames!"
  54.         Address CT_1 FYINT Title
  55.         Address CT_1 Abort
  56.         Address CT_1 Quit
  57.         exit
  58.         end
  59.     call open TempFile,"RAM:CT-CTFS",W
  60.     do i = 1 to TotalNum
  61.         call writeln TempFile,OutPath.i
  62.         call writeln TempFile,Start.i
  63.         call writeln TempFile,End.i
  64.         end
  65.     call close TempFile
  66.     end
  67. else do
  68.     call open TempFile,"RAM:CT-CTFS",R
  69.     do i = 1 to TotalNum
  70.         line = readln(TempFile)
  71.         parse var line OutPath.i
  72.         OutPath.i = strip(OutPath.i)
  73.         line = readln(TempFile)
  74.         parse var line Start.i
  75.         line = readln(TempFile)
  76.         parse var line End.i
  77.         end
  78.     call close TempFile
  79.     end
  80.  
  81. call Routine
  82.  
  83. exit
  84.  
  85.  
  86. GetPathName: procedure  
  87.    ARG CompleteName
  88.    c = lastpos("/",CompleteName)
  89.    if c = 0 then c = lastpos(":",CompleteName)
  90.    return left(CompleteName,c)
  91.  
  92.  
  93. GetFileName: procedure  
  94.    ARG CompleteName
  95.    c = lastpos("/",CompleteName)
  96.    if c = 0 then c = lastpos(":",CompleteName)
  97.    return substr(CompleteName, c + 1)
  98.  
  99.  
  100. GetPath:
  101.     parse Arg Title, Path
  102.     Address CT_1 SetString Path
  103.     Address CT_1 GetFileNameNT Title
  104. return result
  105.  
  106.  
  107.  
  108. Routine:
  109.     TOASTERLIB="ToasterARexx.port"
  110.     call remlib(TOASTERLIB)
  111.     call remlib('PROJECT_REXX_PORT')
  112.     call addlib('PROJECT_REXX_PORT' , 0)
  113.     call addlib(TOASTERLIB,0)
  114.     if FileNum = 1 then
  115.         call Set_View(2)
  116.     call Switcher(M003)
  117.     call Switcher(P003)
  118.     Address CT_1 StartNum Start.FileNum
  119.     Address CT_1 EndNum End.FileNum
  120.     do i = Start.FileNum to End.FileNum
  121.         OutName = GetFileName(InFile)
  122.         NewName = OutPath.FileNum""right(i,3,"0")
  123.         if i > 999 then
  124.             NewName = OutPath.FileNum""right(i,4,"0")
  125.         if i > 9999 then
  126.             NewName = OutPath.FileNum""right(i,5,"0")
  127.         call Switcher(M003)
  128.         Address command "toaster:programs/flyer_support/c/playclip 0 0 0 "InFile" "d2x(i)" 1 0 1 0"
  129.         Address command "C:Wait 1"
  130.         Address CT_1 ClickMouse "639|329"
  131.         call Switcher(MDV1)
  132.  
  133.         Address CT_1 UpDate_Loop i
  134.         if result = 0 then do
  135.             Address CT_1 Abort
  136.             Address CT_1 Quit
  137.             end
  138.         address command "C:wait 2"
  139.         call Switcher(FMSV,TempDirFile,4)
  140.         Address CT_1 UpDate_Loop i
  141.         if result = 0 then do
  142.             Address CT_1 Abort
  143.             Address CT_1 Quit
  144.             end
  145.         Address CT_1 OpenMessageNT "Gnusto Program Is Now Converting File!"
  146.         address command "C:Gnusto >NIL: "TempDirFile" "NewName" image saver SGI sy "value(0)" sx "value(752)" sn bestup"
  147.         Address CT_1 CloseMessageNT
  148.     end
  149.     Address CT_1 UpDate
  150.     if result = 0 then do
  151.         Address CT_1 Abort
  152.         Address CT_1 Quit
  153.         end
  154.     if FileNum = TotalNum then do
  155.         address command "Delete >NIL: RAM:CT-CTFS"
  156.         address command "Delete >NIL: "TempDirFile
  157.         end
  158.     if FileNum = TotalNum then
  159.         call Set_View(0)
  160.     Address CT_1 Quit
  161. return
  162.  
  163.  
  164. FindTemp:
  165.     call open TempFile,"RAM:CT-Dir",R
  166.     TempPath = readln(TempFile)
  167.     call close TempFile
  168. return TempPath
  169.  
  170.  
  171. syntax:
  172. error:
  173.     Address CT_1 OK_TEXT " OK "
  174.     Title = "An Error Was Found With This Script On Line #"SIGL"!"
  175.     Address CT_1 CloseMessageNT
  176.     Address CT_1 FYINT Title
  177.     Address CT_1 Abort
  178.     Address CT_1 Quit
  179. exit
  180.  
  181.