home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / Converter / BK-ADPR3.DMS / in.adf / Loaders.lzx / Loaders2 / _VT_Grab < prev    next >
Encoding:
Text File  |  1996-03-20  |  2.6 KB  |  153 lines

  1. /*
  2. ** _VT_Grab
  3. **
  4. ** $VER: _VT_Grab 1.2.0 (30.12.93)
  5. **
  6. ** This program can be run from ADPro's loaders list to load one of the two
  7. ** Video Toaster frame buffer's contents into ADPro's image buffer.
  8. **
  9. ** This script required ADPro v2.5.0 (or higher).
  10. **
  11. ** Copyright © 1993 ASDG, Incorporated
  12. ** All Rights Reserved
  13. */
  14.  
  15.  
  16. OPTIONS FAILAT 20
  17. OPTIONS RESULTS
  18.  
  19. NL = '0A'X
  20. SQ = '27'X
  21. DQ = '22'X
  22. TRUE  = 1
  23. FALSE = 0
  24. TempFramestoreDir = "RAM:Framestore"
  25. TempFramestore = "RAM:Framestore/999.FS.ADProTemp"
  26.  
  27. IF (~SHOW( 'L', "ToasterARexx.port" )) THEN
  28.     ADDLIB( "ToasterARexx.port", -1 )
  29.  
  30. ADDRESS "ADPro"
  31.  
  32. IF (~SHOW( 'P', "ToasterARexx.port" )) THEN DO
  33.     ADPRO_TO_FRONT
  34.     OKAY1 "Switcher is not running."
  35.     CALL ErrorOut 10
  36. END
  37.  
  38. IF (~EXISTS( TempFramestoreDir )) THEN
  39.     ADDRESS COMMAND "MakeDir " || TempFramestoreDir
  40.  
  41. ADPRO_TO_FRONT
  42.  
  43. OKAYN '"_VT_Grab"' '"Load which framebuffer?"' '"DV1|DV2|Cancel"'
  44. IF (RC = 0) THEN DO
  45.     CALL ErrorOut 10
  46. END
  47. ELSE
  48.     buffer = 2 - RC
  49.  
  50. Switcher( TOSW )
  51. IF (buffer = 1) THEN DO
  52.     Switcher( MDV1 )
  53.     Switcher( PDV1 )
  54. END
  55. ELSE DO
  56.     Switcher( MDV2 )
  57.     Switcher( PDV2)
  58. END
  59.  
  60. oldFS = Switcher( FSNM )
  61. IF (oldFS = "RAM:") THEN
  62.     /*
  63.     ** IF FSDEV is already RAM:, just re-read it
  64.     */
  65.  
  66.     Switcher( FSBD )
  67. ELSE DO
  68.     /*
  69.     ** Change the FSDEV to RAM:
  70.     */
  71.  
  72.     IF (Switcher( FSDV, "RAM:" ) ~= SWITCHER) THEN DO
  73.         Switcher( TOWB )
  74.         ADPRO_TO_FRONT
  75.         OKAY1 "Could not change Framestore device."
  76.         CALL ErrorOut 10
  77.     END
  78. END
  79.  
  80.  
  81. /*
  82. ** Make sure the frame isn't there already
  83. */
  84.  
  85. FS = Switcher( FMXI, 999 )
  86. IF (FS = 1) THEN DO
  87.     /*
  88.     ** oops!  already exists!
  89.     */
  90.  
  91.     Switcher( TOWB )
  92.     ADPRO_TO_FRONT
  93.  
  94.     OKAYN '"_VT_Grab"' '"Frame 999 already exists.  Delete it?"' '"Delete|Cancel"'
  95.     IF (RC = 0) THEN
  96.         CALL ErrorOut 10
  97.     ELSE IF (Switcher( FMDL, 999 ) ~= SWITCHER) THEN DO
  98.         ADPRO_TO_FRONT
  99.         OKAY1 "Could not delete frame."
  100.         CALL ErrorOut 10
  101.     END
  102.     ELSE
  103.         Switcher( TOSW )
  104. END
  105.  
  106. IF (Switcher( FMSV, 999, "ADProTemp" ) ~= SWITCHER) THEN DO
  107.     Switcher( TOWB )
  108.     ADPRO_TO_FRONt
  109.     OKAY1 "Error saving temporary file."
  110.     CALL ErrorOut 10
  111. END
  112.  
  113. Switcher( TOWB )
  114.  
  115. LOADER "FRAMESTORE" TempFramestore
  116. IF (RC ~= 0) THEN DO
  117.     ADPRO_TO_FRONT
  118.     OKAY1 "Error loading temporary file."
  119.     CALL ErrorOut 10
  120. END
  121.  
  122.  
  123. /*
  124. ** Reset FSDEV to what it was before
  125. */
  126.  
  127. Switcher( FSDV, oldFS )
  128.  
  129.  
  130. CALL ErrorOut 0
  131.  
  132.  
  133. ErrorOut:
  134.     PARSE ARG ExitCode
  135.  
  136.     IF (EXISTS( TempDefaults )) THEN DO
  137.         LOAD_DEFAULTS TempDefaults
  138.         IF (RC ~= 0) THEN DO
  139.             ADPRO_TO_FRONT
  140.             OKAY1 "Error restoring settings."
  141.         END
  142.  
  143.         ADDRESS COMMAND "Delete >NIL:" TempDefaults
  144.     END
  145.  
  146.     IF (EXISTS( TempFramestore )) THEN
  147.         ADDRESS COMMAND "Delete >NIL:" TempFramestore
  148.  
  149.     IF (oldFS ~= "OLDFS") THEN
  150.         Switcher( FSDV, oldFS )
  151.  
  152.     EXIT ExitCode
  153.