Duration of image layer
Templater looks near perfect for my needs, apart from one challenge I would like some pointers on working around. In the Video slideshow demo (https://www.youtube.com/watch?v=ROc25ZK8Hig&t=1181s) the duration of each layer is determined by the duration of the video footage contained within. This appears to happen automatically as each row is read and the project is updated.
What I am trying to achieve is broadly the same, but rather than a set of videos, I am using a set of images (eventually with a Ken Burns type effect applied). I want each image to be synced with music, and have the time points for each transition in my spreadsheet.
How do I set the duration of each image layer based on source data? Ideally based on a column in my spreadsheet?
You can do this, but you would need to use the Templater ExtendScript API which lets you run ExtendScript code when Templater broadcasts an event while it processes your data. The ExtendScript can read your re-versioning data using the
$Dobject, and specifically using the
So, for the case of still images being sync’ed to specific time codes you will need to write a script that reads the time code from the re-versioning data, and then alter the layer for that time code. Out-of-the-box, duration is something that is only inherent to audio / video footage layers, but since still images have no inherent duration, you need to explicitly set it using code.
Does this help?
@alip as another idea, to add to what @ariestav suggested, if you know the duration, you can also us “dummy” video clips that are the correct duration, then use the Time properties of the Templater Settings effect to match the duration of the images to the duration of the videos. Similarly, you could also have each image precomped, and use the duration of the precomp pre-set to the duration you want, then set the duration of the clip to fill the full duration of the precomp. These two solutions don’t require using ExtendScript, but they would be limited syncing to one song, rather than songs with different durations/transitions on a per-job basis. If you need per-song flexibility, with different timings, you would need to look into using ExtendScript events as previously mentioned.