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

Importer With Source Settings Effect

$
0
0

As the title suggests, I'm currently trying to set up a custom importer with a source settings effect.

 

In the importer, the imImportInfoRec sent for imInit has hasSourceSettingsEffect set to true.

The imFileInfoRec8 sent for imGetInfo8 has its sourceSettingsMatchName set to match the effect's AE_Effect_Match_Name in its PipL.

 

When the importer begins importing a file, the effect receives PF_Cmd_GLOBAL_SETUP and PF_Cmd_PARAMS_SETUP.

When the widgets for the effect's UI are altered, the effect is sent PF_Cmd_SEQUENCE_SETUP and the importer is sentimPerformSourceSettingsCommand.

FromPF_Cmd_SEQUENCE_SETUP, PerformSourceSettingsCommand is called using thekPFSourceSettingsSuite.

After the PerformSourceSettingsCommandcall in the effect, the importer receives imPerformSourceSettingsCommand.

 

From there I am having a few issues...

 

  • When responding to imPerformSourceSettingsCommand, it's clear that param2 is a pointer to an imSourceSettingsCommandRec with the ioCommandStruct from the effect, however I am unsure what param1 is pointing to, each time the selector is sent, param1 will be one of a handful of different addresses.
  • The effect is never receiving PF_Cmd_TRANSLATE_PARAMS_TO_PREFS and continues to receive PF_Cmd_RENDER.
  • After receiving imPerformSourceSettingsCommand, the importer doesn't receive imGetSourceVideo until the timeline is scrubbed.

 

Is there something that I'm missing here?

Is there any thing that I can do from the importer to force it to resend the imGetSourceVideoI'm getting the correct values from the effect inimPerformSourceSettingsCommand, so being able to force a redraw from there with the new settings would go a long way?

That would be a generally useful thing aside from just a work around for this issue.

 

I'm currently using the 2015 SDK, I'll upgrade to the 2017 SDK soon, but I'd like to get this working with the 2015 SDK first.

 

I've come across this thread, Source Settings = Effect + Importer and the similar section in the 2017 SDK guide.


Process Pixels During Import

$
0
0

I'm sorry if this is a stupid question with an obvious answer, but I am a bit stumped.  I am starting to write a Standard Importer for a subset of DPX files.  The source files will be 10-bit or 16-bit, but I want the imported image to be floating point so that the unsigned 16-bit files can be interpreted as having values greater than 1.0.  Which Selector function will permit me to iterate through the pixels and do my own conversion from 16-bit to floating point values?  My initial impression is that the SDK example simple tells Premiere what the file values are and lets Premiere handle any pixel processing.

 

Thanks.

New to AdobeAPI, where can I find an API overview or help with custom importer

$
0
0

Hi Adobe team, and fellow developers,

 

I am an experienced C++, Python and Qt developer, and have recently been asked to setup some pipeline tools for an production.

 

I am trying to figure out where I can find some more information about the Premier API, as I have to code a custom import dialog, which will read from an csv file and then pull audio and clips, add them to tracks as specific time frames and resize the clips accordingly.

 

At the moment I have found the Premier CC 2017 SDK, but I am using the 2018 version.

 

Is there a CC 2018 SDK available? Will the examples work from 2017 SDK work in 2018?

 

I have not been able to find how one actually loads the compiled tool into Premier, Is there a document on installing custom tools anywhere?

 

Does Premier have its own GUI API for creating/hanling dialogs?

 

The tool I am developing will be written in C++ and is for in house use. Any and all help would be greatly appreciated

 

Thanks,

Simon

Ingest material for importer with multiple files

$
0
0

We have created an importer plugin for Premiere Pro that opens a video file an its accompanying audio files. When the importer is instructed to open a video file, finds the audio files and exposes them to Premiere as if they were part of the same file. Everything works fine, we open our files correctly and can work with them. We are facing a problem trying to implement the "ingest" function.

 

We have implemented the imCopyFile selector, so the Project Manager collect function is working (I copy my video and audio files myself). Also, we have implemented the imQueryInputFileList selector, so Collect is also working on After Effects (it copies all the files as supposed to). But, when you create a project in Premiere Pro with the "Ingest" checkbox marked on Project Settings, adding a file fires Media Encoder which is copied over to the right destination, but only the video file.

I have tried registering my files using the FileRegistrationSuite->RegisterFileForHostManagement, but it returns 0x80000000 and the file is apparently not added to the Registration Suite (calling GetRegisteredFilePath for the same inFileDescTag also returns code 0x8000000 without touching the file name buffer).

 

