Hi Scott - In my case I let my users decide how many times the GIF cycles, so it more than likely will be more than once through, but not infinitely as in -1. I like your second option, below, but how are you getting the GIF's frame delay? Did I miss that Livecode property somewhere?

On 2/10/2016 4:06 PM, Scott Rossi wrote:
If you want the GIF to stop playing when it reaches the last frame, why
wouldn't you set the repeatCount to 1?

If your GIF can play multiple times through (repeatCount = -1), then I
believe the only way you can track its frames is to poll it, with a
frequency that slightly exceeds its frame delay.  Try running a loop while
the GIF is playing, maybe something like:

# GIF WITH 10 MS FRAME DELAY

on mouseUp
    set the repeatCount of img "myGif" to -1
    trackPlayback
end mouseUp

on trackPlayback
    if the currentFrame of img "myGif" > (the frameCount of img "myGif" - 1)
then
       set the repeatCount of img "myGif" to 0
       set the currentFrame of img "myGif" to the frameCount of img "myGif"
-- just to be sure
       exit trackPlayback
    end if
    send "trackPlayback" to me in 8 millisecs
end trackPlayback


Regards,

Scott Rossi
Creative Director
Tactile Media, UX/UI Design



On 2/10/16, 12:06 PM, "use-livecode on behalf of Ray"
<use-livecode-boun...@lists.runrev.com on behalf of r...@linkit.com> wrote:

It would also be helpful if a message was sent each time a new frame is
displayed.  We could trap for those messages, count them, and go from there.

On 2/10/2016 2:48 PM, Sannyasin Brahmanathaswami wrote:
I have a similar need.

  Seems we can set the repeatCount, but I don¹t see a way to test for
³currentLoop²

  Theoretically we need something like ‹ where I am making up an unknown prop
called ³currentLoop":

  if (the currentFrame of img "myGif" = the frameCount of img ³myGif²) AND \
  (the currentLoop of img ³myGif" = the repeatCount of img ³myGif")

  then

  answer ³Ok I am indeed done²

  end if

  On February 10, 2016 at 9:29:57 AM, Ray
(r...@linkit.com(mailto:r...@linkit.com)) wrote:

  Thanks Scott, but if you've set the RepeatCount to more than 1 and it's
  looping through the frames, twice for example, isn't there a possibility
  you'll get the CurrentFrame the same as the FrameCount too early?

_______________________________________________
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


_______________________________________________
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

Reply via email to