;
; Installer-Script fr MusicManII V2.10
;
; $VER: Install_MusicManII 2.10 (15.4.95)
;


;
; Create a bootable System-Disk
; -----------------------------

(PROCEDURE create_boot_disk
(
  (SET Kick3 0)

  (ASKDISK (DEST "MusicManII")
	   (PROMPT "Bitte legen Sie die Diskette MusicManII ein...")
	   (HELP "Sie mssen jetzt eine Diskette mit dem\n"
		 "Namen MusicManII: einlegen. Auf diese\n"
		 "Diskette werden das Hauptprogramm und\n"
		 "der MusicManII-Voreinstellungs-Editor\n"
		 "kopiert. Zustzlich werden noch alle\n"
		 "bentigten System-Dateien kopiert und\n"
		 "die Diskette wird bootfhig gemacht.\n")
  )

  (MAKEDIR "MusicManII:C")
  (MAKEDIR "MusicManII:L")
  (MAKEDIR "MusicManII:Devs")
  (MAKEDIR "MusicManII:Devs/Printers")
  (MAKEDIR "MusicManII:Devs/Keymaps")
  (MAKEDIR "MusicManII:S")

  (IF (>= Kickstart 36)
    (
      (MAKEDIR "MusicManII:Prefs")
      (MAKEDIR "MusicManII:Prefs/Env-Archive")
    )
  )

  (COPYFILES (PROMPT "Richte C-Verzeichnis ein...")
	     (DEST "MusicManII:C")
	     (SOURCE "c:Copy")
  )

  (COPYFILES (PROMPT "Richte C-Verzeichnis ein...")
	     (DEST "MusicManII:C")
	     (SOURCE "c:MakeDir")
  )

  (COPYFILES (PROMPT "Richte C-Verzeichnis ein...")
	     (DEST "MusicManII:C")
	     (SOURCE "c:Assign")
  )

  (IF (= (EXISTS "Sys:System/Setmap") 1)
    (
      (COPYFILES (PROMPT "Richte C-Verzeichnis ein...")
		 (DEST "MusicManII:C")
		 (SOURCE "Sys:System/Setmap")
      )
    )
    (
      (SET Kick3 1)
      (COPYFILES (PROMPT "Richte C-Verzeichnis ein...")
		 (DEST "MusicManII:C")
		 (SOURCE "C:Setkeyboard")
      )
    )
  )

  (IF (>= Kickstart 36)
    (
      (COPYFILES (PROMPT "Richte C-Verzeichnis ein...")
		 (DEST "MusicManII:C")
		 (SOURCE "c:IPrefs")
      )
    )
  )

  (IF (= (EXISTS "L:Ram-Handler") 1)
    (
      (COPYFILES (PROMPT "Richte L-Verzeichnis ein...")
		 (DEST "MusicManII:L")
		 (SOURCE "L:Ram-Handler")
      )
    )
  )

  (COPYFILES (PROMPT "Richte L-Verzeichnis ein...")
	     (DEST "MusicManII:L")
	     (SOURCE "L:Port-Handler")
  )

  (IF (< Kickstart 36)
    (
      (COPYFILES (PROMPT "Richte L-Verzeichnis ein...")
		 (DEST "MusicManII:L")
		 (SOURCE "L:Disk-Validator")
      )
    )
  )

  (COPYFILES (PROMPT "Richte Devs-Verzeichnis ein...")
	     (DEST "MusicManII:Devs/Keymaps")
	     (SOURCE "DEVS:Keymaps/")
	     (ALL)
  )

  (COPYFILES (PROMPT "Richte Devs-Verzeichnis ein...")
	     (DEST "MusicManII:Devs/Printers")
	     (SOURCE "DEVS:Printers/")
	     (ALL)
  )

  (COPYFILES (PROMPT "Richte Devs-Verzeichnis ein...")
	     (DEST "MusicManII:Devs")
	     (SOURCE "DEVS:printer.device")
  )

  (IF (EXISTS "Devs:Serial.device")
    (
      (COPYFILES (PROMPT "Richte Devs-Verzeichnis ein...")
		 (DEST "MusicManII:Devs")
		 (SOURCE "Devs:Serial.Device")
      )
    )
  )

  (IF (EXISTS "Devs:Parallel.device")
    (
      (COPYFILES (PROMPT "Richte Devs-Verzeichnis ein...")
		 (DEST "MusicManII:Devs")
		 (SOURCE "Devs:Parallel.Device")
      )
    )
  )

  (IF (EXISTS "Devs:System-Configuration")
    (
      (COPYFILES (PROMPT "Richte Devs-Verzeichnis ein...")
		 (DEST "MusicManII:Devs")
		 (SOURCE "Devs:System-Configuration")
      )
    )
  )

  (IF (< Kickstart 36)
  (
    (IF (= daten_ok 1)
      (
	(COPYFILES (PROMPT "Kopiere MusicManII-Preferences...")
		   (SOURCE "Prefs/Env-Archive/MusicManII/MusicManII.prefs")
		   (DEST "MusicManII:s")
	)
      )
    )
  )
  (
    (MAKEDIR "MusicManII:Prefs/Env-Archive/Sys")

    (COPYFILES (PROMPT "Richte Prefs-Verzeichnis ein...")
	       (SOURCE "ENVARC:Sys/icontrol.prefs")
	       (DEST "MusicManII:Prefs/Env-Archive/Sys")
    )


    (COPYFILES (PROMPT "Richte Prefs-Verzeichnis ein...")
	       (SOURCE "ENVARC:Sys/input.prefs")
	       (DEST "MusicManII:Prefs/Env-Archive/Sys")
    )

    (COPYFILES (PROMPT "Richte Prefs-Verzeichnis ein...")
	       (SOURCE "ENVARC:Sys/palette.prefs")
	       (DEST "MusicManII:Prefs/Env-Archive/Sys")
    )

    (COPYFILES (PROMPT "Richte Prefs-Verzeichnis ein...")
	       (SOURCE "ENVARC:Sys/Pointer.prefs")
	       (DEST "MusicManII:Prefs/Env-Archive/Sys")
    )

    (COPYFILES (PROMPT "Richte Prefs-Verzeichnis ein...")
	       (SOURCE "ENVARC:Sys/printer.prefs")
	       (DEST "MusicManII:Prefs/Env-Archive/Sys")
    )

    (COPYFILES (PROMPT "Richte Prefs-Verzeichnis ein...")
	       (SOURCE "ENVARC:Sys/printergfx.prefs")
	       (DEST "MusicManII:Prefs/Env-Archive/Sys")
    )

    (IF (= (EXISTS "MusicManII:Prefs/Env-Archive/MusicManII") 0)
      (
	(MAKEDIR "MusicManII:Prefs/Env-Archive/MusicManII")
      )
    )

    (COPYFILES (PROMPT "Kopiere MusicManII-Preferences...")
	       (SOURCE "Prefs/Env-Archive/MusicManII/")
	       (PATTERN "def#?")
	       (DEST "MusicManII:Prefs/Env-Archive/MusicManII")
	       (INFOS)
    )

    (COPYFILES (PROMPT "Kopiere MusicManII-Preferences...")
	       (SOURCE "Prefs/Env-Archive/MusicManII/MusicManII.prefs")
	       (DEST "MusicManII:Prefs/Env-Archive/MusicManII")
	       (INFOS)
    )

  )
  )


  (IF (= Kick3 0)
    (
      (IF (< Kickstart 36)
	(
	  (COPYFILES (PROMPT "Kopiere Startup-Sequence...")
		     (DEST "MusicManII:s")
		     (SOURCE "s/Startup-Sequence_WB1.x")
	  )
	)
	(
	  (COPYFILES (PROMPT "Kopiere Startup-Sequence...")
		     (DEST "MusicManII:s")
		     (SOURCE "s/Startup-Sequence_WB2.x")
		     (NEWNAME "Startup-Sequence")
	  )
	)
      )
    )
    (
      (COPYFILES (PROMPT "Kopiere Startup-Sequence...")
		 (DEST "MusicManII:s")
		 (SOURCE "s/Startup-Sequence_WB3.x")
		 (NEWNAME "Startup-Sequence")
      )
    )
  )

  (COPYLIB (PROMPT "Kopiere Libraries...")
	   (SOURCE "Libs/req.library")
	   (DEST "MusicManII:LIBS")
  )

  (COPYLIB (PROMPT "Kopiere Libraries...")
	   (SOURCE "Libs/pattern.library")
	   (DEST "MusicManII:LIBS")
  )

  (IF (EXISTS "LIBS:iffparse.library")
    (
      (COPYLIB (PROMPT "Kopiere Libraries...")
	       (SOURCE "Libs:iffparse.library")
	       (DEST "MusicManII:LIBS")
      )
    )
  )

  (IF (EXISTS "LIBS:amigaguide.library")
    (
      (COPYLIB (PROMPT "Kopiere Libraries...")
	       (SOURCE "Libs:amigaguide.library")
	       (DEST "MusicManII:LIBS")
      )
    )
  )

  (IF (EXISTS "LIBS:diskfont.library")
    (
      (COPYLIB (PROMPT "Kopiere Libraries...")
	       (SOURCE "Libs:diskfont.library")
	       (DEST "MusicManII:LIBS")
      )
    )
  )

  (IF (EXISTS "LIBS:asl.library")
    (
      (COPYLIB (PROMPT "Kopiere Libraries...")
	       (SOURCE "Libs:asl.library")
	       (DEST "MusicManII:LIBS")
      )
    )
  )

  (IF (EXISTS "LIBS:datatypes.library")
    (
      (COPYLIB (PROMPT "Kopiere Libraries...")
	       (SOURCE "Libs:datatypes.library")
	       (DEST "MusicManII:LIBS")
      )
    )
  )

  (IF (EXISTS "SYS:Classes/datatypes/amigaguide.datatype")
    (
      (MAKEDIR "MusicManII:Libs/Datatypes")

      (COPYFILES (PROMPT "Kopiere Datatypes...")
		 (SOURCE "SYS:Classes/datatypes/amigaguide.datatype")
		 (DEST "MusicManII:LIBS/Datatypes/")
      )
    )
  )

  (IF (EXISTS "DEVS:Datatypes/AmigaGuide")
    (
      (MAKEDIR "MusicManII:Devs/Datatypes")

      (COPYFILES (PROMPT "Kopiere Datatypes...")
		 (SOURCE "DEVS:Datatypes/AmigaGuide")
		 (DEST "MusicManII:Devs/Datatypes/")
      )
    )
  )

  (COPYFILES (PROMPT "Kopiere MusicManII...")
	     (SOURCE "MusicManII")
	     (DEST "MusicManII:")
	     (INFOS)
  )

  (COPYFILES (PROMPT "Kopiere MMII_PrefsEd...")
	     (SOURCE "MMII_PrefsEd")
	     (DEST "MusicManII:")
	     (INFOS)
  )
)
)


