; Installation script for Audimaster 2000 0.63 ©2000 by Frank Fenn

(effect "lower_right" "radial" $00FFFF $0000FF)

(set @app-name "Audiomaster")
(set #def_lang_English 0)
(set #def_lang_Deutsch 1)

(set #nomui (cat "\n\nAudiomaster uses Magic User Interface (MUI).\n\nThe installer has not found MUI: to be assigned, "
                 "therefore Audiomaster will not work.\nYou will need to install MUI before running Audiomaster."
            )
)

(showmedia 'runningpic' 'images/am_logo' 'upper_left' 'none' 0)

; English is the default language 

    (set #Welcome
      (cat "   Welcome to the Audiomaster 2000 installation\n\n"
           "    Copyright 2000,2001 by F. Fenn & M. Ulbrich\n"
      )
    )

    (set #wrongOS "Audiomaster needs at least OS3.1 to run\n")

    (set #WhatCatalog
      (cat "Which catalog file do you want to install?\n"
           "(English language is built-in)"))

    (set #WhatDir
      (cat "Choose Audiomaster home directory\n"
           "(NO extra drawer will be created!)"))

    (set #WhatInstall "What do you want to install?")

    (set #AlreadyInstalled1 " is already installed\n\n")
    (set #AlreadyInstalled2 " is the installed version\n\n")
    (set #AlreadyInstalled3 " should be copied")

    (set #IProg       "Audiomaster program")
    (set #IGuide      "Audiomaster guide")
    (set #IRexx       "Audiomaster example scripts")
    (set #IMUI        "MUI custom classes")

    (set #CopyProg    "\nCopying program files to %s.")
    (set #CopyGuide   "\nCopying guide files")
    (set #CopyRexx    "\nCopying example scripts")
    (set #CopyMUI     "\nCopying MUI classes")

    (set #DocDir      "Select the directory where you want to put\nthe guide file.")
    (set #DocDirHelp  "This should be the directory where you normally put your guides.\n\n")
    (set #CopyGuide   "\nCopying Audiomaster.guide to ")

    (set #StartPgm    "Would you like to start the program now ?")
    (set #StartHelp   "Click on YES if you want to start the program right now\n\n")

    (set #Yes         "Yes")
    (set #No          "No")

    (set #done_1 
      (cat "\nAudiomaster has been installed succesful.\n\n"
           "Click the \"Audiomaster\" icon in the\n\n"))

    (set #done_2
      (cat "\n\ndirectory to start\n\n"
           "please send bugreports and improvements to fenn@nucleus.com"))

;--- Checking environment ---

(set OS_ver (getversion "exec.library" (resident)))
(if (< OS_ver (* 40 65536)) (abort #wrongOS))

(welcome #Welcome)

(if (< (exists "mui:" (noreq)) 2)
  (
    (message #nomui)
    (abort "\n\nPlease install MUI and restart this installation")
  )
)

(set Catalog_lang
   (askoptions
      (prompt  #WhatCatalog)
      (help    @askoptions-help)
      (choices "Deutsch")
      (default #def_cat_lang)
   )
)

(if (= 0 @user-level)
  (set install_level %001111)
  (set install_level (askoptions
                        (prompt #WhatInstall)
                        (help   @askoptions-help)
                        (choices #IProg #IGuide #IRexx #IMUI)
                     )
  )
)

(set my_level @user-level)
(user my_level)

(set copy_prog   (BITAND %000001 install_level))
(set copy_guide  (BITAND %000010 install_level))
(set copy_rexx   (BITAND %000100 install_level))
(set copy_mui    (BITAND %001000 install_level))

(complete 20)

(if copy_prog
  (
    (set amdest
      (askdir (prompt #WhatDir)
              (help   @askdir-help)
              (default @default-dest)
              (disk)
      )
    )
  )
)

(complete 30)

(if copy_guide
  (
    (set guidedest
      (askdir (prompt #DocDir)
              (help   @askdir-help)
              (default amdest)
              (disk)
      )
    )
  )
)

(if copy_prog
  (
    (set @default-dest amdest)
    (set amtacked (tackon amdest "Audiomaster"))

    (copyfiles (prompt (#CopyProg amdest))
               (help     def_help @copyfiles-help)
               (choices  "Audiomaster" "Audiomaster.info" "am.library")
               (source   "")
               (dest     amdest)
    )

    (complete 40)

    (set #imagedir (tackon amdest "images"))
    (makedir #imagedir)

    (copyfiles (prompt (#CopyProg amdest))
               (help     def_help @copyfiles-help)
               (pattern  "#?.image")
               (source   "images")
               (dest     #imagedir)
    )

    (complete 50)

    (set #moduledir (tackon amdest "modules"))
    (makedir #moduledir)

    (copyfiles (prompt (#CopyProg amdest))
               (help     def_help @copyfiles-help)
               (pattern  "#?")
               (source   "modules")
               (dest     #moduledir)
    )

  )
)

(complete 60)

(if copy_rexx
  (
    (set #rexxdir (tackon amdest "rexx"))
    (makedir #rexxdir)

    (set @default-dest amdest)
    (set amtacked (tackon amdest "Audiomaster"))

    (copyfiles (prompt (#CopyRexx amdest))
               (help     def_help @copyfiles-help)
               (pattern  "#?")
               (source   "rexx")
               (dest     #rexxdir)
    )
  )
)

(showmedia 'runningpic' 'images/am_program' 'upper_left' 'none' 0)

(complete 70)

(if (> Catalog_lang 0)
  (
    (set Cat_dir "LOCALE:catalogs")
    (if (bitand Catalog_lang #def_lang_Deutsch)
      (
        (set lang "deutsch")
        (copyfiles (source (tackon "catalogs" lang))
                   (choices "audiomaster.catalog")
                   (dest (tackon Cat_dir lang))
        )
      )
    )
  )
)

(complete 80)

(if copy_guide
  (
    (set @default-dest guidedest)
    (set guidetacked (tackon guidedest "Audiomaster"))

    (copyfiles (prompt (#CopyProg amdest))
               (help     def_help @copyfiles-help)
               (pattern  "Audiomaster.guide#?")
               (source   "")
               (dest     guidedest)
    )
  )
)

(complete 90)

(if (<> (getassign "mui") "")
  (
    (if (> (exists "mui:libs/mui") 0)
      (
        (set mui_localdir "libs/MUI")

        (foreach mui_localdir "#?.mcp"
          (copylib (source (tackon mui_localdir @each-name)) (dest "mui:libs/mui"))
        )

        (foreach mui_localdir "#?.mcc"
          (copylib (source (tackon mui_localdir @each-name)) (dest "mui:libs/mui")) 
        )
      )
    )
  )
)

(complete 100)

(set startpgm
  (askbool (prompt  #StartPgm)
           (help    #StartHelp)
           (default #No)
           (choices #Yes #No)
  )
)

(if startpgm
  (run "run >NIL:" (tackon amdest "Audiomaster"))
)

(message #done_1 "\"" amdest "\"" #done_2)