Is this the right way to get Media Encoder to ingest my files or is there anything else that I should do?

Is everything possible in SDK?

$
0
0

Hejhej,

 

first, I've no clue what exactly Adob's SDK (API) can do.

I'm a MotionDesigner and not a Developer.

And I also don't know where to find people capable helping me out with  simple questions about Adobe's SDK

and  also where to find people to work together with on the following task:

 

For my client I'm doing a (in my opinion) complex text overlay template for Premiere via AfterEffects and this EssentialGraficsPanel.

This EGP is good and it's getting better with the new update (CC2019) but it's by far not perfect.

If you want to put many functionalities in one template it will become quite confusing for the client to use.

In my case a drop down menu would do the job.

But the even bigger problem is, that my client probably has to stick with the CC2018 version a long time for security reasons.

 

So I asked myself if there are other ways to achieve the best and handy solution for the client.

Here are a few parameters:

The client produces a lot of video content for the internet and there  are video editors for that using premiere.

In this tool it shoult be possible to

• type text in different styles, sizes, alignments, colors

• with different textbars

• different styles of animation

• defferent effects

 

I know how to do  that stuff in AE with expressions (of course with a lot of help from different communities)

Befor the EGP I did a version with the dynamic link thingy where the editors had to put in various defined commands in invisible text fields .

So the there were not that many text fields and you had a good overview - but you always had to have the list with the commands besides.

 

I hope you developer guys got the point.

Is it possible to develop such a tool for premiere?

If yes, will it work like the EGP with the use of AfterEffects or stand-alone and most relevant intependently from the CC-Version.

If yes, are there freelancer out there specialized on this (german based would be perfect)?

 

Any other suggestions because of the fact that I'm thinking completely wrong?

Dummy importer

$
0
0

Hi folks,

 

I'm trying to write a dummy importer that would essentially only put a file pointer in the project for reference and archival purposes, like FCP XML translations results text file which gets imported into the project.

 

I thought that perhaps setting hasVideo and hasAudio as false would do the job, but I keep getting the "Importer returned generic error" in Premiere and "file cannot be imported - this file is damaged or unsupported".

 

Currently the entry function looks like this:

     switch (selector)     {          case imInit:               result =     SDKInit(stdParms,                                         reinterpret_cast(param1));               break;          case imGetInfo8:               result =     SDKGetInfo8(stdParms,                                              reinterpret_cast(param1),                                              reinterpret_cast(param2));               break;          case imGetIndFormat:               result =     SDKGetIndFormat(stdParms,                                                   reinterpret_cast(param1),                                                  reinterpret_cast(param2));               break;          case imGetIndPixelFormat:               result = imUnsupported;               break;          // Importers that support the Premiere Pro 2.0 API must return malSupports8 for this selector          case imGetSupports8:               result = malSupports8;               break;     }     return result;
}

 

And only these 3 selectors are supported:

imInit

imGetFormat

imGetIndFormat

 

imInit and imGetIndFormat work fine, because the importer is added to the list, and attempts to open the file. And the imGetFormat looks like this:

 

          prMALError                         result                    = malNoError;     SDKFileInfo8->hasAudio               = kPrFalse;     SDKFileInfo8->hasVideo               = kPrFalse;     return result;

 

Obviously I'm missing something, can anyone help me?

How to access the Premiere Pro clipboard?

$
0
0

I'm not sure if I need to use the SDK for this or not.

 

Basically, I want to be able to COPY many different items from Premiere, like presets, transitions, and clips... into the clipboard, one at a time, and then SAVE all of that clipboard information somewhere where it won't get overwritten when the next thing is copied onto the clipboard.

 

Then I'm going to program a system (probably using AutoHotKey) where any particular item can be recalled and placed back into the active clipboard, then pasted straight into Premiere like normal.

 

This would allow me to use custom keyboard shortcuts to instantly apply any effect I want, any transition I want, and any group of clips that I want to the timeline... incredibly easily and flawlessly.

 

 

I've tried using autohotkey's clipboardAll() function, (Clipboard and ClipboardAll) but it doesn't work for items copied in Premiere... only for text and pictures and things like that. It looks to me like Premiere has its own special clipboard that it uses for more complicated things like copying effects or clips off of the timeline.

 

So again, my question is, how do I access the Premiere Pro clipboard? Where is that file located in Windows? I searched through all the Premiere AppData files and I didn't see anything that looked like clipboard information... I'm not even sure if that's the right place to look.

 

I downloaded the SDK, but I don't see any information about the clipboard in the included help file, so I don't know if the SDK would be useful for this.

 