;
; Create Disk with MusicManII-Data-Files
; --------------------------------------

(PROCEDURE create_data_disk
(
  (SET daten_ok 1)

  (ASKDISK (DEST "MusicManII_Daten")
	   (PROMPT "Bitte legen Sie die Diskette MusicManII_Daten ein...")
	   (HELP "Die Beispiel-Dateien besitzen eine Lnge von etwa\n"
		 "600 kBytes. Sie knnen Sie verwenden, um schnell\n"
		 "einen berblick ber alle Funktionen von MusicManII\n"
		 "zu erhalten, ohne vorher Unmengen von Daten einzu-\n"
		 "geben.\n")
  )

  (EXECUTE ("Beispieldateien/UnpackIt MusicManII_Daten:"))

)
)


;
; Create Disk with Documentation
; ------------------------------

(PROCEDURE create_dox_disk
(
  (ASKDISK (DEST "HILFE")
	   (PROMPT "Bitte legen Sie die Diskette HILFE ein...")
	   (HELP "Es wird die Anleitung im AmigaGuide ins Verzeichnis\n"
		 "HILFE: kopiert. Ohne diese Datei ist keine Online-Hilfe\n"
		 "in MusicManII mglich!\n")
  )

  (COPYFILES (PROMPT "Installiere Anleitung/Hilfe-Datei...")
	     (SOURCE "Anleitung/MusicManII.Guide")
	     (DEST "HILFE:")
	     (INFOS)
  )

)
)


