Quantcast
Channel: Adobe Community : Popular Discussions - After Effects SDK
Viewing all 73444 articles
Browse latest View live

Why would rowbytes be negative and 4 times larger?

$
0
0

When receiving input and output worlds in Premiere (registered with pixel format of PrPixelFormat_BGRA_4444_32f), I keep getting the world that has the rowbytes equal to -30720 (for a typical 1920x1080 clip), while the new worlds, created using:

 

world_suiteP->PF_NewWorld(in_data->effect_ref, output->width, output->height, true, PF_PixelFormat_ARGB128, &moved_in));

 

Has the rowbytes equal to 7680, suggesting an 8-bit world, not 32-bit one. Interestingly, if I use PF_PixelFormat_BGRA32 the rowbytes value is the same.

 

Any thoughts on this discrepancy and suggestions on how to resolve it?


Is it possible to differentiate between an adjustment layer and a precomp?

$
0
0

Hi. I saw from a previous post it's possible to determine a layer type using the following code:

 

AEGP_LayerH layerH;
ERR(suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(in_data->effect_ref, &layerH)); //get the layer refference

 

 

AEGP_ObjectType          layerType = NULL;
ERR(suites.LayerSuite5()->AEGP_GetLayerObjectType(layerH, &layerType));

 

Unfortunately for me adjustment layers and precomps are both considered video layers. I need to determine exactly which type it is, is this possible? Thanks.

Visual Studio 2013 unable to debug - The request is not supported

$
0
0

Hi,

I'm new in AE plugin development. I can build and run code from after effects (cc 2017), but when I try to debug like it says in the SDK Guide, VS says "Unable to start program  C:\Program Files\...\AfterFX.exe. The request is not supported.

I tried starting both programs as administrator, checked my settings and so on.

How can I connect VS to After Effects to debug?

Thank you.

Drawing an Image in Effects UI crashes

$
0
0

Hi,

 

I'm currently using CS5 SDK.
I was trying to draw an image in Effect UI using NewImageFromBuffer and DrawImage calls. First time it draws. But if you click on the image or resize the effects panel, it crashes.


I'm getting image data using third party framework JUCE. It crashes for NewImageFromBuffer call in draw event.

How do I get AEGP time_step

$
0
0

I am doing an AEIO export of 23.976 frames per second, 40 frames. 

 

I call AEGP_GetOutSpecFPS() and I get the expected frame rate. 

 

I call AEGP_GetOutSpecDuration() and I get a duration.value of 5000 and a duration.scale of 2997.

 

I have seen this in QuickTime where the time scale is 2997 and the sample duration is 125 for 23.976 frame rate.

 

How do I get the equivalent value for After Effects rendering "time_step" so I can convert a duration.value of 5000 to a result of 40 frames?

 

I can not figure out how to get the After Effects "time_step" in my render module at the call back My_StartAdding() time? 

 

Obviously I need a "time_step" of 125. 

How to set the priority of my AEIO?

$
0
0

It seems that my AEIO has a lower priority than the original one, which causes some errors.

(*.flv files)

How to lift the priority?

Is there a download link for the CC 2015 version of the After Effects SDK anywhere?

$
0
0

With all this news of updating plugins for CC 2015, I was hoping to find the SDK here so that I could update mine as well. Imagine my disappointment to only find 2014. I think I originally had to use an older version the last time I developed for AE. Has anyone seen it anywhere? Thanks!

AEGP_SetStreamValue returns error 6 on CC15

$
0
0

Hi There!

 

Today I updated AE to CC 2015 and my plugin started to launch this strange error:

After Effects warning: A plugin is attempting to do an invalid operation: modifying a locked project ( 1 :: 0 )


I've tracked that error into the function AEGP_SetStreamValue from stream suite, that now returns 6 as an error code... That error code is not defined on the SDK, at least in the version that I have (CS5 sdk).

This function is being called from PF_Cmd_FRAME_SETUP.

 

Then after the PF_Cmd_FRAME_SETDOWN command the warning above appears.

 

Do I need to update to a new SDK?

Or this error 6 means that I am doing something very wrong?

 

Best regards,

Marco


