; $VER: Studio Update V2.21
; Copyright (C)1998 Wolf Faust

(complete 0)
(delopts "oknodelete" "force" "askuser")

(set #waitmsg
(cat "\n\n\n\nWorking. Please wait..."
))
(set #bad-kick
(cat	"\nYour system software is very old. "
	"You must use at least Kickstart 2.04 for all Studio programs. "
))
(set #bad-version
(cat	"This update will only update Studio V2.15 or newer. "
	"Your Studio disks are version %ld.%ld. Running this update doesn't make sense. "
))
(set #bad-version2
(cat	"This update requires Studio V2.15 or newer. "
	"Your installed Studio program has version %ld.%ld. "
))
(set #w-studio
(cat "Select the action(s) to perform."
))
(set #w-studio-help
(cat "This disk comes with new and additional software for some printers.\n"
	"You can update your current used software.\n"
	"Or you can update the software and add the additional printer software.\n\n"
	@askchoice-help
))
(set #w-studio-choices0
(cat "Update Studio to V2.21"
))
(set #w-studio-choices1
(cat "and install Epson Stylus Photo software"
))
(set #w-studio-choices2
(cat "and install Stylus Photo 700 and EX software"
))
(set #abortunpack
(cat "\nError occured while running the installation decompression program. "
	"The error occured during decompressing of the file:\n\n\"%s\"\n\n"
))
(set #foundstudio
(cat "\nI found your Studio printing program. Can I update the program in the drawer:\n\n%s\n\n"
))
(set #foundstudiohelp
(cat "When selecting yes, the Studio program will be updated in the location found.\n\n"
	"When selecting no, you will be asked for a Studio filename you want to update\n\n"
))
(set #ask-studiomod
(cat "\nSelect the disk or drawer the 'Studio' application program is placed in. "
))
(set #ask-studiomod-help
(cat "You should now select the drawer the 'Studio' application program is placed in. "
	"Usually the program is placed in the Studio drawer and thus the Studio drawer "
	"should be selected.\n\n"
	@askdir-help
))
(set #nostudiopro
(cat "\nSorry, I can't find the \"Studio\" program. I tried to access %s. "
	"Please check the drawer and program name try installing again. "
))
(set #ask-prefs
(cat "\nIn which disk or drawer are the Studio printer preferences program(s) installed?"
))
(set #ask-prefs-help
(cat "\nThis section lets you choose in which drawer or on which disk the "
	"Studio printer driver preferences programs (EpsonP2Pref, SetupStylus...) are installed. "
	"These are normally placed in the \"SYS:Prefs\" directory of your system "
	"disk.\n\n"
	@askdir-help
))
(set #delenv
(cat "Can I overwrite your old Workbench driver settings? I want to overwrite your settings in "
	"order to setup the driver for your printer.\n\n"
	"Note: you can keep your old driver settings if you like. Use the Preset "
	"menu of the preferences program to change the settings to the default "
	"settings anytime later."
))
(set #delenvhelp
(cat "The installation program wants to setup the default settings for your printer. "
	"In order to do so, your old settings have to be deleted. You can skip overwriting the driver "
	"settings and setup the driver later for your printer using the Preset menu "
	"of the drivers prefences program."
))
(set #sdelenv
(cat "Can I delete the old settings of your Studio printing program? I want to overwrite your settings in "
	"order to setup Studio for your printer.\n\n"
	"Note: you can keep your old Studio printing program settings if you like. Use the \"Reset To Default\" "
	"menu item of the printing program to change the settings anytime later if required. "
))
(set #sdelenvhelp
(cat "The installation program wants to setup the default settings for your printer. "
	"In order to do so, your old settings have to be deleted. You can skip overwriting the Studio "
	"settings and setup the printing program later for your printer using the \"Reset To Default\" menu item "
	"of the Studio printing program."
))
(set #setupmsg
(cat "\nA new SetupStylus program was installed for you in:\n\n%s\n "
))
(set #installed
(cat "\n\nA new driver named \"%s\" has been installed for your printer. "
	"The driver is controlled by the installed \"%s\" preferences "
	"program. Please select the driver in the Printer "
	"preferences of your Workbench. I will try to start the preferences "
	"program for you now.\n\n"
))
(set #yesupdate
(cat "Yes, update"
))
(set #nodrawer
(cat "No, select new drawer"
))
(set #nochange
(cat "No, don't change"
))
(set #madcanonupdate
(cat	"\n\nYour installed Canon BJC Workbench driver was updated."
))
(set #madstudioupdate
(cat	"\n\nYour Studio printing program was updated.\n\nI will now continue updating..."
))
;-------
(set #namedocs
(cat "Readme"
))
;-------
(set #nopgs
(cat	"Sorry, I can't locate the \"Pagestream3:SoftLogik/Printers\" or drawer \"Pagestream4:SoftLogik/Printers\" containing the PageStream "
	"printer drivers. So I can't install the PageStream driver. Please check your "
	"PageStream installation and try again"
))
;-------
(set #badappversion
(cat	"I did not install the wanted application driver for "
	"%s. A newer driver V%ld.%ld is already installed. "
	"I will now continue with the installation.\n"
))
;-------
(set #w-appdriv
(cat "Do you want to install a Studio driver for:"
))
(set #w-appdriv-help
(cat "\nSome Amiga applications do allow the use of custom printer drivers."
	"These drivers usualy don't use the systems printer device for printing."
	"You can now install such non-system drivers for these applications. "
	"The drivers allow direct printing using the Studio printing program.\n\n"
	@askoptions-help
))
(set #w-appdriv-choices0
(cat "ImageFX 2.x/3.x"
))
(set #w-appdriv-choices1
(cat "PageStream 3.1-3.4, 4.0 and newer"
))
;-------
(set #nofx
(cat	"Sorry, I can't locate the \"ImageFX2:modules/printer\" or \"ImageFX3:modules/printer\" drawer containing the ImageFX "
	"printer modules. Please check your ImageFX installation and try again. I will now continue installing Studio"
))