;
; Install to Disks
; ================

(PROCEDURE Install2Disks
(
  (SET @default-dest "MusicManII:")

  (SET disk_nrs (ASKOPTIONS (PROMPT "Welche Disketten erstellen?")
			    (CHOICES "Programm-Diskette"
				     "Daten-Diskette"
				     "Anleitungs-/Hilfediskette")
			    (DEFAULT 7)
			    (HELP "Programm-Diskette:\n"
				  "==================\n"
				  "\n"
				  "Auf diese Diskette werden das Hauptprogramm\n"
				  "und der Voreinstellungs-Editor kopiert. Es \n"
				  "besteht die Mglichkeit, die Diskette selbst\n"
				  "startend zu machen, um direkt von Diskette\n"
				  "zu starten und mit MusicManII zu arbeiten.\n"
				  "\n"
				  "Daten-Diskette:\n"
				  "===============\n"
				  "\n"
				  "Auf diese Diskette werden die Beispieldateien\n"
				  "zu MusicManII kopiert. Diese Dateien sind zur\n"
				  "Arbeit mit MusicManII nicht notwendig.\n"
				  "\n"
				  "Anleitungs-/Hilfediskette:\n"
				  "==========================\n"
				  "\n"
				  "Diese Diskette enthlt die Anleitung zu Music-\n"
				  "ManII im AmigaGuide-Format. Diese Datei wird\n"
				  "von MusicManII zur Online-Hilfe herangezogen.\n"
				  "Sie ist zum Arbeiten nicht notwendig, bietet\n"
				  "Einsteigern jedoch wertvolle Hilfe.\n")
		 )
  )

  (IF (= (IN disk_nrs 0) 1)
    (
      (SET boot_ok (ASKBOOL (PROMPT "Soll die Diskette selbststartend sein?")
			    (CHOICES "Ja"
				     "Nein")
			    (DEFAULT 1)
			    (HELP "Wenn Sie MusicManII direkt von Diskette\n"
				  "(ohne Workbench) starten wollen, also\n"
				  "direkt nach dem Einlegen der MusicManII\n"
				  "Diskette, so mssen Sie das Gadget Ja\n"
				  "anklicken.\n")
		   )
      )

      (IF (= boot_ok 1)
	(
	  (create_boot_disk)
	)
	(
	  (ASKDISK (DEST "MusicManII")
		   (PROMPT "Bitte legen Sie die Diskette MusicManII ein...")
		   (HELP "Sie mssen jetzt eine Diskette mit dem\n"
			 "Namen MusicManII: einlegen. Auf diese\n"
			 "Diskette werden das Hauptprogramm und\n"
			 "der MusicManII-Voreinstellungs-Editor\n"
			 "kopiert.\n")
	  )

	  (COPYFILES (PROMPT "Kopiere Programme...")
		     (SOURCE "MusicManII")
		     (DEST @default-dest)
		     (INFOS)
	  )

	  (COPYFILES (PROMPT "Kopiere Programme...")
		     (SOURCE "MMII_PrefsEd")
		     (DEST @default-dest)
		     (INFOS)
	  )

	  (COPYLIB (PROMPT "Kopiere Libraries...")
		   (SOURCE "Libs/req.library")
		   (DEST "LIBS:")
	  )

	  (COPYLIB (PROMPT "Kopiere Libraries...")
		   (SOURCE "Libs/pattern.library")
		   (DEST "LIBS:")
	  )

	)

      )
    )
  )

  (IF (= (IN disk_nrs 1) 2)
    (
      (create_data_disk)
    )
  )

  (IF (= (IN disk_nrs 2) 4)
    (
      (create_dox_disk)
    )
  )
)
)


