[UXP-API] How can I get a stable unique ID for a Premiere Pro UXP FolderItem/bin, since after FolderItem.cast() I only see name, type, getItems(), etc., but no id, guid, nodeId, ObjectUID, or metadata API?
Hi Adobe team,
I’m building a Premiere Pro UXP panel that needs to synchronize the project bin hierarchy with an external system.
I can traverse the project tree successfully using:
const ppro = require("premierepro"); const project = await ppro.Project.getActiveProject(); const rootItem = await project.getRootItem(); async function walk(item) { const folderItem = ppro.FolderItem.cast(item); if (folderItem) { console.log(folderItem.name, folderItem.type); const children = await folderItem.getItems(); for (const child of children) { await walk(child); } } } await walk(rootItem);
However, after casting a ProjectItem to FolderItem, I cannot find any stable identifier for the bin.
For example, inspecting a FolderItem only shows fields/methods like:
name type getItems() getProject() getColorLabelIndex() createBinAction() createMoveItemAction() createRemoveItemAction() createRenameBinAction() createSetColorLabelAction() createSetNameAction() createSmartBinAction()
I do not see anything like:
id guid nodeId ObjectUID ObjectURef getId() getGuid() getProjectMetadata() getXMPMetadata()
In ExtendScript, ProjectItem appears to expose nodeId, and in the saved .prproj XML there are ObjectUID / ObjectURef values. But I cannot find an equivalent stable bin identifier in UXP.
My questions are:
- Is there any supported way in UXP to get a stable unique ID for a FolderItem / bin?
- If not, what is Adobe’s recommended approach for synchronizing a Premiere project bin hierarchy with an external system?
- Are ObjectUID, ObjectURef, or ExtendScript ProjectItem.nodeId expected to be exposed in UXP in the future?
- Is using indexPath / tree position plus bin name the only current UXP workaround?
The goal is to detect renamed, moved, created, and deleted bins reliably across saves/reopens, without treating every changed path as a brand-new bin.
Thanks.
