home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games Extra 1996 May / Amiga_Games_Extra_CD_5-96.bin / rexx / show_dt.dopus5 < prev    next >
Text File  |  1996-02-01  |  5KB  |  172 lines

  1. /* Programm: SHOW_DT.dopus5
  2. ** $VER: SHOW_DT.dopus5 0.6 Beta (30-Jan-96)
  3. **
  4. ** 
  5. ** Needed: Directory Opus V5.xx (© by Jonathan Potter & GPSoftware)
  6. **         amipeg05
  7. **       
  8. ** optional: PeggyPlus MPEG-Card (© Ingenierbuero Helfrich)
  9. **
  10. ** Copyright © 1995 Eckhard Ludwig (Eckhard@top.east.de)
  11. ** SHOW_DT.dopus5 is freeware. It may be distributed freely.
  12. **
  13. ** Show grafik, video & animation from DOpus5. Only for DOpus5-filetypes,
  14. **
  15. **
  16. ** Call as:
  17. ** --------------------------------------------------------------------------
  18. ** (Doubleklick)   ARexx DOpus5:ARexx/SHOW_DT.dopus5 {f} {Qp} {Ql}
  19. ** --------------------------------------------------------------------------
  20. ** Set Attribut: "Run asynchron" (Asynchroner Start)
  21. **
  22. */
  23.  
  24. /*--------S E T T I N G S : -------------------------------------------*/
  25. /* If the file ENV:SHOW_opus5.prefs exists, that one will override the   */
  26. /* settings here ...                                                   */
  27.  
  28. /*- Path to viewer command ----------------------------------------*/
  29. MPEGP = "C:mpeg_play.040"   /* amipeg05 MPEG Softwareplayer */
  30. MPEG_OPT  = "-dither cybergfx -modeid 40120051" 
  31.  
  32. cdxlP = "C:cdgsxl"
  33. cdxl_opt = "dosxl blit multipal xlspeed 150 nopointer lmbabort"
  34.  
  35. CybTV = "C:CyberTVPlayer"
  36.  
  37. QTP = "C:XANIM"
  38. QT_OPT = "+Ak"
  39.  
  40. AVI1 = "C:TAPAVI"
  41. AVI1_OPT = "SOUND"
  42.  
  43. AVI2 = "C:XANIM"
  44. AVI2_OPT = "+Ak"
  45.  
  46. FLCP = "C:FLICK"
  47. FLC_OPT = "ROM DISK"
  48.  
  49. FLIP = "C:FLICK"
  50. FLI_OPT = "ROM DISK"
  51.  
  52. parse arg '"' Titel '"' portname handle
  53.  
  54. if portname='' then
  55.    portname='DOPUS.1'
  56.  
  57. options results
  58. options failat 21
  59. lf='0a'x
  60.  
  61. Index  = 'T:PlayDOpus5Index.temp' /*Name entspricht PlayHifi.dopus5 !*/
  62.  
  63. if ~show('l','rexxsupport.library') then
  64.     call addlib('rexxsupport.library',0,-30,0)
  65.  
  66. /* init locale */
  67. if ~show(l,'locale.library') then
  68.         call addlib('locale.library',0,-30)
  69. if show(l,'locale.library') then
  70.         catalog=opencatalog('SHOW_dopus5.catalog','english',0)
  71.  
  72. if open(1,'env:SHOW_opus5.prefs','R') then do
  73.    do i=1 to 3
  74.     prefs.i = readln(1)
  75.         end
  76.    if prefs.2 ~="" then MPEGP=prefs.2
  77.    if prefs.3 ~="" then MPEG_OPT=prefs.3
  78.    drop prefs.
  79.    call close(1)
  80.    end
  81.  
  82. address value portname
  83. dopus getfiletype '"'Titel'"' id
  84. DT=result
  85.  
  86. select
  87.   when DT="MPEG1" | DT="MPG" then do
  88.     if showlist("A","PEGGYPLUS")=1 then do
  89.       if ~show('P','Peggy') & ~show('P','rexx_ScalaMM') then do
  90.         call pragma('STACK',8192)
  91.         address command
  92.     'RUN >NIL: <NIL: PEGGYPLUS:MPEGPlayer'
  93.         'waitforport Peggy'
  94.         address value portname
  95.         dopus front
  96.       end
  97.     end
  98.     if show('P','Peggy') then do
  99.     if exists(Index) then do
  100.            if ~delete(Index) then do
  101.            dopus front
  102.            dopus request '"'getcatstr(0,'Error:'lf'Hifi-Player or Peggy-Plus in use !')'"' getcatstr(1,'Quit')
  103.         exit
  104.        end
  105.     end
  106.       address 'Peggy'
  107.       OPEN '"'Titel'"'
  108.       'OUTPUT FULLSCREEN'
  109.       'PLAY async'
  110.       exit
  111.       end
  112.     else do
  113.         if DT="MPEG1" then do
  114.             dopus front
  115.             dopus request '"'getcatstr(3,'Error:'lf'MPEG1 (video and audio) data found !'lf'MPEG1 needed PeggyPlus MPEG-Card.')'"' getcatstr(1,'Quit')
  116.         exit 
  117.         end
  118.     end
  119.     Player=MPEGP
  120.   end
  121.   when DT="CDXL" then Player=cdxlP
  122.   when DT="YUVS" then Player=CybTV
  123.   when DT="msvc" then Player=AVI1
  124.   when DT="ulti" | DT="cvid" | DT="rle8" then Player=AVI2
  125.   when DT="QT" then Player=QTP
  126.   when DT="indeo" then do
  127.         dopus front
  128.         dopus request '"'getcatstr(4,'Error:'lf'AVI Indeo data found.'lf'Video-Format not supported !')'"' getcatstr(1,'Quit')
  129.     exit
  130.     end
  131.   when DT="FLC" then Player=FLCP
  132.   when DT="FLI" then Player=FLIP
  133.   otherwise do
  134.         dopus front
  135.         dopus request '"'getcatstr(5,'Error:'lf'Filetype not supported !')'"' getcatstr(1,'Quit')
  136.         exit
  137.         end
  138.  
  139. end
  140.  
  141. if ~exists(Player) then do
  142.     dopus front
  143.     dopus request '"'getcatstr(2,'Error:'lf'Player not found !'lf'path to command: '"'%s'"'',Player)'"' getcatstr(1,'Quit')
  144.     exit
  145.     end
  146.  
  147. call pragma('STACK',25000)
  148. address command
  149. if DT="MPG" then MPEGP" " '"'Titel'"' " "MPEG_OPT
  150. if DT="CDXL" then cdxlP" " '"'Titel'"' " "cdxl_opt
  151. if DT="YUVS" then CybTV" "||Titel
  152. if DT="msvc" then AVI1" " '"'Titel'"' " "AVI1_OPT
  153. if DT="ulti" | DT="cvid" | DT="rle8" then AVI2" "AVI2_OPT" "||'"'Titel'"'
  154. if DT="QT" then QTP" "QT_OPT" "||'"'Titel'"'
  155. if DT="FLC" then FLCP" "FLC_OPT" "'"'Titel'"'
  156. if DT="FLI" then FLIP" "FLI_OPT" "'"'Titel'"'
  157.  
  158.  
  159. exit
  160.  
  161. /*--------------------------------------------------------------------------------*/
  162. getcatstr:
  163.    parse arg msgno,msgstring,insert.1,insert.2
  164.    if catalog~=0 then msgstring=getcatalogstr(catalog,msgno,msgstring)
  165.    j=0
  166.    do while pos('%s',msgstring)>0
  167.       parse var msgstring fore '%s' aft
  168.       j=j+1
  169.       msgstring=fore||insert.j||aft
  170.       end
  171.    return msgstring
  172.