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

Reading Text Layer in clip?

$
0
0

Hello Adobe-Team,

 

I'm looking for a way to programmatically read the content of a text-layer-clip from a sequence in Adobe Premiere Pro.


I've come to a point where I was able to get the property name and nearly each of the values of the properties of that text layer but I cannot figure out how to get the content in JSX.

 

In Photoshop this would be something like .textItem... but here in Premiere all I get is:

 

for (var propertyName in app.project.activeSequence.videoTracks[1].clips[lvi].components[2].properties[0])
{
$.writeln(propertyName);
}

-> displayName which content is "Quelltext" which is not the textual content of the layer but just the name.

 

Any help would be appreciated.

 

Best regards,

 

Mirko


How to get source clip times?

$
0
0

How to get source clip times, for sequence markers or player position or clip start and end points?

 

If I make a sub sequence and change start time, I lose original sequence time values.

 

so I need original clip times. Is there a way to get this?

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.

Control playback in CEP

$
0
0

Hello,

 

I am wondering what options there are within the ExtendScript API there are for controlling playback and the playhead in the source monitor and active sequence.

 

As of now looking through the api I have found that you can scrub in the source and sequence using the QE DOM:

 

e.g.

qe.source.player.startScrubbing();

qe.source.player.scrubTo("33.20");

qe.source.player.endScrubbing();

 

and similarly with qe.project.getActiveSequence()

 

I have also been able to set the player position with app.project.activeSequence.setPlayerPosition() with the appropriate ticks calculation.

 

Likewise the only function I have found to play the in the source monitor or sequence is

app.sourceMonitor.play()

 

But I haven't been able to find anything to stop playback in the source or start/stop in the active sequence.

 

I can't seem to find any documentation on the source monitor which would explain why this method exists but the "setPlayerPosition()" does not and why there are no other playback methods that I can find. In the sample app the only other methods shown are ones that close or open clips.

 

It seems like bbb_999 would be the person to answer this? Are there more robust methods in place to set the playhead in the source monitor without using the QE DOM? Can you control playback besides the play() method on the source monitor property?

 

Thanks!

Adobe Slider Bar for Panel?

$
0
0

Hi,

 

I would like to develop a custom panel with the video sliding bar/time ruler (with zoom) to navigate across the frame:

Does the Adobe PPro SDK (CEP or C++) able to render this slider bar UI?

How to export an EDL from a timeline using ExtendScript

Parameter versioning doesn't work in c++ exporter

$
0
0

In my custom exporter i add parameters with every new version / release. This causes a screwed up UI interface when the plugin is in an existing project.

 

The Parameter Caching section of the Adobe Premiere Pro SDK Guide tells me to use parameter versioning. I already use SetParamsVersion() for quite a long time now and with every parameter change I increase the version number. But this does not improve the situation. Users have still problems with malfunctioning UI parameters. Need to flush parameter cache or create new projects.

 

  • I do not have fixed exporter presets
  • It is just about the upgrading plugin in an existing project

 

Can anybody please help me with that? What am I missing here?

 

Thanks,

Daniel

how to call importMGTFromLibrary method

$
0
0

I see there is an importMGTFromLibrary method available in sequence objects when using Premiere's ExtendScript API, but I can't seem to get it working.  I assume it works in a similar way to the importMGT method (the use of which is demonstrated in the code for PProPanel and takes 4 arguments - a file path, a sequence in point, a video track index and an audio track index).

 

importMGT(mogrtToImport.fsName, targetTime.ticks, vidTrackOffset, audTrackOffset);

 

