home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 24 / CD_ASCQ_24_0995.iso / vrac / visvideo.zip / VISCUI.MST < prev    next >
Text File  |  1994-08-31  |  10KB  |  319 lines

  1. '$DEFINE DEBUG  ''Define for script development/debugging
  2.  
  3. '$INCLUDE 'setupapi.inc'
  4. '$INCLUDE 'msdetect.inc'
  5.  
  6. ''Dialog ID's
  7. ''Must be the same as viscui.h
  8. CONST WELCOME       = 100
  9. CONST ASKQUIT       = 200
  10. CONST DESTPATH      = 300
  11. CONST EXITFAILURE   = 400
  12. CONST EXITQUIT      = 600
  13. CONST EXITSUCCESS   = 700
  14. CONST IOOPTIONSA    = 1210       '' Audio IO base address selection dialog
  15. CONST IRQOPTIONS    = 1120       '' Interrupt switch selection dialog
  16. CONST DMAOPTIONS    = 1100       '' DMA Channel switch selection dialog
  17. CONST APPHELP       = 900        '' Help dialog box
  18. CONST BADPATH       = 6400       '' Bad destination directory dialog box
  19. '' Dialog bitmap icon ID
  20. CONST LOGO = 1
  21.  
  22. ''Global variable declaration
  23. GLOBAL VxD$             '' Virtual device installl status
  24. GLOBAL MCI$             '' MCI device driver installl status
  25. GLOBAL DEST$            '' Default destination directory
  26. GLOBAL DESTCODE$        '' Default destination directory
  27. GLOBAL DESTMCI$         '' Default destination directory
  28. GLOBAL DESTDOS$         '' Default destination directory
  29. GLOBAL DESTWIN$         '' Default destination directory
  30. GLOBAL DESTINC$         '' Default destination directory
  31. GLOBAL DESTLIB$         '' Default destination directory
  32. GLOBAL BASEIOA$         '' Audio I/O address
  33. GLOBAL BASEIOV$         '' Video I/O address
  34. GLOBAL INTR$            '' IRQ
  35. GLOBAL DMA$             '' DMA channel
  36. GLOBAL VIDEOSOURCE$     '' NTSC,PAL
  37.  
  38. DECLARE SUB Install
  39. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  40.  
  41.  
  42. INIT:
  43.    CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  44.    HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  45.  
  46.    SetBitmap CUIDLL$, LOGO
  47.    SetTitle "MPEG Master Installation"
  48.  
  49.    szInf$ = GetSymbolValue("STF_SRCINFPATH")
  50.    IF szInf$ = "" THEN
  51.       szInf$ = GetSymbolValue("STF_CWDDIR") + "VISCUI.INF"
  52.    END IF
  53.    ReadInfFile szInf$
  54.  
  55.    BASEIOA$ = "0x380"
  56.    DMA$   = "6"
  57.    INTR$  = "12"
  58.    VIDEOSOURCE$ = "NTSC"
  59.    DEST$  = "C:\VISMPEG"
  60.    VxD = "NO"         '' need not to add device=winvdmad.386 to system.ini
  61.  
  62. WELCOME:
  63.    sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  64.    IF sz$ = "CONTINUE" THEN
  65.       UIPop 1
  66.    ELSE
  67.       GOSUB ASKQUIT
  68.       GOTO WELCOME
  69.    END IF
  70.  
  71.  
  72. ' Get the installation destination path
  73. GETPATH:
  74.    SetSymbolValue "EditTextIn", DEST$
  75.    SetSymbolValue "EditFocus", "END"
  76. GETPATHL1:
  77.    sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  78.    DEST$ = GetSymbolValue("EditTextOut")
  79.    DESTCODE$=DEST$+"\code"
  80.    DESTWIN$=DEST$+"\windows"
  81.    DESTDOS$=DEST$+"\dos"
  82.    DESTINC$=DEST$+"\include"
  83.    DESTLIB$=DEST$+"\lib"
  84.    DESTMCI$=DEST$+"\mci"
  85.  
  86.    IF sz$ = "CONTINUE" THEN
  87.        IF IsDirWritable(DEST$) = 0 THEN
  88.            GOSUB BADPATH
  89.            GOTO GETPATHL1
  90.        END IF
  91.        UIPop 1
  92.    ELSEIF sz$ = "REACTIVATE" THEN
  93.        GOTO GETPATHL1
  94.    ELSE
  95.        GOSUB ASKQUIT
  96.        GOTO GETPATH
  97.    END IF
  98.  
  99. ' Get IO Port
  100. IOOPTIONA:
  101.    SetSymbolValue "DefIO", "12"  ''0x380
  102.    SetSymbolValue "DefVSrc", "NTSC"  ''NTSC
  103. IOOPTL1A:
  104.    sz$ = UIStartDlg(CUIDLL$, IOOPTIONSA, "FAIOProc", APPHELP, HELPPROC$)
  105.    BASEIOA$ = GetSymbolValue("IOPortA")
  106.    BASEIOV$ = GetSymbolValue("IOPortV")
  107.    VIDEOSOURCE$ = GetSymbolValue("VideoSource")
  108.  
  109.    IF sz$ = "CONTINUE" THEN
  110.        UIPop(1)
  111.    ELSEIF sz$ = "REACTIVATE" THEN
  112.        GOTO IOOPTL1A
  113.    ELSE
  114.        GOSUB ASKQUIT
  115.        GOTO IOOPTIONA
  116.    END IF
  117.  
  118.  
  119. ' Get IRQ
  120. AINTOPTION:
  121.    SetSymbolValue "IRQ", "12"
  122. AINTOPTL1:
  123.    sz$ = UIStartDlg(CUIDLL$, IRQOPTIONS, "FIRQDlgProc", APPHELP, HELPPROC$)
  124.    INTR$ = GetSymbolValue("IRQ")
  125.  
  126.    IF sz$ = "CONTINUE" THEN
  127.        UIPop(1)
  128.    ELSEIF sz$ = "REACTIVATE" THEN
  129.        GOTO AINTOPTL1
  130.    ELSE
  131.        GOSUB ASKQUIT
  132.        GOTO AINTOPTION
  133.    END IF
  134.  
  135.  
  136. ' Get DMA
  137. DMAOPTION:
  138.    SetSymbolValue "DMA", "6"
  139. DMAOPTL1:
  140.    sz$ = UIStartDlg(CUIDLL$, DMAOPTIONS, "FDMADlgProc", APPHELP, HELPPROC$)
  141.    DMA$ = GetSymbolValue("DMAChannel")
  142.  
  143.    IF sz$ = "CONTINUE" THEN
  144.        UIPop(1)
  145.    ELSEIF sz$ = "REACTIVATE" THEN
  146.        GOTO DMAOPTL1
  147.    ELSE
  148.        GOSUB ASKQUIT
  149.        GOTO DMAOPTION
  150.    END IF
  151.  
  152.    Install
  153.  
  154. QUIT:
  155.    ON ERROR GOTO ERRQUIT
  156.  
  157.    IF ERR = 0 THEN
  158.         dlg% = EXITSUCCESS
  159.    ELSEIF ERR = STFQUIT THEN
  160.            dlg% = EXITQUIT
  161.    ELSE
  162.            dlg% = EXITFAILURE
  163.    END IF
  164. QUITL1:
  165.    sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  166.    IF sz$ = "REACTIVATE" THEN
  167.            GOTO QUITL1
  168.    END IF
  169.    UIPop 1
  170.  
  171.    END
  172.  
  173. ERRQUIT:
  174.     i% = DoMsgBox("Setup sources were corrupted, call technical support!", "CL450 Development kit Installation", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  175.     END
  176.  
  177.  
  178.  
  179. BADPATH:
  180.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  181.     IF sz$ = "REACTIVATE" THEN
  182.         GOTO BADPATH
  183.     END IF
  184.     UIPop 1
  185.     RETURN
  186.  
  187.  
  188.  
  189. ASKQUIT:
  190.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  191.  
  192.     IF sz$ = "EXIT" THEN
  193.         UIPopAll
  194.         ERROR STFQUIT
  195.     ELSEIF sz$ = "REACTIVATE" THEN
  196.         GOTO ASKQUIT
  197.     ELSE
  198.         UIPop 1
  199.     END IF
  200.     RETURN
  201.  
  202.  
  203. '**
  204. '** Purpose:
  205. '**     Builds the copy list and performs all installation operations.
  206. '** Arguments:
  207. '**     none.
  208. '** Returns:
  209. '**     none.
  210. '*************************************************************************
  211. SUB Install STATIC
  212.  
  213. ' Create the directory
  214.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  215.     CreateDir DEST$,cmoNone
  216.     CreateDir DESTCODE$, cmoNone
  217.     CreateDir DESTWIN$, cmoNone
  218.     CreateDir DESTINC$, cmoNone
  219.     CreateDir DESTDOS$, cmoNone
  220.     CreateDir DESTLIB$, cmoNone
  221.     CreateDir DESTMCI$, cmoNone
  222.  
  223. ' Copy files
  224.     AddSectionFilesToCopyList "code", SrcDir$, DESTCODE$
  225.     AddSectionFilesToCopyList "windows", SrcDir$, DESTWIN$
  226.     AddSectionFilesToCopyList "dos", SrcDir$, DESTDOS$
  227.     AddSectionFilesToCopyList "include", SrcDir$, DESTINC$
  228.     AddSectionFilesToCopyList "lib", SrcDir$, DESTLIB$
  229.     AddSectionFilesToCopyList "mci", SrcDir$, DESTMCI$
  230.  
  231.     CopyFilesInCopyList
  232.  
  233.     windir$  = GetWindowsDir()
  234.     sysdir$  = GetWindowsSysDir()
  235.     mpegini$ = windir$+"WINMPEG.INI"
  236.     winini$  = windir$+"WIN.INI"
  237.     sysini$  = windir$+"SYSTEM.INI"
  238.  
  239. ' create section
  240.     sec1$ = "WinMPEG"
  241.     sec2$ = "UserDef"
  242.     BUS$ = "AT"
  243.     VFORMAT$ = "RGB"
  244.     CDIFMV$="CDIFMV"
  245.     SLASH$ = "\"
  246.  
  247. ' Create the WINMPEG.INI file
  248.    RemoveFile mpegini$, cmoForce
  249.  
  250. ' Add the symbols to the winmpeg.ini file for windows demo program
  251.    CreateIniKeyValue mpegini$, sec1$, "IOBASEA", "0x"+BASEIOA$ , cmoOverwrite
  252.    CreateIniKeyValue mpegini$, sec1$, "IRQ", INTR$ , cmoOverwrite
  253.    CreateIniKeyValue mpegini$, sec1$, "DMA", DMA$, cmoOverwrite
  254.    CreateIniKeyValue mpegini$, sec1$, "PATH", DESTCODE$+SLASH$, cmoOverwrite
  255.    CreateIniKeyValue mpegini$, sec1$, "VideoSource", VIDEOSOURCE$ ,cmoOverwrite
  256.    CreateIniKeyValue mpegini$, sec1$, "VideoFormat", VFORMAT$ ,cmoOverwrite
  257.    CreateIniKeyValue mpegini$, sec2$, "BusType", BUS$ ,cmoOverwrite
  258.    CreateIniKeyValue mpegini$, sec2$, "DiscType", CDIFMV$ ,cmoOverwrite
  259.    CreateIniKeyValue mpegini$, sec2$, "ShowOnVGA", "yes" ,cmoOverwrite
  260.    CreateIniKeyValue mpegini$, sec2$, "Stereo", "Spatial" ,cmoOverwrite
  261.  
  262. ' Add the VxD to the system.ini file
  263.    VxD$ = GetSymbolValue("AddVxD")   '' need to add VxD driver to system.ini?
  264.    IF VxD$ = "YES" THEN
  265.       CreateSysIniKeyValue sysini$, "386Enh", "DEVICE",MakePath(DESTCODE$,"WINVDMAD.386"), cmoOverwrite
  266.    ENDIF
  267.  
  268. ' Add the symbols to the dosmpeg.ini file for DOS demo program
  269.    CopyFile mpegini$,DESTDOS$+"\DOSMPEG.INI",cmoOverwrite,0
  270.  
  271. ' Create a MPEG Master group under Windows
  272.    group$ = "MPEG Master"
  273.    CreateProgmanGroup group$, "", cmoNone
  274.    ShowProgmanGroup  group$, 1, cmoNone
  275.    CreateProgmanItem group$, "MPEG Master", MakePath(DESTWIN$,"wplayer.exe"),"", cmoOverwrite
  276.  
  277. ' Add MPEG Master MCI drivers
  278.    RemoveIniKey sysini$, "MCI", "VISVideoCD",cmoForce
  279.    RemoveIniKey sysini$, "MCI", "VISCDIMovie",cmoForce
  280. '
  281.    CreateSysIniKeyValue sysini$, "MCI", "VISVideoCD","visvideo.drv", cmoOverwrite
  282.    CreateSysIniKeyValue sysini$, "MCI", "VISCDIMovie","viscdi.drv", cmoOverwrite
  283. '
  284.    CreateIniKeyValue winini$, "MCI EXTENSIONS", "mpg","VISVideoCD", cmoOverwrite
  285.    CreateIniKeyValue winini$, "MCI EXTENSIONS", "dat","VISVideoCD", cmoOverwrite
  286.    CreateIniKeyValue winini$, "MCI EXTENSIONS", "cdi","VISCDIMovie", cmoOverwrite
  287.  
  288. ' Copy files to windows\system
  289.    CopyFile DESTWIN$+"\WINMPEG.DLL",sysdir$+"WINMPEG.DLL",cmoOverwrite,0
  290.    CopyFile DESTMCI$+"\visvideo.drv",sysdir$+"visvideo.drv",cmoOverwrite,0
  291.    CopyFile DESTMCI$+"\viscdi.drv",sysdir$+"viscdi.drv",cmoOverwrite,0
  292.    CopyFile DESTMCI$+"\movie.cdi",windir$+"movie.cdi",cmoOverwrite,0
  293.  
  294. END SUB
  295.  
  296.  
  297.  
  298. '**
  299. '** Purpose:
  300. '**     Appends a file name to the end of a directory path,
  301. '**     inserting a backslash character as needed.
  302. '** Arguments:
  303. '**     szDir$  - full directory path (with optional ending "\")
  304. '**     szFile$ - filename to append to directory
  305. '** Returns:
  306. '**     Resulting fully qualified path name.
  307. '*************************************************************************
  308. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  309.     IF szDir$ = "" THEN
  310.         MakePath = szFile$
  311.     ELSEIF szFile$ = "" THEN
  312.         MakePath = szDir$
  313.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  314.         MakePath = szDir$ + szFile$
  315.     ELSE
  316.         MakePath = szDir$ + "\" + szFile$
  317.     END IF
  318. END FUNCTION
  319.