;***************************************************************************
; * $VER: Install MPEG Audioplayer Scripte for DirOpus5 2.1 (08-27-97)
; * Script written by Eckhard Ludwig
;***************************************************************************

(set current_version "2.1")
(set lng @language)
(complete 0)

;****************************************************************************

(set #intro1 (cat "MPEG Audio Player " current_version "\n************************\n© 1997, Eckhard Ludwig"))

;****************************************************************************


;***************************************************************************
; deutsche Texte                               *****************************
;***************************************************************************

(IF (= lng "deutsch")
(
(set Opt 1)
(set BOpt 0)
(set INFO               "Diese Installation ergänzt Directory Opus ab V5.5 um die Funktionen eines komfortablen MPEG-Audio Spielers, und installiert Filetypen zum Spielen von MPEG-Samples per Doppelklick.\n\nUnterstützt werden Amiga-Audio Normal und über AHI-Treiber in 14bit, sämtliche MPEG-Karten (Melody, Peggy-Plus, CD32/FMV)\nund Soundkarten mit AHI-Treiber (Prelude, Toccata, Delfina usw.).")
(set GuidePrompt        "\n\nFür die Programme existiert eine umfangreiche deutschsprachige Anleitung im AmigaGuide®-Format.\n\nDiese können sie jetzt in ein beliebiges Verzeichnis kopieren, wobei eine eigene Schublade (Docs) angelegt wird.")
(set GuideDirPrompt 	"Wohin soll die Schublade Docs, mit der deutschen Anleitung kopiert werden?")
(set CDPrefsPrompt      "\n\nUm die Player auf Ihre Amigahardware und verschiedene Soundkarten konfigurieren zu können, existiert ein entsprechendes Konfigurations-Programm.\n\nDieses können sie jetzt in ein beliebiges Verzeichnis kopieren, empfohlen ist das Prefs Verzeichnis der Workbench.")
(set CDPrefsDirPrompt 	"Wohin soll das Konfigurations-Programm Player-Setup kopiert werden?")
(set Installprompt      "Bitte wählen Sie für die Player Ihre bevorzugte(n) Sprachversion(en).")
(set Opus5DirPrompt     "Bitte wählen Sie die Schublade, wo DirectoryOpus installiert wurde!")
(set Opus5Message       "Die zu installierenden Programme sind nur von DirectoryOpus5 aus nutzbar !\n\nIst DirectoryOpus5 korrekt installiert wurden ?\n\nBitte wählen Sie die Schublade, wo DirectoryOpus installiert wurde oder installieren sie DirectoryOpus5 zuerst !")
(set Opus5Help          "Die zu installierenden Programme sind nur von DirectoryOpus5 aus nutzbar !\nIst DirectoryOpus5 korrekt installiert wurden ?\nBitte installieren sie DirectoryOpus5 zuerst !")
(set Deinstallprompt    "Es ist bereits eine neuere Version von PlayerMP2.dopus5 installiert!\nSoll diese wirklich ersetzt werden ?")
(set ArexxDirPrompt     "Die Programme sollten in das Arexx-Verzeichnis von DirOpus5 installiert werden!\nBitte wählen Sie eine Schublade für die Player-Scripte !")
(set RexxPrompt		"\nDie Skript-Sprache ARexx ist im Lieferumfang von AmigaDOS enthalten, jedoch nicht verfügbar, bevor Sie nicht das Programm 'RexxMast' aufgerufen haben.\nEs wird empfohlen, ARexx immer zu starten.\nWenn Sie ARexx automatisch starten lassen möchten, klicken Sie auf 'Weiter', um ARexx von Ihrer 'User-Startup' aus starten zu lassen.")
(set PlayerCopy2Prompt  "Kopiere Sample Player ...")
(set LocaleCopyPrompt   "Kopiere Cataloge ...")
(set ButtonCopyPrompt   "Kopiere Knopfbank ...")
(set FiletypesPrompt    "Kopiere Opus5-Filetypes ...")
(set GuideCopyPrompt	"Kopiere Anleitung und Bilder...")
(set CDPrefsCopyPrompt	"Kopiere Preferences ...")
(set ToolsCopyPrompt	"Kopiere Tools ...")
(set #t_oldinstaller	(cat
			"Die benutzte Version des Programmes Installer ist leider zu alt!"
			" Benötigt wird Version 43.3 oder neuer. Die Konfiguration kann"
			" fortgesetzt werden, es können allerdings Fehler auftreten!"
	))
(set #t_oldinstallerhelp (cat
			" Die aktuelle Version des Installers findest du im AMINET im util/misc Directory."
			" Der aktuelle File Name ist \"Installer-43_3.lha\":\n"
			" <URL:ftp://ftp.germany.aminet.org/pub/aminet/util/misc/Installer-43_3.lha"
	))

(set OpusEdit           "Das gewählte Playerverzeichnis entspricht nicht dem Standard (Dopus5:Arexx)!\n Die Arexx-Pfade in den Button und Filetypes müssen entsprechend ediert werden!")
(SET #exitMsg           "Zum Spielen von MPEG Audio Samples:\n\nSetzen sie über das Programm Player-Setup ihre Soundhardware und die Pfade zu den Programmen.\nStarten Sie Directory Opus5 neu. Wählen Sie im Menü 'Knöpfe/Laden/' die Datei 'mpegplayer_default' an. Spielen sie Samples über den Knopf 'MPEG Sound Player' oder spielen sie Samples direkt per Doppelklick.\n\nViel Spaß mit den Scripten\nfür Directory Opus5.5+ wünscht\nEckhard Ludwig")
)

;******************************************************************************************************
; english

(
(set Opt 2)
(set BOpt 1)

(set INFO               "This script installs a Directory Opus 5.5+ GUI for the MPEGA player by Stephane TAVENARD and for MPEG-Cards and Soundcards with AHI-Drivers, and Opus-filetypes for Layer 2 and Layer 3 to play over doubleclick.")
(set GuidePrompt        "\nFor programmes exists guide, sorry only german (AmigGuide®-Format), and english readme-datei.")
(set GuideDirPrompt 	"Please select destination, for the guide drawer (Docs).")
(set CDPrefsPrompt      "\n\nFor Select Soundcards and Paths exists Player-Setup.\nPlease choose the drawer for install the preferences (Default SYS:Prefs).")
(set CDPrefsDirPrompt 	"Please select destination, for the preferences program (Player-Setup).")
(set InstallPrompt      "Which of the following locale should be installed ?\nItems marked as (n/a) are not available in the current installation archive !")
(set Opus5DirPrompt     "DirectoryOpus not found ?\nPlease select path to DirectoryOpus !")
(set Opus5Message       "Is DirectoryOpus correct installed ?\nPlease select drawer to DirectoryOpus5 or install DirectoryOpus5 first !")
(set Opus5Help          "Is DirectoryOpus correct installed ?\nPlease install DirectoryOpus5 first !")
(set Deinstallprompt    "There is already an newer version of PlayerMP2.dopus5 installed in the directory !\nDo you want to deinstall it ???")
(set ArexxDirPrompt     "Please select Arexx-Drawer for Playerscripts!")
(set RexxPrompt		"I need Arexx for run the programmes.\n\nKlick 'Proceed' for adding\n'SYS:System/Rexxmast >NIL:'\nto your 'User-Startup' file.")
(set PlayerCopy2Prompt  "Copy sampleplayers ...")
(set LocaleCopyPrompt   "Copy cataloges ...")
(set ButtonCopyPrompt   "Copy buttons ...")
(set FiletypesPrompt    "Copy filetypes ...")
(set GuideCopyPrompt	"Copy guide & pics ...")
(set CDPrefsCopyPrompt	"Copy preferences ...")
(set ToolsCopyPrompt	"Copy tools ...")
(set #t_oldinstaller	(cat
			" You have an old version of the Installer. I'll probably"
			" need version 43.3 or greater. You can continue anyway"
			" but there is no guarantee it will work as it's supposed"
			" to do.\n"
			" Do you wish to continue anyway?"
	))
(set #t_oldinstallerhelp (cat
			" The version of Installer you use is too old. You can"
			" find a more recent version on the Internet, for example"
			" on Aminet, in the util/misc directory. The current"
			" file name is \"Installer-43_3.lha\":\n"
			" <URL:ftp://ftp.germany.aminet.org/pub/aminet/util/misc/Installer-43_3.lha"
	))

