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

Mark in/out + add to Media Encoder?

$
0
0

After working on scripts for AE, I'm trying to get things going in Premiere.

 

However, the documentation here lacks severely, and finding the right functions isn't a walk in the park either. So I wanted to check if these two things are possible before I try to delve deeper:

 

  • Is it possible to set mark in and out (like when using shortcuts i + o) via extendscript?
  • Can that mark in/out selection be added to the Media Encoder queue? This would be the equivalent of pressing ctrl + m, and choosing "queue")

 

bbb_999 -- could you please shed a light on my questions?

 

Thanks in advance!


cant download file using nodejs when going to remote site.

$
0
0

Hey,

 

I am trying to download a file using nodejs and I am facing a bit of an odd problem.

I started from the CEP_HTML_Test_Extension

in the nodejs.html I changed isNodeJSEnabled to the following (the code below works):

 

function isNodeJSEnabled() {

     var https = window.cep_node.require('https')

     var fs = window.cep_node.require('fs')

     var url = "https://upload.wikimedia.org/wikipedia/commons/4/4f/Big%26Small_edit_1.jpg"

     var fullPath = "C:\\premiereTest\\6\\abcde.jpg";

     var file = fs.createWriteStream(fullPath);

     var request = https.get(url, function (response) {

          response.pipe(file);

          // ensure file is complete before importing 

          response.on('end', function () {

          });

     });

}

 

and as I said this code works.

but when I take the same code put it in my real website

and changed the index.html in CEP_HTML_Test_Extension to just reload my site i.e(window.location.replace("https://test.MyRealWebsite.io/")).

then the same code doesn't work, it creates the file so the createWriteStream works. but the https.get does nothing, I tried to check error callbacks as well but nothing is been called, nor does the success, just nothing.

any ideas?

thanks.

ExtendScript and Metadata -- accessing any and all metadata

$
0
0

Haven't found a way access many of the metadata entries offered offered up under PPro's Metadata" panel and the "Metadata Display..." popup

e.g. from "Dublin Core": "Keywords", "Title", "Type" or those under "Rights Management", "Media Management" etc.

 

Can ExtendScript 'get' and 'set' any and all metadata properties or are there limits?

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 bbb_999 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!

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

Need help with getting started plugin development!

$
0
0

Hello adobe community, I have an idea for a plugin that deals with clip transitions and I'm just getting into sdk stuff with no idea what to do. For starters, I've installed Microsoft Virtual Studio, but don't know where to go from there. I don't understand how to set up the example SDKCross-Dissolve plugin and how to implement the example into the actual Premiere Pro application. Also what purpose are environmental variables used? How do I get the API for Premiere Pro? Lastly, is it possible to code your own tool (like the select tool or slicer tool)? I know these are a lot of questions, but like I said this is my first time so any help is greatly appreciated!

How to check given path isFile or isDirectory in jsx?

$
0
0

Hello,

 

I want to check that given path is File or Directory in a jsx.

 

The 'isFileExist' function only check that path is exist or not in the file system.

I want to check it is 'folder' or 'file'

 

For example,

          path = 'd:/folder1' then isFile method should return 'false'

          path = 'd:/folder1/1.epr' then isFile method should return 'true'

 

How can I do that? I am using below code.

isFileExist : function(path) {     var file = new File(path);  return file.exists;
}




isFile : function(path) {
          //How can I check that path is 'file' or 'directory'?          
}

 

Premiere Pro version 11.0

Adobe Premiere Scripting Guide

$
0
0

Hello, I have to write some scripts for Premiere. It will import, cut and set rendering. I can do it in after effects, because there is Adobe After Effects Scripting Guide for CS6.pdf , but I cant find anything similar for Premiere But scripting in premiere is possible. I can find some commands in Data Browser in ExtendScript Toolkit editor, but I dont know how can I use it. (Import, edit etc.) Is for Premiere any scripting manual ? If not, why? Scripting in Premiere is not official supported? Thanks.


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.

CTI.Timecode

$
0
0

Hello,

 

