I am a video editor currently learning UXP coding.
Im just making a script to insert some metadata into many projectItems.
this is an example of the script:
for (const item of matchedItems) {
const updatedFields = ["Column.PropertyBool.Good", "Column.Intrinsic.LogNote", "Column.PropertyText.Scene", "Column.PropertyText.Shot", "Column.PropertyText.Description"];
const metadata = `
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 9.0-c001 152.deb9585, 2024/02/06-08:36:10 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="" xmlns:premierePrivateProjectMetaData="http://ns.adobe.com/premierePrivateProjectMetaData/1.0/">
<premierePrivateProjectMetaData:Column.Intrinsic.Name>${combinedFileName}</premierePrivateProjectMetaData:Column.Intrinsic.Name>
<premierePrivateProjectMetaData:Column.PropertyText.Label>BE.Prefs.LabelColors.${label}</premierePrivateProjectMetaData:Column.PropertyText.Label> <premierePrivateProjectMetaData:Column.PropertyBool.Hide>True</premierePrivateProjectMetaData:Column.PropertyBool.Hide>
<premierePrivateProjectMetaData:Column.PropertyBool.Good>${rate}</premierePrivateProjectMetaData:Column.PropertyBool.Good>
<premierePrivateProjectMetaData:Column.PropertyText.Scene>${scene}</premierePrivateProjectMetaData:Column.PropertyText.Scene>
<premierePrivateProjectMetaData:Column.PropertyText.Shot>${combinedName}</premierePrivateProjectMetaData:Column.PropertyText.Shot>
<premierePrivateProjectMetaData:Column.PropertyText.Description>${desc}</premierePrivateProjectMetaData:Column.PropertyText.Description>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>
`;
const projectItem = ppro.ProjectItem.cast(item);
const setProjectMetadataAction = ppro.Metadata.createSetProjectMetadataAction(projectItem, metadata, updatedFields);
project.lockedAccess(() => {
project.executeTransaction((compoundAction) => {
compoundAction.addAction(setProjectMetadataAction);
}, "createSetProjectMetadataAction");
});
}
well but this gives a lot of history in each column of metadata that is input. so I can’t undo it all.
what I want to ask is how to make all this history into 1 action. so I can undo it all at once.
sorry maybe this is a stupid question, because I’m just learning and don’t know where to ask