;*** German
(if (= @language "deutsch")
(

	(set #waitmsg
	(cat "\n\n\n\nIch arbeite! Bitte warten..."
	))
	(set #bad-kick
	(cat	"\nIhre System-Software ist sehr alt. "
		"Sie brauchen mindestens Kickstart 2.04 für alle Studio-Programme."
	))
	(set #bad-version
	(cat	"Dieses Update benötigt Studio Version 2.15 oder neuer. "
		"Ihre Studio Originaldisketten haben Version %ld.%ld. Es hat daher "
		"keinen Sinn, ein Update durchzuführen. "
	))
	(set #bad-version2
	(cat	"Dieses Update funktioniert nur mit Studio V2.15 oder neuer. "
		"Ihr installiertes Programm hat Version %ld.%ld. "
	))
	(set #w-studio
	(cat "Welche Studio-Software wollen Sie installieren?"
	))
	(set #w-studio-help
	(cat "\nDieses Studio Update enthält neben einem generellen Update der vorhandenen "
		"Software auch zusätzliche neue Treiber Software. Bitte wählen Sie, ob "
		"Sie einfach nur vorhandenes Updaten wollen, oder ob Sie zusätzlich noch "
		"weitere Software installieren wollen.\n\n"
		@askoptions-help
	))
	(set #w-studio-choices0
	(cat "Installierte Studio Software erneuern"
	))
	(set #w-studio-choices1
	(cat "und Epson Stylus Photo Software installieren"
	))
	(set #w-studio-choices2
	(cat "und Photo 700 und EX Software installieren"
	))
	(set #abortunpack
	(cat "\nEin Fehler trat beim Entpacken/Schreiben einer Datei auf!\n"
		"Das zu entpackende Archiv lautete:\n\n\"%s\"\n\n"
	))
	(set #foundstudio
	(cat "\nIch habe Ihr installiertes Studio Druckprogramm gefunden. Kann ich das Studio Programm in der folgenden Schublade updaten:\n\n%s\n\n"
	))
	(set #foundstudiohelp
	(cat "Wählen Sie ja, dann wird das Studio Programm in der angegebenen Schublade erneuert.\n\n"
		"Wählen Sie Nein, erscheint ein Dateiauswahlfenster und Sie können eine "
		"andere Schublade mit dem Studio Programm angeben.\n\n"
	))
	(set #ask-studiomod
	(cat "\nBitte wählen Sie die Schublade, in dem sich das 'Studio'-Programm befindet."
	))
	(set #ask-studiomod-help
	(cat @askdir-help
	))
	(set #nostudiopro
	(cat "Ich kann das \"Studio\" Programm nicht unter\n\n'%s'\n\nfinden. "
		"Bitte prüfen Sie die angegebenen Dateinamen und versuchen Sie die Installation erneut."
	))
	(set #ask-prefs
	(cat "\nIn welcher Schublade sind/wurden die Studio Treiber-Voreinsteller installiert?"
	))
	(set #ask-prefs-help
	(cat "\nNormal installiert Studio die Voreinsteller EpsonP2Pref usw. "
		"in die SYS:Prefs Schublade. Sollten Sie diese Programme woanders installiert haben, "
		"geben Sie bitte die entsprechende Schublade an, damit die Programme upgedated werden können.\n\n"
		@askdir-help
	))
	(set #delenv
	(cat "Kann ich Ihre alten Treibereinstellungen löschen, damit ich den Treiber "
		"für Ihren Drucker neu konfigurieren kann?\n\n"
		"Sie können Ihre Einstellungen mit 'Nein' aber auch behalten und jederzeit "
		"später mit dem Preset Menü von CanoBJECPref den Treiber neu einstellen."
	))
	(set #delenvhelp
	(cat "Das Installationsprogramm muß Ihre alten Treibereinstellungen löschen, "
		"um die neuen Standardeinstellungen für Ihren Drucker zu aktivieren. "
		"Sie können darauf aber auch verzichten, und später das Preset-Menü "
		"von EpsonP2Pref zum Einstellen benutzen."
	))
	(set #sdelenv
	(cat "Kann ich Ihre Einstellungen des Studio Druckprogramms löschen, damit ich das Programm "
		"für Ihren Drucker neu konfigurieren kann?\n\n"
		"Sie können Ihre Einstellungen mit 'Nein' aber auch behalten und jederzeit "
		"später mit dem 'Reset To Default' Menüpunkt die Einstellungen vornehmen."
	))
	(set #sdelenvhelp
	(cat "Das Installationsprogramm muß Ihre alten Studio Einstellungen löschen, "
		"um die neuen Standardeinstellungen für Ihren Drucker zu aktivieren. "
		"Sie können darauf aber auch verzichten, und später das Menü "
		"von Studio zum Einstellen benutzen."
	))
	(set #setupmsg
	(cat "\nEin neues SetupStylus Programm wurde für Sie installiert in der Schublade:\n\n%s\n "
	))
	(set #installed
	(cat "\n\nEin neuer Workbench Treiber namens \"%s\" wurde für den Epson Drucker installiert. "
		"Zusätzlich wurde das Voreinsteller-Programm \"%s\"  installiert.\n"
		"Ich versuche jetzt, den Printer Voreinsteller für Sie zu starten, damit "
		"Sie den Druckertreiber für Ihr System einstellen."
	))
	(set #yesupdate
	(cat "Ja, updaten"
	))
	(set #nodrawer
	(cat "Nein, andere Schublade"
	))
	(set #nochange
	(cat "Nein, nicht ändern"
	))
	(set #madcanonupdate
	(cat	"\n\nIhre Workbench Canon BJC Druckersoftware wurde erneuert."
	))
	(set #madstudioupdate
	(cat	"\n\nDas Studio Druckprogramm wurde erneuert."
	))
	;-------
	(set #namedocs
	(cat "Liesmich"
	))
	;-------
	(set #nopgs
	(cat	"Leider kann ich Ihre \"Pagestream3:SoftLogik/Printers\" oder \"Pagestream4:SoftLogik/Printers\" Schublade mit den PageStream "
		"Druckertreibern nicht finden. Ich kann daher auch keinen neuen Treiber installieren. "
		"Bitte prüfen Sie Ihre PageStream Installation."
	))
	;-------
	(set #badappversion
	(cat	"Der gewünschte Studio Treiber für das Programm '%s' wurde nicht installiert, "
		"da bereits ein neuerer Treiber mit der Version %ld.%ld installiert ist.\n\n"
		"Es wird jetzt mit der Installation fortgefahren...\n"
	))
	;-------
	(set #w-appdriv
	(cat "Wollen Sie Treiber für folgende Programme:"
	))
	(set #w-appdriv-help
	(cat "\nEinige Amiga Anwendungsprogramme bieten eigene Druckertreiber. "
		"Sie können jetzt für einige Programme spezielle Treiber für "
		"diese Programme installieren.\n\n"
		@askoptions-help
	))
	(set #w-appdriv-choices0
	(cat "ImageFX 2.x/3.x"
	))
	(set #w-appdriv-choices1
	(cat "PageStream 3.1-3.4, 4.0 und neuer"
	))
	;-------
	(set #nofx
	(cat	"Leider kann ich Ihre \"ImageFX2:modules/printer\" oder \"ImageFX3:modules/printer\"  Schublade mit den ImageFX "
		"Druckertreibern nicht finden. Ich kann daher auch keinen neuen Treiber installieren. "
		"Bitte prüfen Sie Ihre ImageFX Installation. Ich fahre jetzt mit der Installation fort."
	))
))



