home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / prog / utils / lhaplay.lha / lhaplay.rexx next >
OS/2 REXX Batch file  |  1992-06-09  |  5KB  |  148 lines

  1. /*
  2.                     REXX LHA-Player by Erno Tuomainen
  3.  
  4.                         Version 0.2, first release
  5.  
  6.         This script is meant to be used with MultiPlayer 1.30!
  7.  
  8.    What's the idea of this script?
  9.  
  10.         Well,  in  my  BBS  there's hundreds of NICE modules (archived
  11.         with  LHA), which I like to listen...  often!  And therefore I
  12.         had  (Allways!)  to  decompress the file before I could listen
  13.         the module in it.  Well, NOT ANYMORE!
  14.  
  15.         This script automates this!  It extracts the file you want and
  16.         searches  for  any  MOD.*  or *.MOD files in it and passes the
  17.         FIRST  founded  module  to MultiPlayer via AREXX-port.  Enough
  18.         for me.
  19.  
  20.         At  the  moment there is only one archiver type supported, but
  21.         that's  enough  for me 'coz in my bbs system THERE is NO other
  22.         types of archivers than LHA.  (Atleast not in my MODULE areas)
  23.  
  24.         This  is  very  limited  for  now,  there's  no error handling
  25.         routines  or  other nice 'legal' (?) mumbojumbo.  It works for
  26.         me! (Have I said it before :)
  27.  
  28.         This  version  was  released  only  because some of my friends
  29.         wanted  it.   I  take  NO  responsibility of anything, lose of
  30.         valuable data (it should not happen with REXX and this kind of
  31.         program!)   or  anything!  YOU  use  this  in  your  VERY  OWN
  32.         RESPONSIBILITY!
  33.  
  34.    Installation:
  35.  
  36.     Edit  variables:  Archiver, Moduledir and Mpath (below in this
  37.     file)          ~~~~~~~~  ~~~~~~~~~     ~~~~~
  38.  
  39.         Copy  this LHAPLAY.REXX file into your REXX:-directory and the
  40.         'PLAY'-dos   script  into  f.ex  S:-directory  or  some  other
  41.         directory in your search path.  (Script flag is set but if for
  42.         some  reason it isn't, you can set it by yourself with command
  43.     'PROTECT  S:PLAY  +S'.   So you can use it without the EXECUTE
  44.         command (OS2.x)).
  45.  
  46.         So there it is, shouldn't be a problem.  Now you can play your
  47.         archived modules by just typing :
  48.  
  49.         'PLAY Moongazer'        or      (see no extension needed :)     
  50.         'PLAY Moonga*'          or
  51.         'PLAY Moongazer.LHA'    or
  52.         'PLAY Moongazer.LZH'    etc..   try yourself
  53.  
  54.    Author:
  55.  
  56.         You  can  reach  me  from  my  very own BBS, called 'Moonlight
  57.         Sonata DLG' and as you can quess from the name it's running on
  58.         Dialog  Pro BB/OS (BEAST, BEST!  Yeah!) and I'm a music lover,
  59.         composer (module/midi etc.)
  60.  
  61.         Number: +358-18-161862 - Open 17:00 - 09:00 GMT+2
  62.         Running with A3000-25 with 225MB of HardDrives and HST DS.
  63.  
  64.         You can write messages through Fido-Net too -> 2:221/112
  65.  
  66.         DO NOT MODIFY THIS FILE BEFORE SPREADING!  YOU CAN SPREAD THIS
  67.         ONLY  IN IT'S ORIGINAL FORM!  BUT YOU CAN MODIFY THIS FOR YOUR
  68.         OWN USE!
  69.  
  70.  */
  71.                           /* Configure these lines as your system requires */
  72. Archiver = 'LHA x'        /* Archive extracting command, may include path  */
  73. Moduledir = 'MOD:'        /* This is where your modules are kept           */
  74.                           /* Configure as you like                         */
  75. MPath = 'Work:Miscutils/' /* Path for Multiplayer executable 'Player'      */
  76.  
  77. LF = '0A'x
  78. C_RED = '1B 5B 33 31 6D'x
  79. C_GREEN = '1B 5B 33 32 6D'x
  80. C_BLUE = '1B 5B 33 34 6D'x
  81. C_CYAN = '1B 5B 33 36 6D'x
  82. C_VIOL = '1B 5B 33 35 6D'x
  83. C_RESET = '1B 5B 30 6D'x
  84. C_BACKR = '1B 5B 33 30 6D'x
  85.  
  86.  
  87. ADDRESS COMMAND
  88. OPTIONS RESULTS
  89. Trace
  90.  
  91. ARG file
  92.  
  93. if ~show('p',"RXTRACKER") then
  94.   MPath'player'
  95.  
  96. if ~show('L',"rexxsupport.library") then do
  97.  
  98.   if addlib('rexxsupport.library',0,-30,0) then
  99.     say "Added Rexxsupport.library."
  100.  
  101.   else do
  102.     say "Rexxsupport.library not available, exiting..."
  103.     exit 10
  104.   end
  105.  
  106. end
  107.  
  108. say C_RED 'RexxTracker for MultiPlayer by Erno Tuomainen' LF
  109. say C_GREEN 'Please Wait... Scanning and DeCrunching File 'C_RESET''file''C_GREEN'...' LF C_RESET
  110.  
  111. if ~exists('t:rxplay') then
  112.   'makedir t:rxplay'
  113.  
  114. 'LHA -m -q x 'moduledir''file' t:rxplay/'
  115.  
  116. dirri=showdir('t:rxplay','f','@')
  117. dirri=insert(dirri,'@')
  118. dirri2=upper(dirri)
  119.  
  120. if pos('MOD.',dirri2)=0 then do
  121.    position=index(dirri2,'.MOD')
  122.    position3=lastpos('@',dirri2,position)
  123.    position2=index(dirri2,'.MOD',position)
  124.    filenam=substr(dirri2,position3+1,(position2-position3)+3)
  125.  
  126.    END
  127.  
  128. else do
  129.    position=pos('MOD.',dirri2)
  130.    position2=pos('@',dirri2,position)
  131.    filenam=substr(dirri2,position,position2-position)
  132.    END
  133.  
  134.    filename=left(filenam,length(filenam))
  135.    filename=insert(filename,'22'x)
  136.    filename=insert('T:RxPlay/',filename)
  137.    filename=insert('22'x,filename)
  138.  
  139.  Say C_RED 'Now Playing 'C_RESET''filename''C_RED'....'
  140.  
  141. ADDRESS RXTRACKER
  142.    'PLAY 'filename
  143.  
  144. ADDRESS COMMAND
  145.    'delete >NIL: t:rxplay/*.*'
  146.  
  147. EXIT
  148.