I would be so, so grateful if anyone could help me with this. I'm a video editor, not a programmer, so this stuff is not very easy for me.

Source Settings = Effect + Importer

$
0
0

The SDK guide has a paragraph on the newly introduced in the CC 2015 SDK effect control source settings. This paragraph is (to my knowledge) literally the only info on the subject. No comments in the headers either.

What is the intended way of communication between the importer and source settings effect? Does the host chain the source settings effects plugin automatically, feeding it frames from the importer? What's the deal with imSourceSettingsCommandRec and PF_SourceSettingsSuite? Now, apparently that's for importer<-->effect communication since they (and only they) understand the actual data passed in the command but it is unclear (to me, anyway) how it works, and how and when the host passes the command to the effect. Any documentation or sample code to glimpse into?


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!

Premiere Pro event list?

$
0
0

In the PProPanel sample (github.com/Adobe-CEP/Samples/blob/master/PProPanel/ext.js) there are sample event hooks for "com.adobe.csxs.events.PProPanelRenderEvent" and "com.adobe.csxs.events.WorkspaceChanged" events but these aren't listed in http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/cs-extension-builder/ pdfs/CC_Extension_SDK.pdf  or anywhere else that I've seen.

 

Are there Premiere Pro events for post-export functions, eg. Final Cut Pro XML or EDL export?

 

Where can I find a list of supported event types fired by Premiere Pro? Alternatively is it possible to have a "wildcard" event handler which is called for all application event types?

 

 

OpenGL in Premiere Pro

$
0
0

Hello everyone,

 

I'm very new to the wonderful world of plugin development for After Effects / Premiere Pro. I have been reading the SDK  guides, as well as the slew of examples that came with them. But there is one thing I'm relatively confused about, and that is using OpenGL for developing plugins for Premiere. None of the examples that came with Premiere Pro's SDK touches the subject of using OpenGL, and the only OpenGL related example in After Effects - GLator, seems to have trouble running in Premiere Pro (does it even work in Premiere Pro?).

 

For those experienced with working plugins for Premiere, is there any basic guidelines / best practices you can offer to us noobs pertaining to utilizing OpenGL in Premiere Pro? Many thanks in advance.

 

Cheers,

 

Jay

Common location for a plug in installer / Media Encoder Plugin Loading.log ?

$
0
0

Hi there,

I have a problem loading a plugin from After Effects and Media Encoder with Premiere not installed:

1. From the After Effects SDK guideline I read that "Installing your plug-ins in the common location will allow them to be loaded by Premiere Pro, if installed."

I am creating a Premiere Import plugin, which if I understood correctly should work on After Effects too. Now here is my question: will After Effects and Media Encoder look in the "/Library/Application Support/Adobe/Common/Plug-ins/7.0/MediaCore/" folder even if Premiere is not installed? If not, when writing an installer, should I put a copy of the plugin in both After Effects and Media Encoder plugin folders too?

2. is there a plugin loading log for Media Encoder? I can locate the ones for After Effects and Premiere, but not the one from Media Encoder.

Thank you for any help,

S.

Premiere & multi-threading

$
0
0

Q: (copied here from an email exchange I had with Zac)

 

I’m trying to use an old plug-in that’s an AEX from 2003. It works on Prem Pro but I want to use it in CS3 (coz I have HD footage and Prem Pro can’t do HD). Anyhow it doesn’t work in CS3.

 

I was stepping through it in the debugger and it looks like it gets called by multiple threads concurrently and it then Stack Overflows and causes an Access Violation.

 

So, I guess my question is – is CS3 multi-threaded accessing the plugin and did Prem Pro not do that?

 

My assumption is that the AEX isn’t thread safe or is single core thread safe and can’t handle threads running in parallel on multi-core pcs. (I’ll test setting the affinity of Premiere to one core to see if that fixes parallel-thread execution potential bugs).

 

If so, what would happen if I make a skeleton AEX that opens this AEX from somewhere out of the Premiere tree, forwards all the calls but only lets one thread in at once?

 

A: (from Zac via email)

 

Here’s a good description of what changed in CS3, from the AE SDK Guide:

 

“Starting with Premiere Pro CS3, Premiere uses multithreaded rendering for AE effects. For AE effects, there is a critical section which is used for all commands, except those relating to arbitrary data. The critical section prevents two threads from calling the same instance of the effect at the same time. However, Premiere creates multiple instances of the effect, which can be called concurrently from separate threads. Effects should not depend on static, non-constant variables.

 

