Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Struggling with Premiere Pro Plugin/Extension development!!

New Here ,
Apr 03, 2025 Apr 03, 2025

I am developing an extension for Adobe Premiere Pro, but I am struggling to get started as I am unable to properly understand the docs on CEP and the Premiere Pro API. I am finding it difficult to understand how to integrate these technologies properly, and I haven't come across any comprehensive resources that clearly explain the process.

Previously, I experimented with UXP, but I encountered limitations due to certain unsupported APIs and features. Now, I am unsure whether I should continue with CEP and try to work through its complexities or move back to UXP, hoping for better long-term support.

I am looking for:

i)Clear learning resources or tutorials for CEP and the Premiere Pro API.

ii)Guidance on how to properly integrate CEP with Premiere Pro.

iii)Insights into whether CEP is still the best approach or if UXP has improved enough to be a viable alternative.

If anyone has experience with this or can recommend useful resources, I would really appreciate your insights!

TOPICS
How to , SDK
397
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Adobe Employee , Apr 10, 2025 Apr 10, 2025

>when I click on the sample test buttons they aret't working.
That's bizarre; no other developer has reported that behavior. PProPanel has been working fine, for years. Perhaps start with a fresh copy of PProPanel? 

Translate
Community Expert ,
Apr 03, 2025 Apr 03, 2025
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Apr 03, 2025 Apr 03, 2025

i)Clear learning resources or tutorials for CEP and the Premiere Pro API.
ii)Guidance on how to properly integrate CEP with Premiere Pro.

The PProPanel sample is the right starting point. PPro's ExtendScript API docs are here.

>iii)Insights into whether CEP is still the best approach or if UXP has improved enough to be a viable alternative.

You don't mention when you last checked, but if UXP already supports what you're trying to do (or is close), we definitely recommend using UXP.





Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 05, 2025 Apr 05, 2025

I've seen them before but I thought they are olderversions and I want CEP12 proper sample which will act as a boiler plate code for me to start of. 
Another issue I was facing is I am unable to run extendscript in jsx file from the main.js file. The pathing is correct and I have also set the PlayerDebugMode to 1 in Registry Editor. There is no proper error message, it just says EvalScript Error and I am unable to Debug it.
I need your assistance here.

Thank you in advance!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Apr 05, 2025 Apr 05, 2025

If UXP won't yet work, then PProPanel is the right starting point. 

I am unable to run extendscript in jsx file from the main.js file.

Where does your implementation, depart from PProPanel's? 

it just says EvalScript Error and I am unable to Debug it.

What prevents you from setting breakpoints, and debugging it?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 05, 2025 Apr 05, 2025

> If UXP won't yet work, then PProPanel is the right starting point. 

Are there any other newer samples available, the PPRO panel is supported well till v23.0.
I also found the code complex to understand. It's large for a starter panel.

> What prevents you from setting breakpoints, and debugging it?

This the code I have been trying to run

 

// main.js

const cs = new CSInterface();

function loadJSX() {
  const jsxPath = cs.getSystemPath(SystemPath.EXTENSION) + "/jsx/interface.jsx";
  console.log("Loading JSX from:", jsxPath);
  cs.evalScript(`$.evalFile("${jsxPath.replace(/\\/g, '\\\\')}")`);
}

document.addEventListener("DOMContentLoaded", () => {
  loadJSX();

  // Show alert
  document.getElementById("alertBtn").addEventListener("click", () => {
    cs.evalScript("showAlert()");
  });

  // Razor at timecodes
  document.getElementById("razorBtn").addEventListener("click", () => {
    // Timecodes in seconds
    const timecodes = [1.0, 2.5, 4.0];
    const timecodeString = JSON.stringify(timecodes);

    cs.evalScript(`razorAtTimecodes(${timecodeString})`, (result) => {
      document.getElementById("result").textContent = result;
    });
  });
});
// interface.jsx

function razorAtTimecodes(timecodes) {
    var sequence = app.project.activeSequence;
    if (!sequence) {
        return "No active sequence.";
    }

    var frameRate = sequence.getSettings().videoFrameRate;

    for (var i = 0; i < timecodes.length; i++) {
        var seconds = timecodes[i];
        var t = new Time();
        t.seconds = seconds;

        var videoTrack = sequence.videoTracks[0];
        if (videoTrack) {
            videoTrack.razor(t.ticks);
        }
    }

    return "Razor complete.";
}

