;-------------------------------------------------
; HD Installation script for Musicline Editor 1.14
; Copyright © 1995 by Musicline.
; Written by Conny Cyreus.
;-------------------------------------------------
;$VER: Musicline Editor HDInstall 1.14 ()

; Check kickversion.
;-------------------

  (if (< (/ (getversion) 65536) 37)
   (abort "Musicline Editor will only run under Kickstart 2.04 or above!")
  )

; Select drawer.
;---------------

  (welcome)
  (set @default-dest (getassign "Mline" "dva"))
  (if (= @default-dest "")
   (set @default-dest (getassign "MlEd" "dva"))
  )
  (if (= @default-dest "")
   ((set @default-dest (getassign "Work" "dva"))
    (if (= @default-dest "") (set @default-dest (getassign "SYS" "dva")))
    (set @default-dest (askdir (prompt "Please select a drive or drawer where\nMusicline Editor should be installed!\nA drawer will be created there.")
    (help "In this location a drawer will be created. All files except the libraries and the font will be installed inside this drawer.")
    (default @default-dest)))
    (set @default-dest (tackon @default-dest "MusiclineEditor"))
   )
   ((set bool (askbool (prompt "Installing Musicline Editor in\n" @default-dest) (default 1) (help @askbool-help)))
    (if (= bool 0)
     ((set @default-dest (getassign "SYS" "dva"))
      (set @default-dest (askdir (prompt "Please select a drive or drawer where\nMusicline Editor should be installed!\nA drawer will be created there.")
      (help "In this location a drawer will be created. All files except the libraries and the font will be installed inside this drawer.")
      (default @default-dest)))
      (set @default-dest (tackon @default-dest "MusiclineEditor"))
     )
    )
    (working "Comparing versions of Musicline Editors.")
    (set MlineNew (getversion ("MusiclineEditor/Mline")))
    (set MlineOld (getversion (tackon @default-dest "Mline")))
    (if (> (BITAND MlineOld) (BITAND MlineNew))
     ((set MlineOldVer (/ MlineOld 65536))
      (set MlineOldRev (- MlineOld (* MlineOldVer 65536)))
      (set MlineNewVer (/ MlineNew 65536))
      (set MlineNewRev (- MlineNew (* MlineNewVer 65536)))
      (abort "You are trying to install an old version of Musicline Editor!\n"
      ("Installed version  : %ld.%02ld\nVersion to install : %ld.%02ld" MlineOldVer MlineOldRev MlineNewVer MlineNewRev))
     )
    )
   )
  )

; Delete some old files if exists.
;-----------------------------------------

  (delete (tackon @default-dest "ReadMe.Txt")
  (optional force))
  (delete (tackon @default-dest "ReadMe.Txt.info")
  (optional force))
  (delete (tackon @default-dest "History.Txt")
  (optional force))
  (delete (tackon @default-dest "History.Txt.info")
  (optional force))
  (delete (tackon @default-dest "RegistrationForm.txt")
  (optional force))
  (delete (tackon @default-dest "RegistrationForm.txt.info")
  (optional force))
  (delete (tackon @default-dest "MlEd.Doc")
  (optional force))
  (delete (tackon @default-dest "MlEd.Doc.info")
  (optional force))
  (delete (tackon @default-dest "MlEd.Config")
  (optional force))
  (delete (tackon @default-dest "MlEd.Config.info")
  (optional force))
  (delete (tackon @default-dest "MlEdEng.Guide")
  (optional force))
  (delete (tackon @default-dest "MlEdEng.Guide.info")
  (optional force))
  (delete (tackon @default-dest "MlEd")
  (optional force))
  (delete (tackon @default-dest "MlEd.info")
  (optional force))

; Copy Musicline Editor files to main dir.
;-----------------------------------------

  (working "Checking for Mline files.")
  (copyfiles (prompt "Install Musicline Editor.")
   (source "MusiclineEditor")
   (dest @default-dest)
   (pattern "#?")
   (files)
   (infos)
   (optional fail)
   (confirm)
   (help @copyfiles-help)
  )
  (set Destination (substr @default-dest 0 (- (strlen @default-dest) 15)))
  (set Musicline (substr @default-dest (- (strlen @default-dest) 15) 15))
  (if (= Musicline "MusiclineEditor")
   (copyfiles (source "") (dest Destination) (pattern "MusiclineEditor.info") (files) (optional nofail))
  )

; Copy Instruments.
;------------------

  (working "Checking for instruments.")
  (makedir (tackon @default-dest "Instruments"))
  (if (= (exists "MusiclineEditor/Instruments" (noreq)) 2)
   (copyfiles (prompt "Install Instruments.")
    (source "MusiclineEditor/Instruments")
    (dest (tackon @default-dest "Instruments"))
    (all)
    (optional fail force)
    (confirm)
    (help @copyfiles-help)
   )
  )

; Copy samples.
;--------------

  (if (= (exists (tackon @default-dest "Wavesamples") (noreq)) 2)
   (rename (tackon @default-dest "Wavesamples") (tackon @default-dest "Samples"))
  )
  (working "Checking for Samples.")
  (makedir (tackon @default-dest "Samples"))
  (if (= (exists "MusiclineEditor/Samples" (noreq)) 2)
   (copyfiles (prompt "Installing Samples.")
    (source "MusiclineEditor/Samples")
    (dest (tackon @default-dest "Samples"))
    (all)
    (optional fail force)
    (confirm)
    (help @copyfiles-help)
   )
  )

; Copy Waves.
;------------

  (if (= (exists (tackon @default-dest "Waveforms") (noreq)) 2)
   (rename (tackon @default-dest "Waveforms") (tackon @default-dest "Waves"))
  )
  (working "Checking for waves.")
  (makedir (tackon @default-dest "Waves"))
  (if (= (exists "MusiclineEditor/Waves" (noreq)) 2)
   (copyfiles (prompt "Installing Waves.")
    (source "MusiclineEditor/Waves")
    (dest (tackon @default-dest "Waves"))
    (all)
    (optional fail force)
    (confirm)
    (help @copyfiles-help)
   )
  )

; Copy modules.
;------------------

  (working "Checking for modules.")
  (makedir (tackon @default-dest "Modules"))
  (if (= (exists "MusiclineEditor/Modules" (noreq)) 2)
   (copyfiles (prompt "Installing Modules.")
    (source "MusiclineEditor/Modules")
    (dest (tackon @default-dest "Modules"))
    (all)
    (optional fail force)
    (confirm)
    (help @copyfiles-help)
   )
  )

; Copy font to font:
;------------------------

  (copyfiles (prompt "Install Musicline fonts")
   (source "Fonts")
   (dest "Fonts:")
   (all)
   (optional fail force)
   (confirm)
   (help @copyfiles-help)
  )

; Make assign in user-startup
;----------------------------

  (startup "MusiclineEditor" (prompt "Making assign for Musicline Editor in user-startup.")
   (command "Assign Mline: " (expandpath (@default-dest)))
   (help @startup-help)
  )

  (makeassign "Mline" @default-dest)
  (exit "")
