Quantcast
Channel: Adobe Community : Popular Discussions - Premiere Pro SDK
Viewing all 53010 articles
Browse latest View live

Parsing pproTicksIn / pproTicksOut

$
0
0

Hi Premiere SDK folk,

 

I'm curious about the pproTicksIn and pproTicksOut fields that are populated when exporting a Final Cut Pro XML. I see this sort of thing in my fcpxml:

 

<start>17653</start>

<end>18523</end>

<in>-1</in>

<out>-1</out>

<pproTicksIn>8522283369600</pproTicksIn>

<pproTicksOut>12209198601600</pproTicksOut>

 

The "in" and "out" frame counts have been set to -1 because transitions are being used (cross-dissolve in this case), so I can't grab the in/out points there. But I'm wondering if the pproTicksIn/Out numbers can be parsed down to effectively be the in/out frame numbers, or timecode (I'm ultimately looking for timecode values). I can strip off all transitions before exporting to fcpxml, but it'd be cooler if I didn't have to do that. In any case: what do the pproTicksIn/Out numbers correspond to?

 

Cheers,

Raphael


Getting duration out of pproTicksIn/pproTicksOut

$
0
0

Hi there

 

I’m trying to get the duration of a clip from an exported finalcut pro xml out of premiere pro cc. Somehow it seems my following calculation is wrong. TICKS_PER_SECOND is 254,016,000,000 (Source Post).

 

TimeInSec = (pproTicksOut / TICKS_PER_SECOND) – (pproTicksIn / TICKS_PER_SECOND)

 

With example data attached that results in TimeInSec = 37.32. Adobe Premiere shows duration for that clip of “00:00:36:20” (920 Frames).

Is someone able to explain, how to calculate the same duration as premiere with the data given from an exported finalcut pro xml?

 

Thanks a lot

JW

 

Example ClipItem Node from exported xml:

<clipitem id="clipitem-13051" frameBlend="FALSE" premiereChannelType="stereo">

                <masterclipid>masterclip-4999</masterclipid>

                <name>Test_audio.wav</name>

                <enabled>TRUE</enabled>

                <duration>3750</duration>

                <rate>

                                <timebase>25</timebase>

                                <ntsc>FALSE</ntsc>

                </rate>

                <start>82</start>

                <end>-1</end>

                <in>0</in>

                <out>933</out>

                <pproTicksIn>0</pproTicksIn>

                <pproTicksOut>9479877120000</pproTicksOut>

                <file id="file-4999"/>

                <sourcetrack>

                                <mediatype>audio</mediatype>

                                <trackindex>1</trackindex>

                </sourcetrack>

                                <filter>

                                                <effect>

                                                                <name>Audio Levels</name>

                                                                <effectid>audiolevels</effectid>

                                                                <effectcategory>audiolevels</effectcategory>

                                                                <effecttype>audiolevels</effecttype>

                                                                <mediatype>audio</mediatype>

                                                                <parameter authoringApp="PremierePro">

                                                                                <parameterid>level</parameterid>

                                                                                <name>Level</name>

                                                                                <valuemin>0</valuemin>

                                                                                <valuemax>3.98109</valuemax>

                                                                                <value>0.530654</value>

                                                                </parameter>

                                                </effect>

                                </filter>

                <link>

                                <linkclipref>clipitem-13051</linkclipref>

                                <mediatype>audio</mediatype>

                                <trackindex>5</trackindex>

                                <clipindex>1</clipindex>

                                <groupindex>1</groupindex>

                </link>

                <link>

                                <linkclipref>clipitem-13063</linkclipref>

                                <mediatype>audio</mediatype>

                                <trackindex>6</trackindex>

                                <clipindex>1</clipindex>

                                <groupindex>1</groupindex>

                </link>

                <logginginfo>

                                <description></description>

                                <scene></scene>

                                <shottake></shottake>

                                <lognote></lognote>

                </logginginfo>

                <labels>

                                <label2>Caribbean</label2>

                </labels>

</clipitem>

<transitionitem>

                <start>990</start>

                <end>1015</end>

                <alignment>center</alignment>

                <cutPointTicks>121927680000</cutPointTicks>

                <rate>

                                <timebase>25</timebase>

                                <ntsc>FALSE</ntsc>

                </rate>

                <effect>

                                <name>Cross Fade (+3dB)</name>

                                <effectid>KGAudioTransCrossFade3dB</effectid>

                                <effecttype>transition</effecttype>

                                <mediatype>audio</mediatype>

                                <wipecode>0</wipecode>

                                <wipeaccuracy>100</wipeaccuracy>

                                <startratio>0</startratio>

                                <endratio>1</endratio>

                                <reverse>FALSE</reverse>

                </effect>

</transitionitem>

 

<!-- Further clipitems -->

Mounting a volume named 'Users' to MAC creates issues

$
0
0

Hi All,

 

If we mount a shared location with name "Users" to a MAC machine, we will not be able to get the User folder details.

Extendscript is not able to locate the  SystemPath.USER_DATA.

 

Here is the code snippet.

//In HTML5 page we are getting the user data folder path

var extensionRoot = csInterface.getSystemPath(SystemPath.USER_DATA);

var Login = extensionRoot + "/CONFIG/Login.txt";

 

 

// and passing it to the extendscript function, for reading some files in that location.

//.jsx code

login:function(Login)

{

     var loginFile = new File(Login);        

        if (loginFile.exists)

        {

               ---------

            } 

        else

        {

             //if we mount a volume name with USERS then control will always come here

            alert("ERROR | Cannot access Login details from "+Login);

            }

     }

 

Is there any solution to avoid this issue?

Please advise.

 

Thanks and Regards,

Anoop NR

Premiere Pro Importer: duration dependent on prefs

$
0
0

Hi,

 

I implemented an importer which calculates the duration of the imported clip using prefs which can be changed by the user. This works if only a single instance of the imported clip is present.

When multiple instances of the clip are present and each one has different duration because of different prefs, Premiere sets the last calculated duration to all instances of the clip.

 

Why does Premiere think that the duration of a clip is always independent of the stored preferences?

What can I do?

 

Best Regards

-Bjoern Gdanietz-

Git repository best practices?

$
0
0

For those out there who have used git (or equivalent) with a development repo for Premiere extensions, what's the best practice here? Do you simply put the repo folder in the Adobe/CEP/extensions folder? Do something more fancy with shuffling files around from a build directory?

 

Would love to hear what has worked for people before I dive in and bump into some unforeseen walls that cause us some headaches...

Getting returned values from evalScript calls

$
0
0

I have a few functions that return bits of information from the JSX context to the panel JS so that they can be further processed there. One such function returns an array of times-in-seconds (Array<number>). I have verified with console.log that I do indeed get the results back. However, while I was expecting an Array<number> in the callback, the type of the value passed to the callback is string!

 

Is it possible to get objects in the callbacks or will everything simply be coerced to a string? If the latter, is there a suggested way to convert and then reconvert the data? (I looked but didn't see a JSON utility object/class in the JSX context to assist with this...)

Premiere Pro CC 2017 Plug-in SDK Download Link is Broken

Link Media dialog when re-linking files trough code.

$
0
0

Hi,

 

We are integrating  adobe into our workflow automation and are running into what appears to be a bug in the program.

When renaming files to facilitate automatic upload and synchronisation, a dialog shows after the file is re-named and re-linked by code.

This seems buggy to us, as the whole reason of being able to use code for this is to prevent user interaction and thereby user error.

 

The code we use is as following:

 

cep.fs.rename(oldPath, newPath); 

projectItem.changeMediaPath(newPath); 

 

Are we missing something or is this indeed a bug in the program?

 

Kind regards,

Sven


[BUG] Premiere Pro CC 2018 Panel Background is White

$
0
0

We just installed Premiere Pro CC 2018 to test our extension in the latest version. One immediately noticeable difference was that the background of the Extension's content is pure-white. After some investigating, we found that the default background-color was transparent (alpha = 0), allowing the panel's backing color to shine through. This worked in previous versions of Premiere Pro. It was nice because the user's color settings in the panel were handled automatically.

 

With CC 2018, all extensions will now need some sort of color handling of their own, akin to what the PProPanel does, including theme change event handling.

 

It would be preferable to have the background color be the same as the actual application's theme color as in previous application versions.

How to open closed project panel by PPro api?

$
0
0

Hello,

 

I want to open closed project panel by PPro API.

 

Steps:

  1. Open project.
  2. Close the panel. Right click on Project Panel >> 'Close Panel'.
  3. Try to open Project by API.

 

I have tried to open that project once again by below code but it can't open the project panel.

 

var projToOpen = new File(projectFilePath);
app.openDocument( projToOpen.fsName,  1, // suppress 'Convert Project' dialogs?  1, // suppress 'Locate Files' dialogs?  1);

 

Is there any way to open it?

 

I found below API code to open extension but I am not sure that will work for this panel.

 

CSInterface.prototype.requestOpenExtension = function(extensionId, params)
{  window.__adobe_cep__.requestOpenExtension(extensionId, params);

};

 

Could you please suggest me the proper way to open that project panel once again if end user closes project panel and I need to reopen by API?

As well What should be the extensionId for that project panel?

 

proapi.png

 

PPro Version: 12.0.0

My extension fails to install with status = -403 and -156

$
0
0

I'm struggling with getting my extension to install using ExManRoot. It's an extension for Premiere Pro CC 2015, and is meant to be compatible with version 9.0 and upwards.

 

Here is my manifest:

<?xml version="1.0" encoding="UTF-8"?><ExtensionManifest Version="5.0" ExtensionBundleId="com.thedinermusic.thediner" ExtensionBundleVersion="1.0.0"  ExtensionBundleName="The Diner" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <ExtensionList>  <Extension Id="com.thedinermusic.thediner" Version="1.0" />  </ExtensionList>  <ExecutionEnvironment>  <HostList>            <Host Name="PPRO" Version="[9.0,10.9]" />  </HostList>  <LocaleList>  <Locale Code="All" />  </LocaleList>  <RequiredRuntimeList>  <RequiredRuntime Name="CSXS" Version="6.0" />  </RequiredRuntimeList>  </ExecutionEnvironment>  <DispatchInfoList>  <Extension Id="com.thedinermusic.thediner">  <DispatchInfo >  <Resources>  <MainPath>./index.html</MainPath>  <ScriptPath>./jsx/import.jsx</ScriptPath>                    <CEFCommandLine>                        <Parameter>--enable-nodejs</Parameter>                    </CEFCommandLine>  </Resources>  <Lifecycle>  <AutoVisible>true</AutoVisible>  </Lifecycle>  <UI>  <Type>Panel</Type>  <Menu>The Diner</Menu>  <Geometry>  <Size>                            <Height>420</Height>  <Width>620</Width>  </Size>  </Geometry>  <Icons>  <Icon Type="Normal">./icons/dinericon.png</Icon>  <Icon Type="RollOver">./icons/dinericon.png</Icon>  <Icon Type="Disabled">./icons/dinericon.png</Icon>  <Icon Type="DarkNormal">./icons/dinericon.png</Icon>  <Icon Type="DarkRollOver">./icons/dinericon.png</Icon>  </Icons>  </UI>  </DispatchInfo>  </Extension>  </DispatchInfoList></ExtensionManifest>

 

I used ZXPSignCmd (following these instructions) to sign and package my extension into a ZXP file. I then attempted to install the package using ExManRoot, but got the error: "Failed to install, status = -403!"

 

Thinking it had to do with the fact that I hadn't set an install location for the ZXP, I tried uploading the ZXP file I just made to my developer portal using the online packager, with the following settings:

 

Screen Shot 2016-07-05 at 12.03.51 PM.png

I then downloaded the ZXP file it generated through the developer portal, and attempted the install again. This time I got the error: "Failed to install, status = -156!"

 

Can someone tell me what these errors mean? No amount of Googling has led me to an explanation as to what status codes 403 and 156 are.

 

My first thought is that, as you can see in my screenshot, the online package automatically downcases the install location. I entered $adobecommon/CEP/extensions in the "custom location" dialogue, but it changes it to @adobecommon/cep/extensions. I believe this is an issue on Mac due to files and folders being case-sensitive (I'm testing on a Mac running Yosemite). Perhaps that's what's going on? If so, how can I force it to use the proper case?

 

I'm at a total loss here. Been trying to package/submit this extension for months now. Anyone who can help me get this damn thing accepted by the review process will officially be my best friend for life.

Still Images as Image Sequence - XML Import

$
0
0

Hi.

I'm trying to make life a bit easier by generating an XML file to quickly import a number of image sequences into a Premiere Pro project (PPro 2017.0.2 in case it matters).

 

It almost works - but when I import this XML file into premiere, it imports the first file in the sequence as a Still Image rather than an image sequence.

The path to the file is correct, and the first frame does show up just fine.

 

It feels like it's only a small change that's required, but I have not been able to find any information on it anywhere.

 

Xml download 

 

Since the (sample) XML is very short, I also included it here (the real file has a few hundred clips, they all behave the same way).

 

I tried manually importing an image sequence into premiere and exporting the result as FinalCut XML, but if I re-import that file, it also gets imported as a Still Image, so no help there.

 

<?xml version="1.0" encoding="UTF-8"?><xmeml version="4">  <bin>    <name>mpf_07 Images</name>    <children>      <bin>        <name>Preview</name>        <children>          <clip id="mpf_07_01">            <duration>229</duration>            <in>0</in>            <out>229</out>            <name>mpf_07_01</name>            <media>              <video>                <track>                  <clipitem id="clipitem-Preview-mpf_07_01">                    <name>clipitem-Preview-mpf_07_01</name>                    <file id="file-Preview-mpf_07_01">                      <name />                      <pathurl>E:\mpf_07_01.0101.jpg</pathurl>                      <rate>                        <timebase>24</timebase>                        <NTSC>FALSE</NTSC>                      </rate>                      <duration>320</duration>                      <timecode>                        <rate>                          <timebase>24</timebase>                          <ntsc>FALSE</ntsc>                        </rate>                        <string>00:00:00:00</string>                        <frame>0</frame>                        <displayformat>NDF</displayformat>                        <reel>                          <name />                        </reel>                      </timecode>                      <media>                        <video>                          <samplecharacteristics>                            <width>2048</width>                            <height>1126</height>                          </samplecharacteristics>                        </video>                      </media>                    </file>                  </clipitem>                </track>              </video>            </media>            <rate>              <timebase>24</timebase>              <NTSC>FALSE</NTSC>            </rate>          </clip>        </children>      </bin>    </children>  </bin></xmeml>

Download Premiere SDK links to "Sorry, this page is unavailable" page

How to identify the MXF-OP Atom files in a Premiere project

$
0
0

Hi All,

 

Is there any way we can go through a large project and find the MXF-OP Atom files in that project?

Is there any way to get the codec/wrapper details of the files in a Premiere project?

We are trying to achieve this using our HTML5-CEP based panel.

 

Thanks and Regards,

Anoop NR

TypeScript Enabled CEP Development

$
0
0

Modern Tools and ExtendScript

Earlier this week, Bruce Bullis integrated a pull request into the CEP Samples repository that included a new Sample called TypeScript. TypeScript is a language that "transpiles" into JavaScript and JavaScript-based languages (e.g. ExtendScript). It can also be configured in certain environments (e.g. Visual Studio Code) to provide normal JavaScript (and, it turns out, ExtendScript) development with helpful type checking and IntelliSense/autocompletion support. Here's an example:

TSExample.gif

Open the PProPanel-vscode folder in Visual Studio Code (or other TypeScript-aware IDEs?), open up the Premiere.jsx file, and simply begin typing. The environment is already set up to provide rich IntelliSense support.

 

Powered By TypeScript Declaration Files and JSDoc

The environment has to get information about the types from somewhere, right? The type information is identified by the TypeScript system in the following ways:

 

  • In the Panel JavaScript Environment:
  • In the App ExtendScript Environment:
    • Uses the TypeScript-provided ES5 type information (ES3 is coming - when available, it will be switched to use that!).
    • Uses custom Type Declaration files (included within the sample here) to help make the IDE aware of what types are available, as well as documentation!
    • Sources JSDoc comments for type information.

 

Beyond this, TypeScript is capable of type inference (set var x = 5; and the IDE will infer that x is a number). For more on how TypeScript does all of this, see this document.

 

Inline ExtendScript and PremierPro API Documentation

The declaration files included in the sample are currently incomplete, but Bruce Bullis has indicated interest in helping to fill in the blanks. These files are an improvement over the current documentation in that they can be [more] easily read on the web (don't need to be downloaded and opened in a browser) and also power in-line documentation and suggestions (as in the above gif)!

 

Writing in TypeScript

As configured, the sample does not actually assume that you will be writing in TypeScript and transpiling to JavaScript, but that you are simply writing JavaScript/ExtendScript. If you wish to use this feature, you will have to configure your IDE to do so (Visual Studio Code, Webstorm, Sublime Text, etc.).

 

Writing in NEW JavaScript

It should also be noted that TypeScript can transpile from new JavaScript to old JavaScript. This may not seem all that interesting except that you could use the latest ES6 features to write code for both your panel JavaScriptor your app ExtendScript. These would be transpiled into platform-compatible versions: target: "es5" for panel and target: "es3" for ExtendScript!

 

As with TypeScript, this use-case would require setting up the TypeScript compiler.

 

Debugging In Visual Studio Code

This sample also contains configuration settings to allow debugging of the panel (HTML) environment directly in Visual Studio Code, rather than through a Chrome browser. See:

vscode-debugging.png

 

Questions? Comments? Ask/post away!


Not able to install panel after the Premiere pro CC 2018 upgrade

$
0
0

Hi All,

 

After the Premiere pro CC 2018 update our panel installation is not working.

We have been using the exmancmd command to install the panel.

After the upgrade the command line doesn't through any error, but the panel folder is not coming up in C:\Program Files (x86)\Common Files\Adobe\CEP\extensions

We tried modifying the CSXSversion to 8, added <HostName="PPRO"Version="[9.0,12.9]"/> and added the PlayerDebugMode flag too.

But still the panel is not getting installed.

Our panel was working fine with Premiere pro cc 2017, so we installed the Premiere pro 2017 from - Download Creative Cloud apps

Then we installed the panel and the panel folder came under C:\Program Files (x86)\Common Files\Adobe\CEP\extensions

and panel is appearing in Premiere pro CC 2017 and CC 2018.

 

Please suggest what can go wrong, when we have only Premiere pro CC 2018 installed.

 

Thanks and Regards,

Anoop NR

Is Premiere Pro 2017 support TLS 1.2 protocol and ciphers?

$
0
0

Hello,

 

I have created one plugin which makes a call to the web server by javascript.

 

<html>  <script>    window.location.href = "WEBSITE URL";  </script></html>

 

I have upgraded my server with (ELBSecurityPolicy-TLS-1-2-2017-01) policy. when I tried to run above code using premiere pro plugin.

It gives me an error

 

net::ERR_CONNECTION_CLOSED

 

Above code is 100% working by downgrading SSL security to allow weak ciphers (ELBSecurityPolicy-TLS-1-0-2015-04).

 

Could you please provide me the proper solution for this?

Is Premiere Pro. support the TLS1.2 protocol?

 

I don't want to downgrade my security policy.

 

Version: Premiere Pro 2017

Can you build premiere pro plugins using the After Effects SDK?

$
0
0

I come from the background of using Motion and Final Cut Pro.  I am one of the few programmers who uses the FxPlug API which is used to make Motion and Final cut Pro Plugins.  I am expanding into trying to create plugins for premiere pro.  I am confused by After Effects and Premiere Pro having two different SDKs.  After Effects seems to have some structure to it with a parameter setup and methods for rendering while Premiere Pro seems to have very little structure to it.  I noticed that I can open .plugins created with the After Effects SDK both inside After Effects and Premiere Pro while I have had trouble getting any of the Premiere Pro .bundle's to work correctly at all.  What is the difference in making a .bundle vs a .plugin when .plugins seem to work in both?

 

I am on a Mac and using Xcode and anytime I try to debug any of the example projects that came with the Premiere Pro SDK I have this error. "This file path does not exist on disk at this location.  /Applications/Adobe Premiere Pro CC 2017/Adobe Premiere Pro CC 2017.app/Contents/MacOS/Adobe Premiere Pro CC 2017 - NSDocumentRevisonsDebugMode YES".

 

I cant even get one of the example projects off the ground to mess with one for debugging and testing purposes.  What are the benefits of using one SDK over the other?

 

My last question relates to effects and project media files.  Do you need to insert media into the project every time or can I have media built into an effect kind of like a Generator in Final Cut Pro.  In Final Cut Pro you can have media cooked into an effect and media is not needed in the project or the timeline to accomplish this.  It seems like effects only offer presets that are just a difference in parameters but do not have any media built into them.  Is it possible to have media inside of an effect in either Premiere Pro SDK or After Effect SDK?

Is it possible to control source patching using ExtendScript?

$
0
0

My impression is this is not possible, but on the off-chance, the idea would be something along these lines...

 

thisSourceTrack = app.project.activeSource.audioTracks[0];  //"activeSource": a made-up property
thisProgramTrack = app.project.activeSequence.audioTracks[5];
thisSourceTrack.patchTo(thisProgramTrack); // "patch-to": made=up function
thisSourceTrack.active(true); // "active": made-up function

 

Goal: We're interested in developing custom keyboard shortcuts to patch source to sequence.

Current options are mostly mouse-driven.

QE: What is this rabbithole?

$
0
0

Soooo as the title asks: What is QE? There's absolutely no documentation on it, and it appears to house most of the information that we want to access, albeit not reliably.

Most importantly out of anything that I'm looking for - why is there no documentation on not just QE, but the rest of everything within Premiere's capabilities of extendscript?

A single piece of code on Github is not sufficient for a documentation substitute.

 

As far as the seeming instability of QE:

Consider the following code for Premiere Pro CC 2015:

 

app.project.activeSequence.exportAsFinalCutProXML("C:\\Users\\user\\Desktop\\XML_Testing.xml")


app.enableQE()
var mySeq = qe.project.getActiveSequence(0)
var myTrack = mySeq.getVideoTrackAt(0)
var myClip = myTrack.getItemAt(0)
myClip.name

 

If I have a project open in Premiere and execute this using ExtendScript Toolkit, I receive back a myTrack object with a name of 'Wildlife.wmv'.
If I then switch to a new project in Premiere(does not contain 'Wildlife.wmv') and re-execute that same code in ExtendScript Toolkit, the myTrack object stays the same, and I don't receive a new object.

 

This seems hazardous at best.

 

Thank you.

Viewing all 53010 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>