/* 

   $VER: PlayModule.filer 2.3 (2.4.95)

   Author:
    Matthias Scheler (tron@lyssa.owl.de)

   Function:
    Tells DeliTracker via ARexx to play the module supplied as argument.
    If DeliTracker is not running it's loaded automatically and the window
    is placed on Filer's screen.

   Requires:
    2.3   removed unnecessary ADDRESS 'FilerRexx'

   Requires:
    DeliTracker 2.01 or newer

   Call:
    PlayModule FILENAME

   Example for "Filer.RC":
    REXXCLASS "MOD.#?","","PlayModule %s"

*/

PARSE ARG FileName

ADDRESS 'FilerRexx'
OPTIONS RESULTS

GETSCREENNAME
IF RESULT="RESULT" THEN EXIT 5
ScreenName=RESULT

GETSOURCEPATH
IF RESULT="RESULT" THEN EXIT 5
SourceDir=RESULT

IF RIGHT(SourceDir,1)=":" THEN SourceName=SourceDir||FileName
ELSE SourceName=SourceDir||"/"||FileName

PANEL OFF

IF ~SHOW('Ports','DELITRACKER') THEN
 DO
  'STATUS Loading DeliTracker II ...'

  'EXEC Run >NIL: DeliTracker2 >NIL: PUBSCREEN' ScreenName
  ADDRESS 'COMMAND' 'SYS:Rexxc/WaitForPort DELITRACKER'

  IF ~SHOW('Ports','DELITRACKER') THEN
   DO
    "HISTORY Can't load DeliTracker II."
    PANEL ON

    EXIT 10
   END
 END

'STATUS Loading module "'||SourceName||'" into DeliTracker II.'

ADDRESS 'DELITRACKER' 'PLAYMOD '||SourceName

PANEL ON