In essence, you want something like the following:
(this assumes a capital Q typed to the card will quit the display. It
could easily be changed to clicking a button - so long as the mouseUp
handler would set the script-local when appropriate).
local sStopRequested
command playShow
local tPhotos
put FALSE into sStopRequested
put randomPhotoList() into tPhotos
repeat for each line L in tPhotos
dispatch "loadImage" with L
wait 5 seconds with messages
if sStopRequested then exit repeat
end repeat
dispatch "loadImage" with "defaultMainImage"
end playShow
on rawKeyUp pKey
if pKey = "Q" then
put TRUE into sStopRequested
else
pass rawKeyUp
end if
end rawKeyUp
NB this has the limitation that there will be a delay of up to 5 seconds
after the user types the 'Q" before it takes effect. If you need to
avoid that and get more immediate response, then you could replace
wait 5 seconds with messages
if sStopRequested then exit repeat
with
repeat 5 times
if sStopRequested then exit repeat
wait 1 second with messages
end repeat -- for the number of seconds
if sStopRequested then exit repeat
or similar (or put that logic into a handler).
And as a bonus, you could easily add more typing options ...
Q for quite the slideshow
SPACE for next photo immediately
arrowkey for next/previous, erc
Alex.
On 31/12/2018 15:02, Sannyasin Brahmanathaswami via use-livecode wrote:
global sConfigA,sHomeImageFile,sNarrativePlayFlag,sMainImage,sNextImage
command startNarrative
put path_Assets()& "img/siva-darshan/who-is-siva_1200x800.jpg" into
sHomeImageFile
put "true" into sNarrativePlayFlag
put the long id of img "homeStoryMainImage" of me into sMainImage
put randomDietyPhotos() into tPhotoList
repeat for each line pPath in tPhotoList
if sNarrativePlayFlag then
dispatch "loadNewImage" to me with pPath
--send "loadNewImage pPath" to me
wait for 1 seconds
else
put pendingMessages()
--loadNewImage sHomeImageFile
-- screen with visual effect "dissolve"
exit repeat
end if
end repeat
end startNarrative
command loadNewImage pPath
hide sMainImage with effect "dissolve" to black
lock screen
set the filename of sMainImage to pPath
setRectOfCurrentGrc sMainImage
put the loc of this card into tLoc
subtract 27 from item 2 of tLoc
resizeToHeight sMainImage,(the height of this card -58)
set the loc sMainImage to tLoc
unlock screen --with visual effect "dissolve"
show sMainImage with visual effect "dissolve"
end loadNewImage
command stopShow
loadNewImage sHomeImageFile
put "false" into sNarrativePlayFlag
end stopShow
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode