home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / Raytracing / Objects / TAI-HFX1.LHA / hfx / dbc / GETSEQ.REXX < prev    next >
Encoding:
OS/2 REXX Batch file  |  1995-04-12  |  2.9 KB  |  129 lines

  1. /*
  2. ** DBC/GETSEQ.REXX
  3. **
  4. ** $VER: DBC/GETSEQ.REXX 1.0.0 (17.03.95)
  5. **
  6. ** This ARexx script is for use with Hollywood FX.  
  7. ** It will extract a frame from a Digital Broadcaster
  8. ** J-Stream file.
  9. **
  10. ** This script requires ADPro v2.5.0 (or higher).
  11. **
  12. ** Copyright © 1994 Synergy International, Incorporated
  13. ** All Rights Reserved
  14. ** 
  15. ** The following copyright notice applies to the Locate-ADPro
  16. ** code included in this script:
  17. **
  18. ** Copyright © 1991-1993 ASDG, Incorporated
  19. ** All Rights Reserved
  20. */
  21.  
  22. OPTIONS RESULTS
  23.  
  24. /******************************************************/
  25. /* User Definitions                                   */
  26. /******************************************************/
  27.  
  28. Extracter = "Producer:Tools/ExtractJPEG"
  29.  
  30. /******************************************************/
  31. /* Start of Script                                    */
  32. /******************************************************/
  33.  
  34. /*** Parse arguments sent from Hollywood FX ***/
  35.  
  36. PARSE ARG stream ',' frame ',' outname
  37.  
  38.  
  39. /*** Check if ADPro is loaded, if not try to load ***/
  40.  
  41. CALL Locate_ADPro
  42.  
  43. /*** Could not load ADPro, exit script ***/
  44.  
  45. IF (RESULT = 0) THEN
  46.   EXIT 10
  47.  
  48. /******************************************************************************/
  49.  
  50. /*** Frames start from 0, so subtract 1 from our frame number ***/
  51.  
  52. frame = frame - 1
  53.  
  54. /*** Get names of each field of stream ***/
  55.  
  56. Field0 = LEFT(stream, LENGTH(stream) - 4) || ".JF0"
  57. Field1 = LEFT(stream, LENGTH(stream) - 4) || ".JF1"
  58.  
  59. /*** Extract first frame to get frame size ***/
  60.  
  61. ADDRESS "COMMAND"
  62. Extracter stream 0
  63.  
  64. /*** Set all values for JPEG Loader in ADPro ***/
  65.  
  66. ADDRESS "ADPro"
  67. LOADER "JPEG" Field0
  68.  
  69. XSIZE
  70. Horz = ADPRO_RESULT
  71. IF (Horz ~= 720) THEN DO
  72.   TempField = Field0
  73.   Field0 = Field1
  74.   Field1 = TempField
  75.   END
  76.   
  77. YSIZE
  78. Vert = ADPRO_RESULT
  79. Vert = Vert * 2
  80.  
  81. /*** Extract the frame as a JPEG image ***/
  82.  
  83. ADDRESS "COMMAND"
  84. Extracter stream frame
  85.  
  86. /*** Now use ADPro to convert it to an IFF24 image ***/
  87.  
  88. ADDRESS "ADPro"
  89. LOAD_TYPE REPLACE
  90. LOADER "BACKDROP" "XXX" WIDTH Horz HEIGHT Vert "COLOR"
  91. LOAD_TYPE COMPOSE
  92. LOADER "JPEG" Field1 0 0
  93. LOADER "JPEG" Field0 0 (Vert / 2)
  94. OPERATOR "INTERLACE"
  95. SAVER "IFF" outname "RAW"
  96.  
  97. EXIT (0)
  98.  
  99. /******************************************************************************/
  100.   
  101. /*** Locate_ADPro function provided by ASDG, Inc. ***/
  102.  
  103. Locate_ADPro:
  104.     Max_Seconds_To_Load = 60
  105.     Flag = 0
  106.     LibName = 'rexxsupport.library'
  107.  
  108.     IF (POS( LibName, SHOW( 'Libraries' ) ) = 0) THEN
  109.         ADDLIB( LibName, 0, -30, 0 )
  110.     IF (POS( LibName, SHOW( 'Libraries' ) ) = 0) THEN
  111.         RETURN 0
  112.  
  113.     IF (STATEF( 'ADPRO:' ) = "") THEN
  114.         RETURN 0
  115.  
  116.     TIME( 'R' )
  117.     DO WHILE (TIME( 'E' ) < Max_Seconds_To_Load) & (POS( 'ADPro', SHOW( 'Ports' ) ) = 0)
  118.         IF (Flag = 0) THEN DO
  119.             /* Set whatever command line arguments you want. */
  120.             ADDRESS COMMAND 'Run < NIL: > NIL: ADPRO:ADPro MINIMIZED'
  121.             Flag = 1
  122.         END
  123.         ADDRESS COMMAND 'Wait 1'
  124.     END
  125.     IF (POS( 'ADPro', SHOW( 'Ports' ) ) = 0) THEN
  126.         RETURN 0
  127.     ELSE
  128.         RETURN 1
  129.