(procedure Meter
(
	(set accum	(+ accum addm))
	(complete (/ (* accum 100) total))
))

(complete 0)
;(message #welcome-pirate)

(set total	0)
(set accum	0)
(set addm	0)
(set firstdisk "")
(if (< (/ (getversion) 65536) 37)
	(abort #bad-kick)
)
(complete 1)

(set studio (askchoice (prompt #w-studio)
	(help #w-studio-help)
	(choices  #w-studio-choices0 #w-studio-choices1 #w-studio-choices2)
	(default 0)
))

(set prefdisk ("SYS:Prefs"))
(if (exists "sys:preferences")
(
	(set prefdisk ("SYS:Preferences"))
))
(if (exists "SYS:Prefs")
(
	(set prefdisk ("SYS:Prefs"))
))
(set prefdisk (askdir (prompt #ask-prefs)
	(help #ask-prefs-help)
	(default prefdisk))
)



(working #waitmsg)
(set total 70)
(if (> studio 0)
(
	(set total 100)
))
(set @default-dest "")
(set verorg 2)
(set revorg 0)
(set addm 4)
(Meter)
(copyfiles (source "lx")
	(dest "RAM:")
	(nogauge)
)
(set addm 3)
(Meter)
(set exerr (run "RAM:lx n"))
(if (> exerr 0)
(
	(abort (#abortunpack "-none-"))
))



(set addm 2)
(Meter)
(set studiopath "");
(if (= (exists "ENV:STUDIOPATH") 1)
(
	(set studiopath (getenv "StudioPath"))
))
(set addm 5)
(Meter)
(set found 1)
(if (> (strlen studiopath) 1)
(
	(if (= (substr studiopath 0 1)  "\"")
	(
		(set studiopath (substr studiopath 1 (- (strlen studiopath) 2)))
	))
	(if (= (exists studiopath) 1)
	(
		(if (= (fileonly studiopath) "Studio")
		(
			(set found 2)
			(if (askbool (prompt (#foundstudio (pathonly studiopath)))
				(choices #yesupdate #nodrawer)
				(help (#foundstudiohelp ))
				(default 1))
			(
				(set found 0)
			))
		))
	))
))
(set addm 5) ; 20
(Meter)
(if (> found 0)
(
	(if (= found 1)
	(
		(set studiopath (getassign "WORK" "d"))
		(if (= studiopath "")
		(
			(set studiopath (getassign "DH0" "d"))
			(if (= studiopath "")
			(
				(set studiopath (getassign "DH2" "d"))
				(if (= studiopath "")
				(
					(set studiopath "SYS:")
				))
			))
		))
		(set studiopath (tackon studiopath "Studio")) 
	))
	(set studiopath  (askdir (prompt #ask-studiomod)
		(help #ask-studiomod-help)
		(default (pathonly (studiopath)))
	))
	(set studiopath (tackon studiopath "Studio"))
	(if (<> (exists studiopath) 1)
	(
		(abort (#nostudiopro studiopath))
	))
	(textfile   (dest "Env:StudioPath")
		(append (cat "\"" studiopath "\"")) )
	(textfile   (dest "Envarc:StudioPath")
		(append (cat "\"" studiopath "\"")) )
))

(set addm 5)
(Meter)
(working #waitmsg)
(makeassign "STUDIOPARENT" (pathonly (studiopath)))
(set ver 2)
(set rev 15)
(if (= (exists "STUDIOPARENT:Studio") 1)
(
	(set vernum (getversion "STUDIOPARENT:Studio"))
	(set ver (/ vernum 65536))
	(set rev (- vernum (* ver 65536) ) )
))

(set addm 5) ; 30
(Meter)
(if (OR (< ver 2) (< rev 15))
(
	(abort (#bad-version2 ver rev))
))
(set addm 5)
(Meter)
(if (NOT (OR (> ver 2) (> rev 21)))
(
	(set exerr (run (cat "ram:lx x Studio/Studio.pkd \"STUDIOPARENT:\"")))
	(if (> exerr 0)
	(
		(abort (#abortunpack "Studio/Studio.pkd"))
	))
	(message #madstudioupdate)
	(working #waitmsg)
)
(
	(abort (#bad-version2 ver rev))
))
(set addm 5) ; 40
(Meter)




(set appdef 0)
(set fxassign "")
(set guessdrawer (getassign "ImageFX" "a"))
(if (<> guessdrawer "")
(
	(set fxassign "ImageFX:Modules/Printer")
))
(set guessdrawer (getassign "ImageFX2" "a"))
(if (<> guessdrawer "")
(
	(set fxassign "ImageFX2:Modules/Printer")
))
(set guessdrawer (getassign "ImageFX3" "a"))
(if (<> guessdrawer "")
(
	(set fxassign "ImageFX3:Modules/Printer")
))
(if (<> fxassign "")
(
	(set appdef (BITOR appdef (shiftleft 1 0)))
))

(set guessdrawer (getassign "PageStream3" "a"))
(if (<> guessdrawer "")
(
	(set appdef (BITOR appdef (shiftleft 1 1)))
))
(set guessdrawer (getassign "PageStream4" "a"))
(if (<> guessdrawer "")
(
	(set appdef (BITOR appdef (shiftleft 1 1)))
))
(set appdriv (askoptions (prompt #w-appdriv)
	(help #w-appdriv-help)
	(choices #w-appdriv-choices0 #w-appdriv-choices1)
	(default appdef)
))
(working #waitmsg)
(set addm 5)
(Meter)

(if (IN appdriv 0) ; ImageFX2 Driver
(
	(if (<> fxassign "")
	(
		(if (= (exists fxassign) 2)
		(
			(working #waitmsg)
			(set ver 0)
			(set rev 0)
			(if (= (exists (cat fxassign "/Studio")) 1)
			(
				(set vernum (getversion (cat fxassign "/Studio")))
				(set ver (/ vernum 65536))
				(set rev (- vernum (* ver 65536) ) )
			))
			(if (< ver 4)
			(
				(if (NOT (AND (= ver 3) (> rev 0)))
				(
					(set exerr (run (cat "RAM:lx x ImageFX2/fx.pkd " fxassign)))
					(if (> exerr 0)
					(
						(abort (#abortunpack "ImageFX2/fx.pkd"))
					))
					(set exerr (run (cat "RAM:lx x ImageFX2/" #namedocs ".pkd " (pathonly (pathonly (fxassign))))))
					(if (> exerr 0)
					(
						(abort (#abortunpack (cat "ImageFX2/" #namedocs ".pkd")))
					))
				))
			))
		)
		(
			(message (#nofx))
		))
	)
	(
		(message (#nofx))
	))
))
(set addm 5) ; 50
(Meter)
(if (IN appdriv 1) ; PageStream 3.2 beta 6,7,8,9 Driver
(
	(set pgsdrawer "Pagestream3:")
	(set guessdrawer (getassign "PageStream3" "a"))
	(if (= guessdrawer "")
	(
		(set guessdrawer (getassign "PageStream4" "a"))
		(set pgsdrawer "Pagestream4:")
	))
	(if (<> guessdrawer "")
	(
		(if (= (exists (cat pgsdrawer "SoftLogik/Printers")) 2)
		(
			(working #waitmsg)

			(set ver 0)
			(set rev 0)
			(if (= (exists (cat pgsdrawer "SoftLogik/Printers/Studio.printer")) 1)
			(
				(set vernum (getversion (cat pgsdrawer "SoftLogik/Printers/Studio.printer")))
				(set ver (/ vernum 65536))
				(set rev (- vernum (* ver 65536) ) )
			))
			(if (< ver 7)
			(
				(if (NOT (AND (= ver 6) (> rev 0) ))
				(
					(set exerr (run (cat "RAM:lx x PageStream3/PGS32b6.pkd " pgsdrawer "SoftLogik/Printers")))
					(if (> exerr 0)
					(
						(abort (#abortunpack "PageStream3/PGS32b6.pkd"))
					))
					(set exerr (run (cat "RAM:lx x PageStream3/" #namedocs ".pkd " pgsdrawer)))
					(if (> exerr 0)
					(
						(abort (#abortunpack (cat "PageStream3/" #namedocs ".pkd")))
					))
				))
			))
		)
		(
			(message (#nopgs))
		))
	)
	(
		(message (#nopgs))
	))
))

(set addm 5)
(Meter)
(if (= (exists prefdisk) 2)
(
	(makeassign "STUDIOPARENT" prefdisk)
	(if (= (exists "STUDIOPARENT:CanonBJECPref") 1)
	(
		(makeassign "STUDIODRIV" "Devs:printers")
		(if (= (exists "STUDIODRIV:CanonBJ-EC") 1)
		(
			(set exerr (run (cat "RAM:lx x \"Drivers/CanonBJEC.pkd\" \"STUDIODRIV:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Drivers/CanonBJEC.pkd"))
			))
			(set exerr (run (cat "RAM:lx x \"Prefs/CanonBJECPref.pkd\" \"STUDIOPARENT:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Prefs/CanonBJECPref.pkd"))
			))
			(message #madcanonupdate)
			(working #waitmsg)
		))
		(makeassign "STUDIODRIV")
	))
	(if (= (exists "STUDIOPARENT:EpsonP2Pref") 1)
	(
		(makeassign "STUDIODRIV" "Devs:printers")
		(if (= (exists "STUDIODRIV:EpsonP2") 1)
		(
			(set exerr (run (cat "RAM:lx x \"Drivers/EpsonP2.pkd\" \"STUDIODRIV:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Drivers/EpsonP2.pkd"))
			))
			(set exerr (run (cat "RAM:lx x \"Prefs/EpsonP2Pref.pkd\" \"STUDIOPARENT:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Prefs/EpsonP2Pref.pkd"))
			))
			(working #waitmsg)
		))
		(makeassign "STUDIODRIV")
	))
	(if (= (exists "STUDIOPARENT:SetupStylus") 1)
	(
		(set exerr (run (cat "RAM:lx x \"Prefs/SetupStylus.pkd\" \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack "Prefs/SetupStylus.pkd"))
		))
		(message (#setupmsg prefdisk))
		(working #waitmsg)
	))
	(if (= (exists "STUDIOPARENT:SetupPJL") 1)
	(
		(if (= (exists "Prefs/SetupPJL.pkd") 1)
		(
			(set exerr (run (cat "RAM:lx x \"Prefs/SetupPJL.pkd\" \"STUDIOPARENT:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Prefs/SetupPJL.pkd"))
			))
		))
	))
	(if (= (exists "STUDIOPARENT:SetupKXP") 1)
	(
		(if (= (exists "Prefs/SetupKXP.pkd") 1)
		(
			(set exerr (run (cat "RAM:lx x \"Prefs/SetupKXP.pkd\" \"STUDIOPARENT:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Prefs/SetupKXP.pkd"))
			))
		))
	))
	(if (= (exists "STUDIOPARENT:SetupBJL-BJC1xx") 1)
	(
		(if (= (exists "Prefs/SetupBJL-BJC1xx.pkd") 1)
		(
			(set exerr (run (cat "RAM:lx x \"Prefs/SetupBJL-BJC1xx.pkd\" \"STUDIOPARENT:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Prefs/SetupBJL-BJC1xx.pkd"))
			))
		))
	))
	(if (= (exists "STUDIOPARENT:SetupBJL-BJC2xx") 1)
	(
		(if (= (exists "Prefs/SetupBJL-BJC2xx.pkd") 1)
		(
			(set exerr (run (cat "RAM:lx x \"Prefs/SetupBJL-BJC2xx.pkd\" \"STUDIOPARENT:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Prefs/SetupBJL-BJC2xx.pkd"))
			))
		))
	))
	(if (= (exists "STUDIOPARENT:SetupBJL-BJC4xxx") 1)
	(
		(if (= (exists "Prefs/SetupBJL-BJC4xxx.pkd") 1)
		(
			(set exerr (run (cat "RAM:lx x \"Prefs/SetupBJL-BJC4xxx.pkd\" \"STUDIOPARENT:\"")))
			(if (> exerr 0)
			(
				(abort (#abortunpack "Prefs/SetupBJL-BJC4xxx.pkd"))
			))
		))
	))
))
(working #waitmsg)



(set addm 5) ; 60
(Meter)
(set drivername "")
(set prefname "")
(set envname "")
(set presetname "")
(set setupname "")
(set setuptool "")
(set soutput "")
(set sprofile "")
(set sprofile2 "")
(set studiodefault "")

(if (= studio 1)	; Stylus Photo
(
	(set drivername "EpsonP2")
	(set prefname "prefs/EpsonP2Pref")
	(set envname "EpsonP2Pref")
	(set presetname "DriverPresets/StylusColor400")
	(set setupname "Prefs/SetupStylus")
	(set setuptool "StylusPhoto")
	(set soutput   "output/StylusPhoto")
	(set sprofile  "Profiles/StylusPhoto700-EX")
	(set studiodefault "StylusPhoto")
))
(if (= studio 2)	; Stylus Photo 700/EX
(
	(set drivername "EpsonP2")
	(set prefname "prefs/EpsonP2Pref")
	(set envname "EpsonP2Pref")
	(set presetname "DriverPresets/StylusColor400")
	(set setupname "Prefs/SetupStylus")
	(set setuptool "StylusPhoto700EX")
	(set soutput   "output/StylusPhoto700-EX")
	(set sprofile  "Profiles/StylusPhoto700-EX")
	(set studiodefault "StylusPhoto700-EX")
))

(set addm 5) ; 65
(Meter)
(if (> studio 0)
(
	(if (<> drivername "")
	(
		(makeassign "STUDIOPARENT" "Devs:Printers")
		(set exerr (run (cat "RAM:lx x drivers/" drivername ".pkd \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack (tackon "Drivers" drivername)))
		))
		(set delenv 1)
		(if (= (exists (cat "ENV:" envname)) 1)
		(
				(if (NOT (askbool (prompt (#delenv))
					(choices #yesupdate #nochange)
					(help (#delenvhelp))
					(default 1)))
				(
					(set delenv 0)
				))
		))
		(working #waitmsg)
		(if (> delenv 0)
		(
			(if (exists "ENV:")
			(
				(delete (cat "ENV:" envname))
			))
			(if (exists "ENVARC:")
			(
				(delete (cat "ENVARC:" envname))
			))
			(if (<> presetname "")
			(
				(if (= (exists presetname) 1)
				(
					(copyfiles (source presetname)
						(dest "ENV:")
						(newname envname)
						(nogauge)
					)
				)
				(
					(if (= (exists (cat presetname ".pkd")) 1)
					(
						(set exerr (run (cat "RAM:lx x " presetname ".pkd ENV:")))
						(if (> exerr 0)
						(
							(abort (#abortunpack (cat presetname ".pkd")))
						))
						(if (exists (cat "ENV:" envname))
						(
							(delete (cat "ENV:" envname))
						))
						(rename (cat "ENV:" (fileonly presetname)) (cat "ENV:" envname))
					))
				))
				(if (= (exists (cat "ENV:" envname)) 1)
				(
					(if (exists "ENVARC:")
					(
						(copyfiles (source (cat "ENV:" envname))
							(dest "ENVARC:")
							(newname envname)
							(nogauge)
						)
					))
				))
			))
		))
	))
	(set addm 5)
	(Meter)
	(if (<> prefname "")
	(
		(makeassign "STUDIOPARENT" prefdisk)
		(set exerr (run (cat "RAM:lx x " prefname ".pkd \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack prefname))
		))
	))
	(set addm 5)
	(Meter)
	(if (<> setupname "")
	(
		(makeassign "STUDIOPARENT" prefdisk)
		(set exerr (run (cat "RAM:lx x " setupname ".pkd \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack (cat setupname ".pkd")))
		))
		(set exerr (run (cat "RAM:lx x " setupname "Info.pkd \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack (cat setupname "Info.pkd")))
		))
		(if (<> setuptool "")
		(
			(tooltype (prompt "")
				(help "")
				(dest (cat "STUDIOPARENT:" (fileonly setupname)))
				(settooltype "PRINTER" (setuptool))
				(noposition))
		))
		(message (#setupmsg prefdisk))
		(working #waitmsg)
	))
	
	(set addm 5)
	(Meter)
	(if (<> soutput "")
	(
		(makeassign "STUDIOPARENT" (tackon (pathonly (studiopath)) "Studio_Output"))
		(set exerr (run (cat "RAM:lx x \"" soutput ".pkd\" \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack (cat soutput ".pkd")))
		))
	))
	(set addm 5)
	(Meter)

	(if (<> sprofile "")
	(
		(makeassign "STUDIOPARENT" (tackon (pathonly (studiopath)) "Studio_Profiles"))
		(set exerr (run (cat "RAM:lx x \"" sprofile ".pkd\" \"STUDIOPARENT:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack (cat sprofile ".pkd")))
		))
	))
	(set addm 5)
	(Meter)

	(if (<> studiodefault "")
	(
		(makeassign "STUDIOPARENT" (tackon (pathonly (studiopath)) "Studio_Prefs"))
		(set exerr (run (cat "RAM:lx x \"" (tackon "StudioPresets" (cat studiodefault ".pkd\"")) " \"T:\"")))
		(if (> exerr 0)
		(
			(abort (#abortunpack (tackon "StudioPresets" (cat studiodefault ".pkd"))))
		))
		(copyfiles (source (cat "T:" studiodefault ".prefs"))
			(dest "STUDIOPARENT:")
			(newname "DefaultSettings")
			(nogauge)
		)
		(if (exists "STUDIOPARENT:Studio.prefs")
		(
			(if (askbool (prompt (#sdelenv))
				(choices #yesupdate #nochange)
				(help (#sdelenvhelp))
				(default 1))
			(
				(delete "STUDIOPARENT:Studio.prefs")
			))
		))
		(working #waitmsg)
	))
	(set addm 5)
	(Meter)

	(if (<> drivername "")
	(
		(message (#installed drivername (fileonly prefname)))
		(makeassign "STUDIOPARENT" prefdisk)
		(if (exists "sys:prefs/printer")
		(
			(run "sys:prefs/printer")
		)
		(
			(if (exists "STUDIOPARENT:printer")
			(
				(run "STUDIOPARENT:printer")
			)
			(
				(if (exists "sys:prefs/preferences")
				(
					(run "sys:prefs/preferences")
				))
			))
		))
	))
))


(set addm 5)
(Meter)
(working #waitmsg)

(run "RAM:lx n")
(delete "RAM:lx")
(makeassign "STUDIOPARENT")
(complete 100)