AEGP_DoCommand(2415), aka Play, doesn't do anything

$
0
0

Are there limitations as to when the Play command can be issued?

I am issuing it in the idle hook, and it does nothing whatsoever.

Other commands (and by other I mean RAM preview) work.

 

Thanks.

New After Effects CC 2017 plug-in SDK is live

UI and Render Threads Not in Sync in CC2015+

$
0
0

My plugin is a modular effect, similar to Plexus, in that there is a main render effect, and a number of UI-only effects that provide data to the render effect (I've posted about this on a number of other occasions!).

 

When you apply the Renderer effect from the effects and presets panel, it uses Sequence Setup to automatically add the default data effects, so you end up with:

 

Module Selector (added automatically)

Builder (data effect - added automatically)

Instancer (data effect - added automatically)

Renderer (render effect - added manually)

 

This all works perfectly in AE pre CC2015, but in CC2015+ I get a bunch of After Effects error: internal verification failure, sorry! {invalid index in indexed group} errors, and the effect fails to render.

 

The reason for this seems to be that the UI and render copies of the project are not in sync. Indeed when I debug Smart Render, when it loops through the layer effects to gather the data it only finds the render effect, and none of the data effects. With no data, it renders nothing.

 

Now, if I save the project, close it and reopen it, everything works as expected, so the problem is limited to first applying the effect.

 

Any thoughts on how I can sync up the two threads?

 

Thanks, Christian

second parameter "const A_char* inScriptZ" description in AEGP_ExecuteScript()??

$
0
0
Hi,

The prototype of AEGP_ExecuteScript() is

SPAPI A_Err (*AEGP_ExecuteScript)(AEGP_PluginID inPlugin_id, const A_char* inScriptZ,// in const A_Boolean platform_encodingB, AEGP_MemHandle* outResultPH0, AEGP_MemHandle* outErrorStringPH0);

What is the second parameter "const A_char* inScriptZ" describes?
Is it path of the script file or direct script only?

Thanks
Manjunath

getting "Unable to run script at line 1: syntax error" error?

$
0
0
Hi,

I want to run a script using the AEGP_ExecuteScript() function. but I got an error "Unable to run script at line 1: syntax error". what could be the rea son for this? shall I inlcude anything extra info in my project?

Below is the code ...

char scriptPath[] = "F:\\Documents and Settings\\akshays\\Desktop \\Active Shutter.jsx";

A_Boolean platform_encodingB = 'B';
AEGP_MemHandle outResultPH0;
AEGP_MemHandle outErrorStringPH0;

utilitySuite5->AEGP_ExecuteScript( pluginID, scriptPath, platform_encodingB, &outResultPH0, &outErrorStringPH0 );

please help me.

Thanks
Manjunath

is it normal or is it just me?

$
0
0
a strange little problem...

from within an effect (not an AEGP), i used AEGP_ApplyEffect.
indeed a new effect is applied to the layer and all is good.

then i used AEGP_ReorderEffect.
as long as the new effect ends up anywhere past the index of the effect from within which it's applied, no problem emerges.
BUT!
if i move the new effect to a location prior to the current effect in the stack, the following happens:

the new effect is applied, it lands in the correct place but an error message comes up:

AfterEffects error: internal verification failure, sorry! {stream at index has wrong matchname}
(29::0)

after i click ok, all is as it's supposed to be.
everything is in place and working.
no child woman or animal were injured.

so the question is:
is it at all possible to re-order effects from with-in an effect in the same stack?
it works but it launches an error message.
maybe there's a flag to be set to make AE re-think the order of the effects?

if anyone has a HUGE spotlight with brooce's silhouette, this would be the time to send the signal.

Turn Down Opacity or Hide Layer

$
0
0

Hi @ everybody,

 

1) I would like to turn on/off the layer (toggle hide) or turn down the opacity to 100%. Can you explain me how i can do that?

 

I did a littl research and found just one forum post about opacity:

 

PF_compositeMode

    compositeMode.opacity   = PF_MAX_CHAN8; // 0 - 255

 

 

would be nice if someone could give me a hint

 

2) I've played around with the "resize"-example by adding currentframenumber (in-data->current_time / in-data->time_step) to the border-size to give it a dynamic changement. I've recognized that it only works when i add keyframes to that effect. I think i did not totally understand how to handle with specific variables.

 

