Replicate Selected?
-
Hello again-
Is there a way to replicate comps based on a selection? Or a way of accessing the replicate command through ExtendScript?
So I could create something that loops through each selected comp, makes it the target and replicates it?
-
Depending on the specifics of what you’re trying to achieve, there are a few ways that we might go about this. We’ve used ExtendScript in the past to alter project files as needed before Templater versions them, so that might be one way to go. However, before we get into that, I wanted to suggest the use of the
target
reserved column.The
target
reserved column should allow us to designate an output comp based on values from our Data Source. Using this term, we should be able to replicate a single Job, assign different comps for each output, and achieve the desired results.It might be possible, depending on the specifics, to achieve something similar using an ExtendScript, but I’d probably start by trying some test runs using the
target
value to designate which comps should be re-versioned. If you run into issues or limitations there, let us know some more about what you’re trying to achieve, and if we can come up with another solution, we’ll be happy to share it.Thanks,
Jeff
-
@Jeff Thanks again for your response. I’ve been contemplating using the target, but I don’t think it will work for the scale of the task I’m trying to achieve. Please correct me if I’m wrong, but the target operates per row right? I have one AEP containing 20 to 30 comps that need to be replicated to 24 languages. The AEP itself contains about 120 text layers that have the Templater effect applied. So I would need to create a row for each comp, for each language. Which would get into the territory of 500 to 700 rows, of mostly redundant text. I might have this wrong, so please let me know.
If I’m right, please serve me the liqueur of ExtendScript Elucidation.
-
Now that I have a better idea of what you’re trying to accomplish, I don’t think that an ExtendScript is going to be the way to go.
The issue, as far as I can see, with what’s been laid out here, is that no matter how things are set up, we’ll still need a relatively large data block to instruct Templater on what to do with each layer being swapped out.
With all that in mind, I can think of a couple of ways of achieving this. The first is, as you described, just to create a very large data set. Since we would need the altered text for each Job that Templater was going to run, we would need an extensive data set anyway, and, if I understand correctly, we should be able to use the standard copy-and-paste tools in a Google Sheet to create the final data without too much extra work.
The other method would be to use Templater Bot to monitor a data source with one row. Then, we would need some sort of scripting solution to change the details in that row to update the language and the target comp before changing the
render-status
to ready.Depending on the details, this might save some time, but since the updated data would have to come from some other source, we’d still be looking at setting up a large, repetitive data set for the script to use to update the Bot Job. I tried to come up with some sort of workaround for this, but I believe that you’ll likely end up with a similar result to the previous suggestion, just with more steps.
Finally, while an ExtendScript might be used to alter the
target
value of the Templater Job based on a selection that was highlighted in the project interface, we’d still need to kick off the Render and point it to a relatively large data set to start the reversioning process.Any way I consider it, we’re always stuck with the problem of needing a large data set for Templater to process. Because of that limitation, I think our best bet will be the most straightforward solution of creating a large sheet with similar entries for Templater to process. Any of the other solutions that I can come up with are just going to add additional steps and complexity to that base idea, which could end up making the process less stable overall.
The only other suggestion that might help expedite the process would be to look into creating a Google App Script to generate the data in the Google Sheet. This would expedite the data entry process while allowing After Effects and Templater to do what they’re best at.
Hopefully, that helps to clarify things, but if there’s anything else we can do to help, let us know.
Thanks,
Jeff
-
@Jeff Hi Jeff-
Thanks for another thoughtful response. One thing that I omitted about my process is that I’m not rendering immediately. I’m using Templater to import text to replicate comps that get distributed to motion designers so they can make tweaks to the animations and text after import. If there is a way to access Replicate via ExtendScript please let me know so I can explore a potential solution.Thanks again!
-
Unfortunately, ExtendScript doesn’t contain any hooks that can be used to control Templater. Templater can execute ExtendScripts via the Event Scripts feature at various points throughout the reversioning process, but ExtendScript can’t kick off a render or replication operation.
The closest thing I could recommend for that sort of behavior would be to run Templater in CLI mode. That would allow you to start Templater up in a way that could be executed via a script or some other form of automation.
Thanks,
Jeff