home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 13 / AACD13.ISO / AACD / System / EASys / EASys!_update_47x_to_481 / EASys! / bin / Sound-Songplayer.rexx < prev    next >
OS/2 REXX Batch file  |  2000-05-21  |  2KB  |  110 lines

  1. /*
  2.   Start a Songplayer-GUI for playing WAV,8SVX,AIFF,CDDA,MP2,MP3
  3.   especially the SongPlayer by Stéphane Tavenard,
  4.   see Aminet - it's great! Supports AHI.
  5. */
  6.  
  7. PARSE ARG sound
  8. OPTIONS RESULTS
  9. OPTIONS FAILAT 30
  10.  
  11. DO FOREVER
  12.  n=GETCLIP('SongPlayer')
  13.  IF ~(n='-1') THEN LEAVE
  14.  CALL DELAY(50)
  15. END
  16.  
  17. IF SHOW('P','rexx_EP') THEN ADDRESS 'rexx_EP' QUIT
  18. IF SHOW('P','DELITRACKER') THEN ADDRESS 'DELITRACKER' QUIT
  19. IF SHOW('P','HIPPOPLAYER') THEN ADDRESS 'HIPPOPLAYER' QUIT
  20. IF SHOW('P','RXTRACKER') THEN ADDRESS 'RXTRACKER' QUIT
  21.  
  22. player=MyGetENV('RefTable/Sound-GUI_SamplePlayer')
  23. uPlayer=UPPER(player)
  24.  
  25. pos=POS('RUN >NIL: ',uPlayer)
  26. IF pos>0 THEN player=DelStr(player,pos,10)
  27. pos=POS('EASys!_bin:WBrun ',uPlayer)
  28. IF pos>0 THEN player=DelStr(player,pos,17)
  29.  
  30. IF POS('SPLAYER',uPlayer)>1 THEN
  31. DO
  32.  IF SHOW('P','SONGPLAYER.1') THEN ADDRESS 'SONGPLAYER.1' QUIT
  33.  
  34.  ADDRESS COMMAND 'EASys!_bin:CLIexchange SPlayer KILL'
  35.  
  36.  CALL DELAY(80)
  37.  ADDRESS COMMAND 'run >NIL: "'player'" 'sound
  38.  
  39.  CALL ExitMe
  40. END
  41.  
  42. IF POS('SONGPLAYER',uPlayer)>1 THEN
  43. DO
  44.   pos=POS(' NAME',uPlayer)
  45.   IF pos>10 THEN player=DelStr(player,pos,5)
  46.   pos=POS(' GUI',uPlayer)
  47.   IF pos>10 THEN player=DelStr(player,pos,4)
  48. END
  49. ELSE /* Other player, e.g., Player configured */
  50. DO
  51.  SETCLIP('SongPlayer','-1')
  52.  ADDRESS COMMAND 'run >NIL: 'player '"'sound'"'
  53.  
  54.  CALL DELAY(300)
  55.  SETCLIP('SongPlayer',0)
  56.  CALL ExitMe
  57. END
  58.  
  59. IF ~SHOW('P','SONGPLAYER.1') THEN
  60. DO
  61.  sp=-1
  62.  SETCLIP('SongPlayer','-1')
  63.  
  64.  ADDRESS COMMAND
  65.  'run >NIL: 'player' GUI'
  66.  'waitforport SONGPLAYER.1'
  67. END
  68.  
  69. IF SHOW('P','SONGPLAYER.1') & ~(sound='') THEN
  70. DO
  71.  sound=STRIP(sound,'B','"')
  72.  
  73.  ADDRESS SONGPLAYER.1
  74.  GET_STATE
  75.  r=RESULT
  76.  
  77.  IF ~(sp=-1) & r='PLAY' THEN CALL DELAY(100)
  78.  
  79.  ADDRESS SONGPLAYER.1
  80.  FILTER OFF
  81.  ADD Files '"'sound'"'
  82.  NEXT
  83.  PLAY
  84.  
  85.  IF sp=-1 THEN CALL DELAY(100)
  86.  SETCLIP('SongPlayer',0)
  87. END
  88.  
  89. CALL ExitMe
  90.  
  91. /* ---------------------- */
  92. MyGetENV:     PROCEDURE
  93. PARSE ARG name
  94.  
  95. TheFile='ENV:'name
  96. IF Open(fTMP,TheFile,'read') THEN
  97. DO
  98.   ENVvalue=ReadLn(fTMP)
  99.   r=Close(fTMP)
  100. END
  101. ELSE
  102.   ENVvalue=''
  103.  
  104. RETURN ENVvalue
  105.  
  106. /* ---------------------- */
  107. ExitMe:
  108. EXIT 0
  109.  
  110.