I have the menu command “Convert Expression to Keyframes” working correctly in an automation, however it requires that particular composition to be active. Is it possible at all to have it working without having to open each composition? I am pretty sure this is an Adobe quirk on this particular command but thought I’d at least ask here before giving up.
this is possible, the thing is that menu command works on the selected specific UI elements so if you can manipulate the selection of that UI element you can use the menu command many times on different objects.
In AT you can make any comp the “active comp” with the “open in viewer” item action, you can also select properties (transform, effects, layerstyles) of the layer using the property action “property selected”.
so in this process you have to loop on all the compositions, make each comp active, then select the layers or the properties and use the menu command.
keep in mind that this will affect all the previously selected props/layers, so you will have to clear the selection every time with the menu command “Deselect All” but unfortunately this will also affect the selected comps in the project panels, so you will have to save them before, for that you can use an item collection.
I created an example for you,
in the example I wanted to convert the layers position expression to keyframes on all the selected compositions.
All the steps:
- find the current active comp(so the automation will open this comp in the viewer again at the end).
- create an empty item collection.
- add to this collection all the selected compositions in the project panel.
- loop over this collection, open each composition in the viewer, loop over the layers in the composition, deselect all, select the position property of the layer, run the menu command “Convert Expression to Keyframes”
- open the previously active composition.
Convert Expression to Keyframes.json (19.9 KB)
I hope this explanation make sense, please let me know if you have more questions,
Collections! Do’h! Of course. Thanks!!