ok this one is totalling baffling.
I have a script to setup comps with a stack of layers where each layer is basically a freeze-frame from the video, each layer has time-remapping enabled and then I set the value at time 0 for each layer (and then delete the second key). I have been using this technique in one way or another for years without any issues. Then today I noticed some glitchy results from a certain point. I assumed it was a 24/25fps issue but no, it appears to be a rounding issue when the time-remap being set is greater than 512 secs.
so my trouble shooting code looks something like this (the timeOffset value is 0.04 or 1 frame at 25fps)
alert("tmap about to set as " + (i*timeOffset)) tMap.setValueAtTime(0,(i*timeOffset); alert("tmap value that was actually set" + tMap.valueAtTime(0,true))
so when trying to set the the time to 512.04 first alert comes back with 512.04 as planned but the second alert comes back with 512.039978027344.
obviously Ae is doing some internal rounding to come back with a whole frame number (as shown in the UI) but here's the weird part, that internal rounding seems to work fine all the way up to the 512 sec point but then starts going whack, almost like it's switched from round() to floor()
i.e.
if I set 484.04 I actually get get 484.039978027344 which i sounded to show frame 00:08:04:01 which is what I want
but if I set 512.04 I get 512.039978027344 but Ae rounds down to show frame 00:08:32:00 instead of 00:08:32:01, not what i want.
very frustrating.
surely this is a bug right ?
../jl