I know this is a little long; If you’re anything like me, you don’t read scripts without thenice formatting Script Editor affords.The problem is–it simply doesn’twork. Earlier versions of this did work, but I added the properties, and shortened theSlideShow() handler about 75% by cutting out if 's for each condition, in an attemptto tidy things up, make it more elegant, and allow for easy altering of the generalperameters. This was my first attempt at expressions likeset withoutList to {“shuffling”, genwithoutList}.I’m just winging it, so I’ve probably yet to fully understand this, if not other,aspects of the language I’ve used here.
Another point of confusion, when it gets to sending data to JPEGView, the script sends a bunch of uncomprehensible characters beginning with “acevt” and ending with “end tell”. If you replace SlideShow() with something like display dialog (withList, withoutList)everything seems to be in order!Thank you very much if you even just giving it your time.
Here’s the script:
property genwithList : {"images from disk", "filenames", "no errors", "looping", "hidden controls", "hidden windoids"}
property genwithoutList : {"offscreen drawing", "screen saver", "recursive scan", "auto comments"}
global withList, withoutList, daTimeon
open daList
if CommandIsDown then set withoutList to {"shuffling", genwithoutList}--Initialize both lists…
set withList to genwithList
else
set withList to {"shuffling", genwithList}
set withoutList to genwithoutList --…in either case.
end if
if OptionIsDown then
set withList to {"user control", withList} --adds to withList
set daTime to ""
else
SetTime()
end if
SlideShow(daList)
end open
on run
set daFolder to (choose folder with prompt "Choose a folder for a slide show.")
if button returned of (display dialog "Do you wish the pictures to be shown in order or at random?" buttons {"In Order", "Random"} default button 2) is "Random" then
set withList to {"shuffling", genwithList} --Initialize both lists…
set withoutList to genwithoutList
else
set withoutList to {"shuffling", genwithoutList}
set withList to genwithList --in either case.
end if
SetTime()
SlideShow(daFolder)
end run
on SetTime()
set daTime to text returned of (display dialog "Enter number of seconds to delay, or blank for user control:" default answer "15")
if daTime >= 1 then
set withoutList to {"user control", withoutList} --adds to withoutList
else
set withList to {"user control", withList} --adds to withList
end if
return
end SetTime
on SlideShow(fileList)
try
tell application "JPEGView"
activate
slide show fileList ¬
with delay daTime ¬
with withList without withoutList
end tell
on error
tell application "JPEGView"
quit
SlideShow(fileList)
end tell
end try
end SlideShow