;
; Install to HardDisk
; ===================

(PROCEDURE Install2HD
(
  (SET @default-dest (ASKDIR (PROMPT "Bitte Verzeichnis fr die Programme und Daten auswhlen")
			     (NEWPATH)
			     (DISK)
			     (DEFAULT @default-dest)
			     (HELP @askdir-help)
		     )
  )

  (COPYFILES (PROMPT "Kopiere Programme...")
	     (SOURCE "MusicManII")
	     (DEST @default-dest)
	     (INFOS)
  )

  (COPYFILES (PROMPT "Kopiere Programme...")
	     (SOURCE "MMII_PrefsEd")
	     (DEST @default-dest)
	     (INFOS)
  )

  (SET def_dir (TACKON @default-dest "Daten"))

  (IF (= (EXISTS def_dir) 0)
    (

      (MAKEDIR def_dir
	       (PROMPT "Erstelle Directory fr die Daten...")
	       (INFOS)
      )
    )
  )

  (SET daten_ok (ASKBOOL (PROMPT "Sollen die Beispiel-Dateien installiert werden?")
			 (CHOICES "Ja" "Nein")
			 (DEFAULT 1)
			 (HELP "Die Beispiel-Dateien besitzen eine Lnge von etwa\n"
			       "600 kBytes. Sie knnen Sie verwenden, um schnell\n"
			       "einen berblick ber alle Funktionen von MusicManII\n"
			       "zu erhalten, ohne vorher unmengen von Daten einzu-\n"
			       "geben.\n")
		)
  )

  (IF (= daten_ok 1)
    (

       (SET upack (CAT "Beispieldateien/UnpackIt " def_dir))

       (EXECUTE upack)

    )
  )

  (SET doc_ok (ASKBOOL (PROMPT "Soll die Anleitung kopiert werden?")
		       (CHOICES "Ja" "Nein")
		       (DEFAULT 1)
		       (HELP "Es wird die Anleitung im AmigaGuide ins Verzeichnis\n"
			     "Daten kopiert. Ohne diese Datei ist keine Online-Hilfe\n"
			     "in MusicManII mglich!\n")
	      )
  )

  (IF (= doc_ok 1)
    (
      (COPYFILES (PROMPT "Installiere Anleitung/Hilfe-Datei...")
		 (SOURCE "Anleitung/MusicManII.Guide")
		 (DEST @default-dest)
		 (INFOS)
      )
    )
  )

  (IF (>= Kickstart 36)
    (
      (IF (= (EXISTS "ENVARC:MusicManII") 0)
	(
	  (MAKEDIR "ENVARC:MusicManII")
	)
      )

      (IF (= (EXISTS "ENV:MusicManII") 0)
	(
	  (MAKEDIR "ENV:MusicManII")
	)
      )

      (IF (= daten_ok 1)
	(
	  (COPYFILES (PROMPT "Kopiere MusicManII-Preferences...")
		     (SOURCE "Prefs/Env-Archive_HD/MusicManII/")
		     (DEST "ENVARC:MusicManII")
		     (ALL)
	  )

	  (COPYFILES (PROMPT "Kopiere MusicManII-Preferences...")
		     (SOURCE "Prefs/Env-Archive_HD/MusicManII/")
		     (DEST "ENV:MusicManII")
		     (ALL)
	  )
	)
      )
    )
    (
      (IF (= daten_ok 1)
	(
	  (COPYFILES (PROMPT "Kopiere MusicManII-Preferences...")
		     (SOURCE "Prefs/Env-Archive_HD/MusicManII.prefs")
		     (DEST "S:")
	  )
	)
      )
    )
  )

  (COPYLIB (PROMPT "Kopiere Libraries...")
	   (SOURCE "Libs/req.library")
	   (DEST "LIBS:")
  )

  (COPYLIB (PROMPT "Kopiere Libraries...")
	   (SOURCE "Libs/pattern.library")
	   (DEST "LIBS:")
  )
)
)


; ********
; * Main *
; ********

(SET Kickstart (GETVERSION))

(SET userlevel @user-level)

(USER 2)

(SET wo_installieren (ASKCHOICE (PROMPT "Wo soll MusicManII installiert werden?")
				(CHOICES "Auf Festplatte"
					 "Auf Diskette(n)")
				(DEFAULT 1)
				(HELP @askchoice-help)
		     )
)

(USER userlevel)

(IF (= wo_installieren 0)
  (
    (Install2HD)
  )
  (
    (Install2Disks)
  )
)