the change i've made:

 

out_data->width  = 2 * static_cast<A_long>(border_x) + params[0]->u.ld.width +  6* (in_data->current_time / in_data->time_step);

out_data->height = 2 * static_cast<A_long>(border_y) + params[0]->u.ld.height + 6* (in_data->current_time / in_data->time_step) ;

 

i thought, that as soon as i click play, the timeline is increasing, that the changes will be made.

 

by the way what is

 

u.ld.width


Pixel before effects

$
0
0

Hello guys,

Another question in two days... yes i have been coming back to AE development recently.

I hope someone will have some answers to help me.

 

I want to get the color of pixels before any effects has been applied. So regardless of which effects have been applied I want the original pixel of my layer. Is it possible?

With scripts, we can use the sampleImage(postEffect= false) for that, so i guess it would be possible from the API... but I could not find the API function enabling that.

If anyone has an idea...thank you in advance.

 

Regards.

Passing an AEGP_SuiteHandler

$
0
0

I am using the iterate suite to generate my output, but I need to call some math functions from within the iterated function. My current solution is to call the math functions by passing the pointer to the AEGP_SuiteHandler I loaded in SmartRender() through the refcon.

 

Is this safe? Is there a better way?

 

Thanks,

Andrew

GPU accelerated AE/Premiere Pro plugin development?

$
0
0

Hello All,

 

I'm the developer of a prototype video processing algorithm that is currently a standalone .NET executable.

 

I want to create an After Effects or Premiere Pro compatible plugin version of this algorithm.

 

My questions:

 

1) Should I use the After Effects SDK, or the Premiere Pro SDK to develop this plugin? Does an After Effects plugin run in Premiere Pro as well? Or, conversely, does a Premiere Pro plugin work in After Effects?

 

2) Can an After Effects or Premiere Pro Plugin tap into the power of the GPU? Do I need to learn CUDA/OpenCL for this, or does the Adobe SDK include its own GPU functions?

 

3) Which SDK makes it easier to create a multithreading-capable plugin, so that my plugin uses all CPU cores on a machine?

 

4) Is there a way to get a free developer version of After Effects/Premiere Pro, or do I have to buy the full price products to develop plugins for them?

 

 

Thanks for any help/answers!

SDK Tutorial?

$
0
0

Greetings everyone,

 

I'm going through the SDK documentation pdf and I'm wondering if there is a walkthrough with the examples somewhere or it’s a “figure it out yourself” type of thing?

 

Thx,

AEGP_IterateGeneric, AEGP_WorldH and AEGP_GetBaseAddr

$
0
0

I have an effect I am working on that performs several iterations over an AEGP_WorldH

 

This is accomplished by the following scenario:

 

AEGP_WorldH    outputWorld;

 

ERR(suites.WorldSuite3()->AEGP_New( NULL,

        AEGP_WorldType_8,

        width,

        height,

        &outputWorld));

 

          PF_Pixel8 *pxlOut;

          ERR(suites.WorldSuite3()->AEGP_GetBaseAddr8(outputWorld, &pxlOut));

 

          PF_Pixel8   *bop_outP  = (PF_Pixel8*)pxlOut;

 

          for (register A_long yL = 0; yL < height ; yL++) {

 

      for (register A_long xL = 0; xL < width; xL++) {

 

            //do fun stuff

 

            bop_outP++;

      }

          }

 

I would like to take some of the iterations that can be broken up into smaller units of

work and feed them into the generic iteration function to take advantage of the multiple

CPUs on my computer.

 

I have a structure, and from the examples I have seen in the forum it looks like I should

be sending a structure with PF_EffectWorlds into the generic function and then performing

iterations on a row by row basis?

 

I was wondering if it would be possible to send in an AEGP_WorldH so that I could use it

in a similair way to how i'm already using it in my main render function or would I need to

convert to PF_EffectWorld first and pass that PF_EffectWorld in with the structure?

Viewing all 73444 articles
Browse latest View live


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