home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rmmic100.zip / rmmico.cmd < prev   
OS/2 REXX Batch file  |  1999-08-20  |  2KB  |  83 lines

  1. /*
  2.  *      RMMICO.CMD - V1.0 C.Langanke 1999 - C.Langanke@TeamOS2.DE
  3.  *
  4.  *      Syntax: RMMICO
  5.  *
  6.  *      This rexx script restores the diverse icons, which bring
  7.  *      up MMPM.EXE for digital audio, digital video, compact disc
  8.  *      play and midi play.  These icons may be lost during the
  9.  *      installation of some sound drivers.
  10.  */
  11.  
  12.  TitleLine = STRIP(SUBSTR(SourceLine(2), 3));
  13.  PARSE VAR TitleLine CmdName'.CMD 'Info
  14.  Title     = CmdName Info
  15.  
  16.  /* RexxUtil laden */
  17.  CALL RxFuncAdd    'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs';
  18.  CALL SysLoadFuncs;
  19.  
  20.  /* default values */
  21.  env = 'OS2ENVIRONMENT';
  22.  
  23.  /* determine where MMOS2 is installed */
  24.  MMDrive = GetInstDrive('\MMOS2');
  25.  IF (MMDrive = '') THEN
  26.  DO
  27.     SAY CmdName': error: OS/2 Multimedia Presentation Manager not installed.';
  28.     EXIT(87);
  29.  END;
  30.  IconDir = MMDrive'\MMOS2\INSTALL';
  31.  
  32.  /* do the job */
  33.  SAY;
  34.  SAY Title;
  35.  SAY;
  36.  CALL CHAROUT, 'Restoring MMOS2 icons ';
  37.  Count = 0;
  38.  DO i = 1 TO 5
  39.     Count = Count + SetIcon( '<MMPM_CDPLAYER'i'>', 'CDPLAYER.ICO');
  40.     Count = Count + SetIcon( '<MMPM_DAPLAYER'i'>', 'AUDPLAY.ICO');
  41.     Count = Count + SetIcon( '<MMPM_MIDIPLAYER'i'>', 'MIDIPLAY.ICO');
  42.     Count = Count + SetIcon( '<MMPM2_SOFTWARE_MOTION_VIDEO'i'>', 'VIDPLAY.ICO');
  43.  END;
  44.  SAY ' Ok.';
  45.  SAY Count 'icons restored.';
  46.  
  47.  EXIT(0);
  48.  
  49. /* ------------------------------------------------------------------------- */
  50. SetIcon: PROCEDURE EXPOSE env IconDir
  51.  ARG ObjectId, IconFile
  52.  
  53.  IF (SysSetObjectData( ObjectId, ';')) THEN
  54.  DO
  55.     CALL CHAROUT, '.';
  56.     rc = SysSetObjectData(ObjectId, 'ICONFILE='IconDir'\'IconFile';');
  57.     RETURN( 1);
  58.  END;
  59.  
  60.  RETURN( 0);
  61.  
  62. /* ------------------------------------------------------------------------- */
  63. GetInstDrive: PROCEDURE EXPOSE env
  64.  ARG DirName, EnvVarName
  65.  
  66.  /* Default: OS2-Verzeichnis -> ermittelt BootDrive */
  67.  IF (DirName = '') THEN DirName = '\OS2';
  68.  
  69.  /* Default: PATH  */
  70.  IF (EnvVarName = '') THEN EnvVarName = 'PATH';
  71.  
  72.  /* Wert holen */
  73.  PathValue = TRANSLATE(VALUE(EnvVarName,,env));
  74.  
  75.  /* Eintrag suchen und Laufwerk zurückgeben */
  76.  DirName = TRANSLATE(':'DirName';');
  77.  EntryPos = POS(DirName, PathValue) - 1;
  78.  IF (EntryPos = -1) THEN
  79.     RETURN('');
  80.  InstDrive = SUBSTR(PathValue, EntryPos, 2);
  81.  RETURN(InstDrive);
  82.  
  83.