(set OpusEdit           "Defaultdir for script is not standard (Dopus5:Arexx)!\nEdit Arexx-path Buttons and Filetypes.")
(SET #exitMsg           "For playing .mp2/.mp3 samples:\n\nFirst Player-Setup !\nselect all .mp files and start MPEG-play (See menu 'Button/Load' the button\n'mpegplayer-default'), or play songs over doubleclick.\n\nMuch fun with Script\nfor DirOpus5 wish you\nEckhard Ludwig")
))

;***************************************************************************

(set defaultdest        "DOpus5:Arexx")
(set GuideDir           "Dopus5:")
(set CDPrefsDir         "SYS:Prefs")

(if (< @installer-version (+ (* 43 65536) 3))
(
	(if (not (askbool
		(prompt #t_oldinstaller)
		(help #t_oldinstallerhelp)
	))
	(
		(abort (cat "\n\n" #t_oldinstallerhelp))
	))
))

(message #intro1 "\n\n" INFO)


; check if Directory Opus 5 is already installed
;***************************************************************************

(if (not (exists "DOpus5:DirectoryOpus" (noreq)))
    ((message Opus5Message)
    (set Opus5path (askdir
    (prompt Opus5DirPrompt)
    (help @askdir-help)
    (default "Work:")))
    (if (not (exists (tackon Opus5path "DirectoryOpus") (noreq)))
       (abort Opus5Help))    
    (makeassign "Dopus5" Opus5path (safe))
))


;***************************************************************************
; test Dopus5:Arexx exists & versionstest newer version PlayCD_MM.dopus5
;***************************************************************************

(if (= @user-level 2)
  (if (not (exists defaultdest (noreq)))
    (set defaultdest (askdir
	(prompt ArexxDirPrompt)
	(help	@askdir-help)
	(default "Rexx:")
))))

(set @default-dest defaultdest)

(if (exists (tackon defaultdest "PlayerMP2.dopus5") (noreq))
   ((set version (getversion (tackon defaultdest "PlayerMP2.dopus5")))
   (if (> version (getversion "Arexx/PlayerMP2.dopus5"))
       (if (not (askbool 
       (prompt Deinstallprompt)
       (help @askbool-help)
       (default 0)))
          (exit (quiet)))
)))

;***************************************************************************
; copy the files
;***************************************************************************

(copyfiles
   (prompt PlayerCopy2Prompt)
   (help @copyfiles-help)
   (source "arexx")
   (dest defaultdest)
   (pattern "Play#?")
   (confirm "EXPERT")
   (optional "force" "askuser")
)

(complete 15)

;***************************************************************************
;install cataloge
;***************************************************************************

(IF (= @language "All")
    (set Opt 511))

(set installchoice
   (askoptions
   (prompt InstallPrompt)
   (help @askoptions-help)
   (choices "Deutsch" "English" "dansk" "français" "italiano" "nederlands" "norsk" "suomi" "svenska")
   (default Opt)
))

(set n 0)

(while (<> n 1)

  ((set filepat
      (select n "PlayMP2.catalog"))

   (set n (+ n 1))

(IF (BITAND installchoice 1)
  (copyfiles
   (prompt LocaleCopyPrompt)
   (help @copyfiles-help)
   (source "Locale/Catalogs/deutsch")
   (dest "SYS:Locale/Catalogs/deutsch")
   (pattern filepat)
   (confirm "EXPERT")
   (optional "force" "askuser" "nofail")
  ))

(IF (OR (<> @language "deutsch") (BITAND installchoice 2))
  (copyfiles
   (prompt LocaleCopyPrompt)
   (help @copyfiles-help)
   (source "Locale/Catalogs/english")
   (dest "SYS:Locale/Catalogs/english")
   (pattern filepat)
   (confirm "EXPERT")
   (optional "force" "askuser" "nofail")
  ))

(IF (BITAND installchoice 4)
  (copyfiles
   (prompt LocaleCopyPrompt)
   (help @copyfiles-help)
   (source "Locale/Catalogs/dansk")
   (dest "SYS:Locale/Catalogs/dansk")
   (pattern filepat)
   (confirm "EXPERT")
   (optional "force" "askuser" "nofail")
  ))

(IF (BITAND installchoice 8)
  (copyfiles
   (prompt LocaleCopyPrompt)
   (help @copyfiles-help)
   (source "Locale/Catalogs/français")
   (dest "SYS:Locale/Catalogs/français")
   (pattern filepat)
   (confirm "EXPERT")
   (optional "force" "askuser" "nofail")
  ))

(IF (BITAND installchoice 16)
  (copyfiles
   (prompt LocaleCopyPrompt)
   (help @copyfiles-help)
   (source "Locale/Catalogs/italiano")
   (dest "SYS:Locale/Catalogs/italiano")
   (pattern filepat)
   (confirm "EXPERT")
   (optional "force" "askuser" "nofail")
  ))

(IF (BITAND installchoice 32)
  (copyfiles
   (prompt LocaleCopyPrompt)
   (help @copyfiles-help)
   (source "Locale/Catalogs/nederlands")
   (dest "SYS:Locale/Catalogs/nederlands")
   (pattern filepat)
   (confirm "EXPERT")
   (optional "force" "askuser" "nofail")
  ))

(IF (BITAND installchoice 64)
  (copyfiles
   (prompt LocaleCopyPrompt)
   (help @copyfiles-help)
   (source "Locale/Catalogs/norsk")
   (dest "SYS:Locale/Catalogs/norsk")
   (pattern filepat)
   (confirm "EXPERT")
   (optional "force" "askuser" "nofail")
  ))

(IF (BITAND installchoice 128)
  (copyfiles
   (prompt LocaleCopyPrompt)
   (help @copyfiles-help)
   (source "Locale/Catalogs/suomi")
   (dest "SYS:Locale/Catalogs/suomi")
   (pattern filepat)
   (confirm "EXPERT")
   (optional "force" "askuser" "nofail")
  ))

(IF (BITAND installchoice 256)
  (copyfiles
   (prompt LocaleCopyPrompt)
   (help @copyfiles-help)
   (source "Locale/Catalogs/svenska")
   (dest "SYS:Locale/Catalogs/svenska")
   (pattern filepat)
   (confirm "EXPERT")
   (optional "force" "askuser" "nofail")
  ))

))

(complete 25)

(IF (<> @language "deutsch")
(message
(cat	"\n\nIf you want to create own versions of\n"
	"the catalogs please have a look at the\n"
	"distributions Locale directory. You will\n"
	"find the .cd files there. If you\n"
	"have created you own translations, please\n"
	"don`t keep it a secret"
)))

;***************************************************************************
; copy buttons
;***************************************************************************

(copyfiles
     (source "buttons")
     (dest "DOpus5:buttons")
     (optional "force" "askuser")
     (safe)
     (pattern "#?")
     (files)
)

(complete 40)

;***************************************************************************
; copy filetypes
;***************************************************************************

(copyfiles
   (prompt FiletypesPrompt)
   (help @copyfiles-help)
   (source "filetypes")
   (dest "DOpus5:filetypes")
   (optional "force" "askuser")
   (confirm "EXPERT")
   (pattern "#?")
   (files)
)

; Delete Old MPEG-Filetype
(delete "DOpus5:Filetypes/Compressed sound, MPEG"
   (optional "force")
)

(complete 55)

;***************************************************************************
; copy tools
;***************************************************************************

(copyfiles
   (prompt ToolsCopyPrompt)
   (help @copyfiles-help)
   (source "c")
   (dest "SYS:C")
   (pattern "#?")
   (optional "force" "askuser")
   (confirm "EXPERT")
   (files)
)

(complete 65)

;***************************************************************************
; ADD REXX TO USER-STARTUP
;***************************************************************************

(if
	(startup "ARexx"
		(prompt RexxPrompt)
		(help @startup-help)
		(command "SYS:System/RexxMast >NIL:")
	)
	(run "SYS:System/RexxMast >NIL:")
)

(complete 75)

;***************************************************************************
; set guidedir
;***************************************************************************

(message GuidePrompt)
(if (>= @user-level 1)
(set GuideDir (askdir
	(prompt GuideDirPrompt)
	(help	@askdir-help)
	(default "DOpus5:")
)))

;***************************************************************************
; install guide
;***************************************************************************

(copyfiles
	(prompt	GuideCopyPrompt)
	(help	@copyfiles-help)
        (source "Docs")
        (dest (tackon GuideDir "Docs"))
        (confirm "EXPERT")
 	(pattern "#?")
        (optional "force" "askuser")
    	(files)
	(infos)
)


(copyfiles
	(source "Docs.info")
        (dest GuideDir)
        (optional "force" "askuser")
)

(complete 90)

;***************************************************************************
; set Prefsdir
;***************************************************************************

(message CDPrefsPrompt)
(if (>= @user-level 1)
(set CDPrefsDir (askdir
	(prompt CDPrefsDirPrompt)
	(help	@askdir-help)
	(default "SYS:PREFS")
)))

(copyfiles
	(prompt	CDPrefsCopyPrompt)
	(help	@copyfiles-help)
        (source "Player-Setup")
        (dest CDPrefsDir)
        (confirm "EXPERT")
 	(pattern "#?")
        (optional "force" "askuser")
    	(files)
	(infos)
)


(if (<> 1 (exists "SYS:C/Installer" (noreq)))
 (copyfiles
	(source "Installer")
        (dest "SYS:C")
        (optional "force" "askuser")
  ))


(complete 100)

(if (<> defaultdest "DOpus5:Arexx")
    (message OpusEdit))

(exit #exitMsg)
