Premiere 2019 – New API Features

DOWNLOAD Premiere Pro 2019 – New Scripting Features script file

Premiere 2019, version 13.0 (actually, I guess 13.0.1 now) is here!!

Now that you have had a month and half to catch up and learn all of the cool new features it brings, I’d like to let you know what you may have missed by way of API updates.

There is a whole bunch of new scripting features we have access to with Premiere’s new version. Things like adjusting sequence settings, opening items in the Source Monitor, creating sub-sequences, setting footage interpretation, etc.

In this PremiereOnScript video, I chose to go in-depth on the three features that I personally find most beneficial, but that’s not to say that the others are not equally, if not, more important to workflows other than my own. Take some time to check out THIS blog article by Bruce about all of the new updates, adn run through the new additions to the PPro Sample code to see what other features you can take advantage of.

Now, onto my favorites:

1) Adjusting Sequence Settings
As I explain in the video, it used to be that to create a sequence type that you needed you either needed to prompt the user for input (app.project.createSequence()), include a .sqpreset file (qe.project.newSequence()), or clone an already existing sequence with your deisred settings (app.project.sequences[x].clone()). Well now, so long as there is at least one sequence in the project to begin with, I can clone that and then go in and adjust the settings to whatever I want. All the settings we have access to are all of the same settings we see in the Sequence > Sequence Settings window. This list in its entirety is:

videoFrameRate, videoFrameWidth, videoFrameHeight, videoPixelAspectRatio, videoFieldType, videoDisplayFormat, audioChannelType, audioChannelCount, audioSampleRate, audioDisplayFormat, previewFileFormat, previewCodec, previewFrameWidth, previewFrameHeight, maximumBitDepth, maximumRenderQuality, compositeLinearColor, vrProjection, vrLayout, vrHorzCapturedView, & vrVertCapturedView

FINALLY! Full access. We can load this info into a variable by targeting the sequence and running getSettings(), then we can modify any of those properties within that variable, and apply the changes using setSettings(). Easy and pretty intuitive given all the different areas of access we have.

I will admit, much like effects, there are some areas that I am not sure what an acceptable argument is to pass in — like PreviewCodec for example. But I am sure that we can figure that out with a little more testing, or a forum question to the Adobe team when we do need access to these settings. Big things for me are Frame Height, Frame Width, FPS, and Audio Sample Rate. See the video for explanations on how to manipulate those four settings.

2) Consolidate Duplicates
This is the most straighforward new update, and thats kind of why I like it so much. One command. app.project.consolidateDuplicates(). Run it, and there will only be one instance of media with exact names and exact filepaths. Such a great easy way to clean up a project you’ve been working with on a team, or archiving.

3) Create Sub-Sequences

Now there a plenty of ways you can get creative using this feature, but my favorite part about it is that we can finally nest clips together very easily.

The biggest catch with the command, app.project.activeSequence.createSubsequence() is that the argument passed into the method is a double-negative. Are are to enter a boolean for if you would like to INGORE track targeting. In this way I guess it is saying that track targeting should be off by default, but it is still a bit confusing to think of why they built it this way. But hey, I’m just glad it here! Check out the final example in this video to see how you can create subs with track targeting, using in-and-out points, and both.

Its all exciting stuff, and perhaps the best part is the evidence that Adobe is investing more and more into the API development of Premiere with every new version. Very promising for what the future holds, and I CANT WAIT!