How would you go about (if that's the right way to do it) specifying a 'path' for a mogrt stored in an Adobe CC Library when using importMGTFromLibrary? I tried '/LibraryName/FileName.mogrt' and various other combinations and omissions of the file and library name but no cigar... !


Nodejs and google-cloud/speech

$
0
0

First, my apologies for asking a multi-part question.  As relayed in another user's post but not answered, in the manifest.xml file for PPRO 12.x developing panels, the <RequiredRuntime Name="CSXS" Version="x" works for me at Version 7.0 not 8.0 as per the Cookbook example.  Will it change soon and what will be the effects, or is it no big deal?

 

Related, the current nodejs implementation in the PPRO environment is 7.7.4.  Will that change to the V8 nodejs engine? 

The ultimate reason for asking is that I am writing some nodejs on the js side of js/jsx code on a Mac PPRO 12.1, to access google-cloud speech.  I have successfully accessed google-cloud/storage in nodejs - pretty easy actually, but I have encountered errors when accessing speech. After figuring out how to access the 'require' global - cep_node.require('..'); and working through issues in building the google required node_modules - building them with node v8 through the latest v10 (I guess using  NODE_MODULE > 51) results in a grpc sub-dir being created being node-v64-darwin-x64-unknown.  The error I get is that it wants sub-dir node-v51... which can be created (and error eliminated) if you build with node <v7.10 ie 7.7.4. 

However, I am getting an error (and some unexpected behavior) The code (direct-ish) from the google-cloud/speech examples:

After building npm install --save @google-cloud/speech in the correct dir as per examples using node 7.7.4 and --enable-nodejs & --mixed-content in the manifest.xml.

(pretty standard example on google-cloud/speech)

function test(file_name){

     const speech = cep_node.require('absolute/path/to/@google-cloud/speech');

     const fs = cep_node.requre('fs');

     const content = fs.readFileSync(file_name).toString('base64);

     const client = new speech.SpeechClient({ projectId: pId, keyFilename : keyPath,});

     const config  = {config_object}; const audio = {content : content};

     const request = {config: config, audio : audio};

     client

          .recognize (request)

          .then (data => {do something})  // similar and also tried .then (function(data){do something})

          .catch (err => { do some error thing});

}

 

Note: I execute similar code to access google-cloud/storage - no problem.  Also, this is 'esversion:6' type of scripting, but it works.

All the values and variables are what I expect, up until the client.recognize(request) is probably? executed, but then no .then is executed ie no response from the google server. (I know its async)

 

The error/warning comes pre client: 

internal/process/warning.js:21(node:42969) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead

Then upon completion of the function:

Navigated to file:///Library/Application%20Support/Adobe/CEP/extensions/com.iv.PProPanel/index.html

ie. the page/panel is auto - reloaded for some reason.

 

I believe this is somehow related to the async nature of nodejs.  The above warning may trigger the reload of the html page/panel, but I'm not sure. This won't happen if I comment-out the client section, ie acts as expected and the page is not auto-reloaded.  Since the .recognize(request) function is async, and the page is auto reloaded (for a reason unknown to me), I am not able to see if the .then promise is resolved.

My thoughts are that the node v7.7.4 build node_modules are some older nodes than what google-cloud/speech wants. But building with a more recent (or current) node v, results in the first mentioned error. (can't find a needed dir)  Possibly CEP V8 will use Chrome's V8 node engine then I can rebuild google-cloud/speech nodes to a more current state?  Since i have been only dealing with nodejs for about 2 weeks and CEP for 3 weeks, I could be completely wrong in this approach. 

Any insight or an explanation of why a panel would auto-reload, would be greatly appreciated.

Looking for someone to write custom Premiere plug-in

$
0
0

Hello

I am looking to find a programmer with a working knowledge of writing  plug-ins for Premiere to write a custom plug-in for Premiere CS5.

The plug-in is extremely simple. It will be a Video Effect that can be  applied to a clip on the timeline. It has one control that slides the  top half of the clip to the left and the bottom half of the clip to the  right; by a user defined number of pixels.  However the plug-in then  needs some kind of global control that allows the user to change the  functionality of ALL instances of the effect in the current sequence -  so at a command they slide the ENTIRE image left or right, and not just  the top/bottom half.  This could even be implemented by writing 3  plug-ins and shutting down Premiere, substituting the plug-in file on  disk and re-starting it.

The reason we want this is that it will enable us to handle changing the depth of stereoscopic 3D clips in a Cineform workflow.

This is a paying job and anyone interested should email me at ben@redstar3D.com I can supply more detailed information about the functionality if needed.

/ben

Scripting in Premiere CS6

$
0
0

I think i know the answer but i've seen some searches that suggest it is possible and i can see PPro as a target in ExtendScript

 

Can i script PPro CS6? Is there a scripting guide like there is for After Effects?

 

If not, are there any known plans to add this?

 

many thanks
Paul

ExtendScript edit title object

$
0
0

Hi

 

I want to edit a title object using a script. The problem is I don't know which class represents a title object. What I want to do is change the title and also position it where I choose. Please, help with reference!

 

Thanks

Using reflection to discover method parameters in Premiere?

$
0
0

Hi,

 

I am trying to use the ExtendScript Toolkit to discover what APIs Premiere supports.

I can use reflection to discover both properties and methods.

However, when finding a method, I cannot see how to determine what parameters it takes (unless its used in the PProPanel example, there is no documentation).

 

For example: I'd like to set In & Out points in the source clip window.

I can see: qe.source.clip.setInPoint is a function, but how do you call it?

 

I'd also like to set the current position in the source clip window.

I can't see how to do this at all ???

 

Any clues?

 

Cheers,

 

James.

 

Ps I am using 'ticks' when calling app.project.activeSequence.setPlayerPosition. Any definition of num ticks per second?

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

Selected clip in timeline?

$
0
0

Is there anyway to get the selected clip in a timeline using ExtendScript? And also get that clips in/out point (and other metadata).

 

If not, any plans to implement it? I'm currently looking to do a "Publish" tool in Premiere for a vfx pipeline and I need to be able to "do stuff" on the selected clip.

 

/Simon


Editing/Adding Markers

$
0
0

I’m developing a markers panel for Assistant Editors for labeling footage on the fly (marking good/bad sections of video, adding comments, etc. similar to Prelude's marker functionality)

 

I want to incorporate as much marker control as possible but I’m having a hard time finding reference materials. Below is what I’ve gathered.

 

Located in the PProPanel Sample .JSX

.getFirstMarker

.getNextMarker

.name

.end

.start

.type

.createMarker

.comments

.setTypeAsWebLink

newCommentMarker

newWebMarker

createMarker()

 

These were located under “PrSDKMarkerSuite.h” but I’m not sure how to execute them

GetMarkerCount

GetMarkerNameSize

GetMarkerName

GetMarkerStartTime

GetMarkerDuration

GetFlashCueMarkerID

DisposeFlashCueMarkerID

GetFirstMarker

GetNextMarker

GetMarkerData

 

Am I missing anything? Or could you point me to all of the reference materials pertaining to Markers?

 

Changing a markers' color would be especially handy.

 

 

Thank you

Undo Groups in Premiere

$
0
0

Is it possible to setup Undo Groups for Premiere Pro SDK Panel like After Effects Scripts use them? Thanks.

Get Selected Item(s) in Project Panel

$
0
0

Going through the examples and documentation, I couldn't find a function or value to tell if a folder or footage item is selected or access that item in the Project Panel of Premiere Pro. Closest thing I found was .select() which only selects the item you have coded. Has anyone had any success with this? Thanks!

Change sequence settings to all sequences of the project.

$
0
0

Hi there,

 

I have a project with a lot of sequences, and I have to change the settings. Is it a way to create a batch for making everything at once? Not manually.

 

Regards.

Not able to change the start and end values of track item

$
0
0

I am developing an extension for Premiere Pro.I need to import .mogrt into sequence and am able to do that using the API importMoGRT provided by Premiere Pro.

 

API

var newTrackItem = activeSeq.importMGT( mogrtToImport.fsName, targetTime.ticks, vidTrackOffset, audTrackOffset);

 

In the API i am able to change the targetTime.ticks which sets the starting time of the track item.But where do i set the end time/duration of the trackitem

 

Alternate option

 

I tried to use the attributes of the trackitem namely start, end, inPoint, outPoint (In the API documentation it is given as read/write attribute).But i am not able to change any of these attributes.

 

How do i set the start, end, duration of the trackitem?

Viewing all 53010 articles
Browse latest View live


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