New in Premiere Pro CS4.1, we have added a new flag to the AE API, PF_OutFlag2_PPRO_DO_NOT_CLONE_SEQUENCE_DATA_FOR_RENDER, to allow a plug-in to opt out of Premiere Pro's multithreaded rendering of AE effects. When the flag is set, we don't clone the sequence data across all the threads and we only call into the plug-in on one thread at a time. Premiere Pro will still render using multiple threads, but the effect will only render on one thread at a time, and the same sequence data will be used. This flag is useful for plug-ins that provide their own internal multithreading, or plug-ins that render frames based on previous frames, such as image stabilizers.”

 

So for CS3, since we don’t support that new flag in 4.1, your suggested workaround using a shim plug-in just might work.  But it’s hard to say for certain, since we don’t really know what is happening…

 

Zac

 

So, I guess the answer is that this old plugin is using statics or globals and is thus not multi-thread capable.

Solution: Get CS4!! 

 

One for the too-hard basket right now.....

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

Validating pixels within path

$
0
0

I was looking around the SDK and I can't seem to find a way of checking if a given pixel is within a masking math created with a plugin effect, I was wondering if any of the suites already manages this, I know After effects already has an AEFX_AcquireSuite macro which returns a suite that can be used to mask a frame using a path provided but as far as I know premiere handles the paths in a different way so, long story short. Is there a way of using the iterate function and check if a given pixel is within the path region?


Getting info from Premier project. What the first steps are [beginner, that begins at the very beginning]?

$
0
0

Hi, everyone.

 

I need to write a tool that will open Premiere project, make list of audio files, add info about start and end of an audio track and then process this list in some way. Can someone, please, advise me:

 

1. Should I use C++ SDK? (obviously, yes, but maybe there's some other better solution?)

2. Should I write add-on or it might be external binary?

3. Is there any basic guides for plugins and external tools development?

4. What's the best way to do what I need?

 

I'm absolutely new to Premier SDK development, currently I'm looking for entry point to the issue. Maybe questions are a bit awkward the I still need the answers and will be grateful for it.

 

Regards,

Yura

Can I implement motion blur in gpu architecture?

$
0
0

Hi, everyone!

 

I am creating a gpu accelerated plugins by gpu architecture which provides PPro.

 

But I have a question.

Can I implement motion blur?

If so, Can I get the samples?

 

Thanks,

Igor.

Exporter : QueueAsyncVideoFrameRender ?

$
0
0

Hello,

 

Is anyone using the Async Pull model in exporters ? (page 195 of the latest documentation)

I'm calling SetAsyncRenderCompletionProc and QueueAsyncVideoFrameRender but my PrSDKSequenceAsyncRenderCompletionProc callback never gets called

 

Thanks,

Antoine

How to use Exporter Utility Suite and DoMultiPassExportLoop()

$
0
0

Hi,

 

I’m hoping to improve the performance of our Exporter Plugin. Currently sequenceRenderSuite->RenderVideoFrame() is taking about 30ms to render a video frame.

 

In the documentation (page 194 of Premiere_SDK_Guide.pdf) released with the Premiere SDK (https://www.adobe.com/devnet/premiere/sdk/cc.html), it mentions that CS6 exports can use the new push model:

 

Get Video Frames and Audio Samples

 

Starting in CS6, exporters can use the new push model, or the legacy pull model for obtaining

frames. The new push model is supported starting in CS6, and the pull model is still supported.

Developing for Encore and previous versions of Premiere Pro and Media Encoder requires using

the pull model.

 

Push Model

 

Using the push model, the exporter host can simply push frames to a thread-safe exporter-specified

callback. Use DoMultiPassExportLoop in the Exporter Utility Suite to register the callback.

 

Compared with the pull model, this will cut down on the code previously required for render

loop management. It should also yield substantial performance increases for exporters that

haven’t finely tuned their multithreaded rendering.

 

Please can I have some examples of how to implement the push model via DoMultiPassExportLoop() and the Exporter Utility Suite.

 

Many thanks in advance,

 

Andy.

 

Keywords: kPrSDKExporterUtilitySuite, DoMultiPassExportLoop(), ReportIntermediateProgressForRepeatedVideoFrame(), ReportEvent()

Is there any event gets invoked in Panel when AME Render is Stopped?

$
0
0

Hi All,


Is there any event available to bind on "app.encoder" object when AME Render is Stopped from AME UI? "onEncoderJobError" doesn't work.

 

Premiere Pro version: 11.0.1

Extension Type: Panel

 

 

Thanks & Regards,
Meet Tank

Viewing all 53010 articles
Browse latest View live


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