function showAlert() {
    alert("Hello from ExtendScript!");
}

 

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>CEP Starter</title>
  <link rel="stylesheet" href="style.css">
  <script src="js/CSInterface.js"></script>
  <script src="main.js" defer></script>
</head>
<body>
  <div class="container">
    <h2>Alert Demo</h2>
    <button id="alertBtn">Trigger JSX Alert</button>
    <button id="razorBtn">Razor Sequence</button>
  </div>
</body>
</html>

 

I downloaded the CSInterface from here 


 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Apr 06, 2025 Apr 06, 2025

>Are there any other newer samples available

 

No; PProPanel remains the right starting point.

The code snippets you provided attempts to use unsupported QE DOM calls, without enabling QE DOM.


> I also found the code complex to understand. It's large for a starter panel.

PProPanel demonstrates how to do basically everything. 🙂 The complexity is appropriate. 


>There is no proper error message, it just says EvalScript Error and I am unable to Debug it.

 

Use Visual Studio Code (and the ExtendScript Debugger VSCode extension) to set breakpoints in PProPanel's ExtendScript, load the panel, and step through its code in the debugger.

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 06, 2025 Apr 06, 2025

No; PProPanel remains the right starting point.

Can I use this 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Apr 06, 2025 Apr 06, 2025

You can try! 🙂

 

That sample shows off everything CEP can do; it will not show you anything that PPro's API can do.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 06, 2025 Apr 06, 2025

So I have a couple of questions

One main feature I am looking out for is trim a part of a sequence without ripple(accessing the razor tool). How can I achieve that via extendscript or the PPRO API or QE DOM.
CEP uses extendscript(ES3 and and some extended features) and PPRO API can be used via Extendscript. Am I right?
How do I use PPRO API in extendscript then and access the extendscript functions via JS

I am maybe asking silly questions and making it frustrating, but it's being complex for me to understand these methods and also the repo😅

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Apr 07, 2025 Apr 07, 2025

There is no supported Trimming API, but you can change the sequence in/out points of trackItems, and move them

 

>CEP uses extendscript...

Close! CEP = Chromium instances which load (JavaScript-based) web pages. CEP uses the CSInterface to send ExtendScript to PPro's ExtendScript (yes, ES3) interpreter. 

We understand, it can seem complex. 

Recommended starting approach is as above: Set up your dev environment so you can (use VSCode to) set breakpoints in PProPanel's ExtendScript, experiment with the sample.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 07, 2025 Apr 07, 2025

> There is no supported Trimming API, but you can change the sequence in/out points of trackItems, and move them

There is this extension called AutoPod which cuts a part sequence and disables/deletes it and I want to implement that feature and I am not able to get it.

And,
With the PPRO panel I can use the abilities of CEP, extendscript and the PPRO API right.
If not, how will that be possible

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Apr 07, 2025 Apr 07, 2025

I can use the abilities of CEP, extendscript and the PPRO API right.


Yes; the PPro API is ExtendScript-based, those aren't distinct capabilities. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 07, 2025 Apr 07, 2025

Okay, great.

> There is no supported Trimming API, but you can change the sequence in/out points of trackItems, and move them

There is this extension called AutoPod which cuts a part sequence and disables/deletes it and I want to implement that feature and I am not able to get it.


Do you know anything on this?
I still cannot figure it out!

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Apr 08, 2025 Apr 08, 2025

Do you know anything on this?

As I've said, there is no supported API that allows this. We can't comment on implementation specifics of other partners' solutions.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 09, 2025 Apr 09, 2025

I am using the PProPanel, and when I click on the sample test buttons they aret't working.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 09, 2025 Apr 09, 2025

Also, I could be possible that extendscript is not working in because I face similar issue when I was trying to build a custom panel and also in another starter panel.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Apr 10, 2025 Apr 10, 2025
LATEST

>when I click on the sample test buttons they aret't working.
That's bizarre; no other developer has reported that behavior. PProPanel has been working fine, for years. Perhaps start with a fresh copy of PProPanel? 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines