*Last updated April 2018, current released version = Premiere Pro 12.1, also known as "Premiere Pro CC 2018".
For the impatient, here are links to working sample code, showing what's possible for Premiere Pro panels:
-
Get and set all XMP metadata (including Premiere Pro's private project metadata) for any projectItem.
-
Import files via drag and drop, from a panel into Premiere Pro (Project panel, or directly onto a timeline).
-
Preview any supported media in the Source monitor (without requiring that it be imported into the project).
-
Access and modify clip markers, and sequence markers.
-
Create new sequences either from a preset, or with user interaction.
-
Open different projects (while the panel remains active; this behavior is new as of Premiere Pro 10.3).
-
Render a sequence to any destination(s), based on any preset(s), including ftp upload, and controlling metadata output.
-
Export either a given sequence or the entire project as Final Cut Pro 7 XML.
-
Save as a new project, or create a new project containing only a specified sequence and its constituent media.
We've added many new capabilities for the 12.1 release. All of these are exercised in the Cinebrain sample, available on GitHub.
It's now possible for a panel to know which projectItems
are selected, and to select projectItems as appropriate.
All functionality available from Premiere Pro's Project Manager dialog, is now available to panels.
We now provide (and accept) time values for track items in ticks, eliminating an opportunity for rounding error.
Panels can now insert .mogrt files into sequences, and change the parameters of those .mogrts as desired.
It's now possible to force Premiere Pro to update the path to a given projectItem
, even if Premiere Pro doesn't think such a change is advisable.
All projectItems
now have an isSequence()
method; this eliminates the need to compare a list of 'all project items' against a list of 'all sequences', to determine which projectItems
are and are not sequences.
Use the handy new setOverrideFramerate()
.
While the sample panel should continue to be your first option for working example code, Premiere Pro's ExtendScript API is documented here, to enable developer participation.
-
We've extended our new, not-in-the-QE-DOM Source monitor object, to close the front-most or all open clips.
-
Change the Label assigned to projectItems.
-
Query PPro for the current insertion bin, the default target for items imported into the project (but not via drag). Previously, you could set, but not get, the insertion bin.
-
Import Compositions by name, from After Effects projects.
-
Open PPro's Events panel to see Cinebrain's feedback; I've minimized modal alerts.
-
Creative Cloud. Use the Creative Cloud application to install Premiere Pro CC and other Adobe applications with which you'll be developing and testing, as well as ExtendScript Toolkit (available under 'previous versions').
-
The CEP Test Panel shows the full capabilities of CEP panels.
-
The Cinebrain sample project is exhaustive in its exercise of Premiere Pro's ExtendScript API.
-
The ZXPSignCmd signing utility creates signed .zxp bundles for Add-Ons or direct distribution.
-
Use the ExManCmd command line utility to test .zxp installation.
Note: Premiere Pro 12.0 has integrated CEP8, so even if you had unsigned panels loading before (using CEP6 or CEP7), you'll need to perform this step again, but for key CSXS.8.
On Mac, type the following into Terminal, then relaunch Finder (either via rebooting, or from the Force Quit dialog):
defaults write /Users/<username>/Library/Preferences/com.adobe.CSXS.8.plist PlayerDebugMode 1
On Windows, make the following registry entry (a new Key, of type String):
Put /Cinebrain
or your own panel's containing directory here, to have Premiere
Pro load it:
Windows: C:\Program Files (x86)\Common Files\Adobe\CEP\extensions
Mac: /Library/Application Support/Adobe/CEP/extensions
To enable debugging of panels using Chrome’s developer tools, put a file named
.debug
into your extension’s folder (as a peer of the /CSXS
folder). The
contents of the file should resemble the following (and the Extension ID must
match the one in the panel's manifest):
<?xml version="1.0" encoding="UTF-8"?>
<ExtensionList>
<Extension Id="com.example.Cinebrain">
<HostList>
<Host Name="PPRO" Port="7777"/>
</HostList>
</Extension>
</ExtensionList>
When the panel is active, you can debug the panel in your web browser by
browsing to localhost:7777
, and selecting your panel:
Optional diagnostics: Turn on CEP logging. Find CEP logs (distinct from Premiere Pro's logs) here. Note that Mac Library path is the system's library, not the user's. Also, note that logging WILL impact performance.
Windows: %\AppData\Local\Temp\csxs8-PPRO.log
Mac: /Library/Logs/CSXS/csxs8-PPRO.log
Set logging level in Windows Registry (see above), or MacOS X .plist:
defaults write /Users/<username>/Library/Preferences/com.adobe.CSXS.7.plist LogLevel 6
Launch ExtendScript Toolkit, select the correct version of Premiere Pro from the drop-down menu, then then click the chain link to connect.
Once in the session, you can hit breakpoints, and use ExtendScript Toolkit's Data Browser to view the ExtendScript DOM.
Here's a screen video showing how to debug panels at both the JavaScript and ExtendScript levels.
You can either generate a self-signed certificate (ZXPSignCmd will make them for you), or get one from a commercial security provider. Here's an example:
./ZXPSignCmd -selfSignedCert US California Adobe "Bruce Bullis" password certificate.p12
To sign directory /PanelDir
with certificate.p12
, do the following:
./ZXPSignCmd -sign panelDir/ PanelName.zxp certificate.p12 password -tsa http://timestamp.digicert.com/
Submit your panel to the Adobe Add-Ons site for approval, and distribution. You can also directly supply the .zxp file enterprise customers, and those who do not connect their systems to the public internet, for installation using ExManCmd, the command line version of Extension Manager.
If you encounter any issues with the Add-Ons store or ExManCmd, please contact the Add-Ons team.