First and foremost, a huge thank you to the Adobe development team for their hard work on the UXP platform!
As Premiere Pro’s UXP is still in its Beta phase, many developers are encountering challenges and missing APIs while migrating their existing CEP extensions.
This thread serves as a community-driven summary of the specific APIs and functionalities that are currently missing or difficult to implement in UXP compared to CEP. Please share the interfaces you need and describe the hurdles you’re facing. I will periodically collect, organize, and summarize these points to help provide a clear overview for everyone.
By sharing our experiences, we can help contribute to making UXP plugins even more powerful and robust.
Suggested Format for Submissions:
- Required API/Functionality:
- Description & Use Case:
- Current UXP Alternative (if any):
- Additional Notes / Challenges:
We look forward to your feedback! Let’s help each other build a better UXP ecosystem.
1 Like
Cannot set entry and exit points for sequences, and AME must be installed to export audio
export async function setInOutPoint(project: Project) {
if (!project) {
log(`No project found.`, "red");
return;
}
const inPoint = ppro.TickTime.createWithSeconds(2);
const outPoint = ppro.TickTime.createWithSeconds(4);
const clipProjectItem = await getClipProjectItem(project);
let success = false;
try {
project.lockedAccess(() => {
success = project.executeTransaction((compoundAction) => {
let action = clipProjectItem.createSetInOutPointsAction(
inPoint,
outPoint
);
compoundAction.addAction(action);
}, "createSetInOutPointsAction");
});
} catch (err) {
log(`Error: ${err}`, "red");
return false;
}
return success;
}
This code only works on video clips but does not function properly on Sequences. Moreover, the following methods:
createSetInPointAction(tickTime: any): Action //Returns an action which Sets the in point of the Project item
createSetOverridePixelAspectRatioAction(inNumerator: any, inDenominator: any): Action //Returns an action which sets Override pixel aspect ratio
createSetOverrideFrameRateAction(inOverriddenFrameRateValue: any): Action //Returns an action which sets the override frame rate
createSetOutPointAction(tickTime: any): Action //Returns an action which Sets the in point of the Project item
createSetInOutPointsAction(inPoint: TickTime, outPoint: TickTime): any //Set the in or out point of the Project item
createClearInOutPointsAction(): Action //Create Clear the in or out point of the Project item action
have no effect.
For example, I cannot use this code to set in and out points, and can only render the entire content.
let encoder = await app.EncoderManager.getManager();
if (!encoder.isAMEInstalled) {
result.code = 203;
result.msg = 'no_ame_installed';
return result;
}
const render = await encoder.exportSequence(
sequence /*@ts-ignore*/,
app.Constants.ExportType.IMMEDIATELY, // export in Premiere Pro
data.mp3Path, // file path to export to
data.eprPath // preset file
);
Moreover, it requires AME to be installed, but I recall that in the CEP environment, AME is not required.