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

Apply Cross Dissolve Between Clips With Scripting

$
0
0

Suppose that I have two clips right next to each other on a track, like this:

 

hB2bebY.png

 

Now suppose I want to use a Premiere Pro script to add a cross dissolve transition between those two clips (with a duration of exactly 10 frames), so that I end up with:

 

yxs2Kdn.png

 

How can I do this using ExtendScript?  Is it possible?  If so, can you provide an example?


Getting the timestamp and context of a render

$
0
0

Hi all,

 

In my transition plugin I want to show the user extra details when a render fails for some reason.  I already show an error popup notification, and in the ECW I make a button visible that they can click for more information.  This all has to work from both the CPU and GPU render path.  I'm using the After Effects entry points.

 

What I would like to add is the name of the sequence, the name of the track, and the timestamp of the position in the sequence.

 

I've already spend a lot of time on figuring out on how to get access to those names, but I failed to find any inroad.  I've checked:

 

  • the PrSDKVideoSegmentSuite (doesn't return relevant strings),
  • piSuites.PlugTimelineFuncsPtr (no strings either),
  • EffectRecord (can't use it -- I use the AE entry points),
  • PrSDKVideoSegmentSuite.SegmentNodePropertyCallback hoping it would pass me some undocumented strings (it didn't)
  • lots of other stuff I forgot about

 

The timestamp I'm being more successful at.  On the GPU path I use inRenderParams->inSequenceTime / PrSDKTimeSuite.GetTicksPerSecond.  However, if I let my sequence start at another time than 0:00:00, this offset is nowhere to be found...  And on the CPU path I've messed around with both in_data->total_time and in_data->current_time / in_data->time_scale, but those give incorrect values...

 

For getting the node ID on the CPU path I already have code in place that, starting with the timeline ID, searches it's way through the project until it finds my transition's node.  During the scan I thus also have access to the sequence and segment nodes, but I failed to see any relevant info on them either.

 

Does anyone have a better understanding on how I might obtain these details?

Relink TIFF sequence

$
0
0

Hey,

I created a Premiere Pro plugin which relinks track items to newer versions of a shot using setOffline() and changeMediaPath(). But as I checked this method only supports video files. Is there any way to relink track items to TIFF sequences?

 

Thanks,

Ferenc

Add an effect on ambisonic audio tracks in PPro

$
0
0

Hi, as a lot of people posting in this forum, I'm new to the development of Plug-in in Premiere Pro.

 

I am currently working on the editing of a 360 video, and as the title suggest, I would like to create an effect that I could apply on an ambisonic audio track, I use the term "effect" but I am not sure if it is really appropriate actually. What I want is a tool showing the intensity of an ambisonic sound for each angle/direction and for each frame of the audio track.
I imagine it as an effect that I could apply to the audio track, the effect would calculate for each angle and each frame the intensity of the track and show it, which would allow me to clearly visualize the intensity of my audio track in a 2D space (I don't care about the height). I think it could be pretty close to the binauralizer-ambisonics effect in term of user interface.

 

I already made my research on how to decode an ambisonic sound in order to calculate the intensity for each angle.

 

And I also made research, in this forum for example, on how to get started. I read the SDK documentation and tried to understand the use of Panels in PPro.
But even after these research, I am lost.

 

As the SDK documentation encourage, I assume the best idea would be to start from a project example. But which one is the closest to what I am trying to do ? Perhaps I am looking in the wrong place and I should document myself on Audition ? Is it even possible to do what I imagine ?

 

Thanks a lot for your answers !

Changes to the loading of external DLLs, by Premiere Pro and After Effects plug-ins

$
0
0

Some changes have been implemented in the upcoming versions of Premiere Pro and After Effects which may affect how your tools interact with the application.

 

What's Changing:

Plugin DLLs are no longer loaded from Working Directory and SearchPath will no longer locate DLLs in the Working Directory.

What Isn't Changing:

 

The Working Directory is still typically set to the application directory and the application directory is always searched for DLLs first.

What This May Affect:

  • Plugin Loading
  • Cases when a user double-clicks a file to launch Premiere Pro or After Effects
  • Cases when an application (render manager) or extension launches Premiere Pro or After Effects

 

If you would like to test your plug-ins in pre-release builds of Premiere Pro or After Effects, contact me directly.

 

Thank you for testing, and thank you for developing plug-ins for our products!

 

-bbb

Conditionally hiding topic params in the ECP

$
0
0

Hi,

 

In my Premiere Pro transition plugin I want to conditionaly hide a section/topic containing other params.  I've added the logic to UpdateParamUI.  It works for all param types except topics.

 

What I'm doing is (roughly):

    PF_ParamUtilsSuite3* paramUtilsSuitePtr = ...;
    int paramIndex = ...;
    bool show = ...;
    ...
    PF_ParamDef copy = params[paramIndex];
    if (show) {
        copy.ui_flags |= PF_PUI_INVISIBLE;
    }
    else {
        copy.ui_flags &= ~PF_PUI_INVISIBLE;
    }
    copy.uu.change_flags = PF_ChangeFlag_CHANGED_VALUE;
    params[paramIndex] = copy; // so other parts of the code executing before we return to Premiere see the new state
    paramUtilsSuitePtr->PF_UpdateParamUI(in_data->effect_ref, paramIndex, &copy);

As said, for e.g. buttons or sliders this works nicely.

 

Now topics.  When I add a topic, initially visible, and then in UpdateParamUI run the above code twice (for both the topic start and end param), I get weird results:

 

  • I drag the transition into a project
  • I click the layer to open the ECP
  • Result: the topic is nicely hidden, and all other params in it and surrounding it are shown
  • I then click outside the layer (so the ECP doesn't show the layer's params)
  • I click the layer again to open the ECP
  • The ECP blows up...

 

The result is that the topic above it loses it's name (it becomes a nameless twirly), the topic itself still shows but also nameless, it's params are back again but also all nameless, and it is followed by a normal copy of itself where all labels still show.  Changing the params in this visible copy also updates the corresponding values of the nameless shadow copy.

 

Then I read in another post on this forum that you'd also need to hide the params inside the topic, and that you should leave the topic's end param as is.  The latter doesn't change the situation at all, and the former only results in the embedded params to now remain hidden, but the topic itself still acts up the same (both a nameless shadow copy as well as the effect on the topic above it).

 

Does anyone know how to properly hide a topic in Premiere Pro?  I've tested this on 2018 (12.1.2) as well as 2019 (13.1.2), but both act up.

 

I've also looked at an old 2012 copy of the Supervisor sample.  That one shows/hides 3 regular params, but in the ID list I see the sample once also had a topic param.  Was this one removed from the sample due to topics not being hidable (anymore)?

Premiere Pro importer plugin loaded successfully but file still not supported?

$
0
0

Dear all, I am new to Adobe Premiere Pro plugin development and I developed a custom file importer plugin for Premiere Pro CC recently. But in some of my client machines the plugin can be loaded successfully by Premiere Pro according to the log file as following:

 

Loading C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\CustomImporter.prm

The registry tells us not to cache so the plugin will be loaded from disk.

Loading from disk...

This plugin was recognized by loader ba1058cd-0007-44e4-bf1a-0ef51307b979.

 

Curiously, when I try to import custom file into Premiere Pro, it warns that the file is not supported by Premiere Pro. But in my development machine it works like charming. I can't figure it out why did that happen? I developed this plugin in Windows 10 with Visual Studio 2015, and I tested the plugin in Premiere Pro 2019. The plugin SDK is also updated. Does anyone has the same issue? It would be very nice to give some advice...

 

Thank you very much.

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.


Import with duplicate with Premiere SDK

$
0
0

Hello there!

 

I've got the next question:

I imported a sequence using "importSequences()" function.

 

The trouble is if I import the sequence more than 1 time the files of the sequence don't be imported, only the first time.

 

If we import the sequence manually there is a checkbox "Allow importing duplicate media".

 

 

Is it possible to import sequences again with duplication of items using the script?

 

Thank you!

Check if sequence is Empty at getPlayerPosition() ????

$
0
0

Hello my friends.

 

I'm trying to import a .mogrt into the sequence, but sometimes the track already has a video, and I do not want to overwrite it.

is there any method to check if the track is empty in getPlayerPosition () so I can create a new function that will create a new track above to import the new mogrt and not overwrite the previously imported video?

 

I do not know if i was clear.

I'm counting on your help.

 

Regards

 

 

Rubens Nobre

Scripting in Adobe Premiere Pro

$
0
0

Hello Sir,

 

We are facing a problem when we try to automate certain procedure in Adobe premiere pro using scripting.

 

What I did???

 

I created multiple sequences in Adobe premiere pro using scripts like " Video0, Video1 ".

 

26.png

 

What I want to Do ???

 

Now I want to select those sequences and do a "multi-camera source sequence" to those created videos.

 

28.PNG

 

I want to automate above process. Is there any scripting functionality in adobe premiere pro where we can automate the above steps.

Hoping a quick reply.

 

Thanks and regards

TheRightDoctors

SDK_ProcAmp.cl.h not found

$
0
0

Hello Premiere community

 

I am totally new to Premiere plugin development and i try to developpe a plugin that will makes cut when se sound is very low. To do that, I download the SDK, and try to test the video filters which I think is the closest kind of project for my needs. But I currently have issues to makes the samples works. I can’t find the files :  SDK_CrossDissolve.cl.h, or SDK_ProcAmp.cl.h in fact I can’t find them in the SDK but they are included in the code

Do you have any idea of where those file can be? (the cmd.exe exit with code 1 hit me after use debug button)

 

ps : i also have another error from the code from

But i believe that from the missing crosseDIssolve.cl.h

 

I also have another question, there is two files for the filters : {filter_name}_CPU.cpp and {filter_name}_GPU.cpp, are both used ? is there a way to use only CPU for this kind of plugin ? since I think my goal plugin doesn’t consume too much resources (just read the sound, and call for a cut at right time) or do you think that I should force myself to use CUDA & GPU processing ?

 

Thanks !

starting playback in extendscript not possible

$
0
0

Hi,

 

I have been trying every possible way to get Premiere CC 2019 to start playback from the ExtendScript. It just does not work. This is on mac.

 

The file is in the ~/Documents/Adobe Scripts directory.

The extendscriptprqe.txt file is present in the same directory as Adobe Premiere

When I hit the play button in ExtendScript it just sits there, ExtendScript Toolkit prints "Result: true" and Premiere does not do anything.

 

That's my code:

 

app.enableQE();

qe.startPlayback()

Each project item has a uninque nodeId in ExtendScript, and an importer plugin as an importer id when developing supported by pr plugin sdk. Is there any relations between the nodId and importer id?

$
0
0

Each project item has a uninque nodeId in ExtendScript, and an importer plugin as an importer id when developing supported by pr plugin sdk. Is there any relations between the nodId and importer id?

Duplicate clip

$
0
0

Hello,

 

I don't know how to duplicate clip in one sequence (of 2) which composed of several videotrack.

 

I have this script :

 

var first = app.project.rootItem.children[0];

first.setStartTime(20);

first.setInPoint(30);

first.setOutPoint(45);

var seq = app.project.activeSequence;

var vTrack1 = seq.videoTracks[1];

vTrack1.insertClip(first, '00;00;08;00');

 

 

This code will duplicate the clip 1 (children[0]) of the sequence 0 (rootTtem) on the sequence 1.

 

However, I would like to duplicate the clip 1 of the sequence 1 on the sequence 1.

 

I do not think I can use rootItem. I tried everything and do not know what to do

 

Do you know anything about that to destress me ?

 

Thank you


Automating actions without panels

$
0
0

For Premiere Pro CC 2019 I need to automate actions. I cannot use panels or other things that require clicking buttons. At first I thought can use extend script but it seems this is not possible that easily. In Photoshop, I can open a script directly with photoshop using the Script Utility from Apple and execute the apple script to open the extendscript through

osascript -e <script content>

But in Premiere it seems there is no way to do that. If I take the same approach, Premiere tells me that it cannot open js files.

 

How can I automate actions in Premiere so that I can exercise them from the command line?

Custom User Preferences

$
0
0

Hello friends.

 

 

I am trying to find documentation on how to save Custom User Preferences in PPro.

I usually create Scripts for AE and it can save Custom Settings for storing variables, or any type of string that can be used after the first script installation, using the function:

 

 

app.settings.saveSetting (sectionName, keyName, value)

 

 

Is there any function of the PPro SDK that allows something like this?

 

 

Regards,

 

 

Rubens Nobre

How to delete a trackItem (audio clip)?

$
0
0

Hi, I'm trying to delete a audio clip from a sequence.

 

In the 13.1 API update changelog it says:

Remove track items

Track items can now be removed.

 

I can't seem to find any information on this in the guide.

Does anyone know how to do this?

Visual Studio Code failed to debug the Premiere

$
0
0

As mentioned, when I try to use visual studio code to debug the Premiere, a error box jumped out, "(#15) Cannot execute script in target engine 'main'!

 

My luanch.json is :

{

 

   "version": "0.2.0",

   "configurations": [

  {

   "type": "extendscript-debug",

   "request": "launch",

   "name": "Custom Debug",

   "program": "${workspaceFolder}/jsx/PPRO/Premiere.jsx",

   "stopOnEntry": false

  }

  ]

}

 

I also try to fix the bt.timeout in 002BTBackend.jsx, but it turns out to be the bt.timeout = 604800; // a week

 

So, is a problem about ExtendScript Debugger extension in vs code or a premiere problem?

Werid error with ExtendScript

$
0
0

I made a call to JSX like this:

In the JS,

 

csInterface.evalScript("$._PPP_.getProjectOut('" + 'Param in' + "')", function(e) {

 

                alert(e);

    });

 

 

In the JSX(Premiere.jsx):

 

getProjectOut:function(msg) {

 

    

         return msg+' Pr Out';

},

 

When the evalScript is executed,  alert shows: EvalScript error

 

Anything wrong with the jsx or js?bbb_999

Viewing all 53010 articles
Browse latest View live


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