I changed the start time of my sequence to 01:00:00:00 and when I run my script to get the cti timecode it returns the timecode as if it started at 00:00:00:00.  Anyone know why this is happening, is it a bug?  Code below...

 

function returnTimecode()

{

     app.enableQE();

       var seq = qe.project.getActiveSequence();

 

          if (seq != null){

                alert(seq.CTI.timecode);

                } else {

                    alert("Active Sequence required.")

                    }    

}

returnTimecode();

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...)

How can I get time_step, time_scale, total_time on gpu accelerated plugin?

$
0
0

Hi, everyone!.

 

I am going to develop gpu accelerated plugin now.

btw, I have a question.

How can I get time_step, time_scale and total_time on gpu mode like on software mode?

 

-- software mode ---

static PF_Err Render(

PF_InData* in_data,

PF_OutData* out_data,

PF_ParamDef* params[],

PF_LayerDef* output)

{

     float current_time = in_data->current_time;

     float time_step = in_data->time_step;

     float time_scale = in_data->time_scale;

 

------- Gpu Mode ------------

prSuiteError Render(

const PrGPUFilterRenderParams* inRenderParams,

const PPixHand* inFrames,

csSDK_size_t inFrameCount,

PPixHand* outFrame)

{

     float current_time = inRenderParams->inClipTime;

     float time_step = ???;

     float time_scale = ???;

 

I don't know what ??? is.

 

Can you help me with that?

 

Thanks.

Igor.

Is it possible to delete or enable/disable a clips using extendscript ?

$
0
0

I would like to know if javascript API has potential for delete/ripple delete clips. Please suggest, I haven't found any proper documentation for  javascript API. Basically, I'm looking for an object model diagram. 

Plug-In not showing up in premiere pro

$
0
0

Hello, I'm from accevolution (www.accevolution.net) and we've got the problem that our plugins are not showing up in premiere pro at about 30% of the customers machines. Our workaround at the moment is to tell the customers to install the most recent graphics card driver, launch premiere pro while holding down the shift key and if this doesn't help, to set the ignore flag in the registry here: 3. HKEY_CURRENT_USER\Software\Adobe\Premiere Pro\11.0\PluginCache.64\en_US3. HKEY_CURRENT_USER\Software\Adobe\Premiere Pro\11.0\PluginCache.64\en_US to "0".

 

Any suggestions why they are working perfectly on 70% and not showing up on 30%? From those 30% that have trouble are 99% windows-user, but we also got a few mac users with that problem.

 

It would be great if somebody could give me a hint.

 

Best regards,

 

Wolfram

What's the difference of yuv420 PrPixelFormats

$
0
0

the prm sdk define below yuv420 PrPixelFormats:

 

PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601    = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', '2'),

PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601    = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', '2'), 

PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange    = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', 'f'),      

PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange    = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', 'f'),       

PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709    = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', '7'),       

PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709    = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', '7'),       

PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange    = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', 'F'),       

PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange    = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', 'F'),       

PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601    = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', '2'),       

PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601    = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', '2'),       

PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange    = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', 'f'),       

PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange    = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', 'f'),      

PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709    = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', '7'),       

PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709    = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', '7'),       

PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange    = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', 'F'),       

PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange    = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', 'F'),      

 

but,what's the difference between these formats? I know 601 & 709 means BT601 & BT709 colorspace,but what's the meaning of word "FRAME","FIELD","MPEG2","MPEG4", and "FullRange"?


How to get the list of project items which are part of the active sequence?

Exporter plugin: PrPixelFormat PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_*

$
0
0

I've been struggling to get my Exporter plugin to work with any of the new planar PrPixelFormats (adobe Premiere Pro 6.0.3):

    PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709

    PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601

    PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange

    PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange

    ...

 

My plugin uses an input format not natively supported by the SDK:  "NV12"

NV12 contains the same pixel/chroma information as YV12;  the difference is in the chroma-plane packing.  In YV12, each of the Cb and Cr planes is stored as a solo plane (at half-height x half-width).  In NV12, each Cb+Cr sample is grouped into a 16-bit value, then packed into a single plane.  The same information is there, the only difference is that YV12 has 2 chroma-planes (each with total bytesize '1/4 Y'), and NV12 has 1 chroma-plane (with total bytesize '1/2 Y'.)

 

Anyway,

so far I've only been successful using a 4:4:4 YUV PrPixelFormat, then having my user-plugin manually convert the 4:4:4 into a NV12 format.

(PrPixelFormat_VUYX_4444_8u).  When I try any of the sequenceRenderSuite->RenderVideoFrame(...), I get garbled pixeldata.

The Y (luma) plane is correct, but the Chroma-data appears to be missing.

 

For example, I expect PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709 to store the Cb/Cr plane immediately after the Y plane.  However, it looks like renderVideoFrame( PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709 ) simply returns the 'Y' plane repeated 3 times.

 

The SDK documentation doesn't go into detail about the new planar pixel formats?  Is there an online reference or other doc?

qe.project.numSequences and qe.project.getSequenceAt(i) is not match

$
0
0

Hi,

 

I am currently developing adobe premiere plugin to import, edit, and export clip.

When i have more than 1 sequence and perform export operation, I will try to get number of sequences and loop through sequence to match the sequence name (qe.project.getSequenceAt(i).name). Somehow qe.project.getSequenceAt(i) cannot get more than 1 item, they only contains 1 item instead total number of items specify in numSequences.

 

This issue is happen randomly, I tried on 1 machine and it always happen while in my PC, it is not reproducible.

 

Below is my code for get the sequence item.

 

getSequenceByName = function(name)

  {

  for (var i = 0; i <qe.project.numSequences; ++i)

  {

  if (name == qe.project.getSequenceAt(i).name)

  {

  return (qe.project.getSequenceAt(i));

  }

  }

  return null;

  };

 

Anyone has any ideas what is happening to this code or anyone face this issue before?

 

Thanks.

How to support both BGRA 16u and 8u?

$
0
0

Hi,

 

I am new to using Adobe SDK. Currently, I am working with the SDK Noise plug in. By default the plug-in supports PrPixelFormat_BGRA_4444_8u in the AddSupportedPixelFormats section in the Global Setup. What I have done is added PrPixelFormat_BGRA_4444_16u and put that line above the PrPixelFormat_BGRA_4444_8u in the global setup. I have also created a iterateshort function similar to the IterateFloat function created but rather than iterating by 16 for each pixel, i iterate by 8. I did this by changing the values to iterate for LocalSrc, LocalDst from 16 to 8. I also added a else if to the render for else if (destinationPixelFormat == PrPixelFormat_BGRA_4444_16u) to run my 16 bit function in Render. In the .h file, I have also created a struct:

 

typedef struct {

A_u_short blue, green, red, alpha; //added 16 bpc struct

} PF_Pixel_BGRA_16u;

 

When I import a 16 bit tiff file and run the code with the above changes,the format changes to BGRA 4444 8u full range rather than 15u. If I were to comment out the PrPixelFormat_BGRA_4444_8u in AddSupportedPixelFormats, the format after I use the plug-in format stays as 15u.

Here is my input of a white 16bit TIFF image with the Dogears display:

Below is the output without commenting out the pixel format and using my updated SDK_Noise plugin:

This is the output when I comment out the PrPixelFormat_BGRA_4444_8u in supported formats and use my updated SDK_Noise plug-in.

 

My question is what am I missing in order to keep the PrPixelFormat_BGRA_4444_8u format line in order to support both 8bit and 16 bit RGB images. I want to see the 15u Full Range output while still having 8 bit support. Any help would be appreciated.

How can I access HTTP services via Extendscript from PPro CC

$
0
0

I attempting to build an HTML5 panel for Premiere Pro that retrieves assets from a third party REST API but there seems to be no support for Socket or XMLHttpRequest objects in this application which there is for others. (I get Error: Socket does not have a constructor)

 

How would I go about making these requests in Extendscript?

Viewing all 53010 articles
Browse latest View live


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