I’m looking at what a MOGRT exposes ( in the sample below after adding it to the timeline) and am I seeing very odd behavior.
At first I though I was missing an await somewhere, causing the seemingly race condition but I don’t see what I messed up (if you do please point out where ).
Here is what I use to troubleshoot (minimal code for clarity)
const ppro = require("premierepro");
// [... snip ...]
log("====================")
const proj = await ppro.Project.getActiveProject()
const seq = await proj.getActiveSequence()
const tt = ppro.TickTime.createWithSeconds(5)
const seqEdit = await ppro.SequenceEditor.getEditor(seq)
let videotrackColl = null
proj.lockedAccess( () => {
videotrackColl = seqEdit.insertMogrtFromPath("C:\\Users\\marcc\\AppData\\Roaming\\Adobe\\UXP\\PluginsStorage\\PPROBETA\\26\\Developer\\Test-pdmzcd\\PluginData\\Mogrt_Sample_1.mogrt", tt, 2, 2)
})
await videotrackColl[0].getName()
for(let item of videotrackColl) {
log(await item.getName())
const componentChain = await item.getComponentChain()
let count = await componentChain.getComponentCount()
log("1 -> " + count)
count = await componentChain.getComponentCount()
log("2 -> " + count)
for(let i = 0; i < count; i++) {
const component = await componentChain.getComponentAtIndex(i)
const name = await component.getDisplayName()
log(name)
}
}
As one would expect, the result is the same for “1 → xyz“ and “ 2→ xyz“ log entries:
However if I put a breakpoint in between the 2 logs (then execute right away once the breakpoint is hit), the result is different.
Note that the second one is correct, this mogrt should report 5 components, “text” and “Shape” never show up before)
What did I mess up here ?
Or is it a bug (previously known or not) ?
Thx !

