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

'AEGP_ExecuteScript': identifier not found

$
0
0

Hey guys,

 

I'm trying to execute a script from withing the panelor example from  sdk6.

 

PanelatorUI_Plat.cpp

...

 

case WM_COMMAND:

if(HIWORD(wParam) == BN_CLICKED && LOWORD(wParam) == BtnID){

i_numClicks++;

AEGP_ExecuteScript(NULL, "alert('X');", FALSE, NULL, NULL);

InvalidateAll();

handledB = true;

}

 

It won't compile => 'AEGP_ExecuteScript': identifier not found..

 

no idea what I'm doing really

 

thanks !


How to pass data between CPU-side and GPU-side of an AE Transition Extension Plugin

$
0
0

Hi,

 

I'm developing a Premiere Pro Transition Plugin using the GPU and AE Transition Extensions.

But right now I'm struggling to pass data between the CPU-side of the plugin to the GPU-side (e.g. data allocated and set during PF_Cmd_SEQUENCE_SETUP).

 

In the GPUFilter I tried to use GetProperty( kVideoSegmentProperty_Transition_TransitionOpaqueData ), but always received an suiteError_IDNotValid error.

 

I also tried to call

prSuiteError suiteError = mVideoSegmentSuite->GetNodeProperty(instanceID, kVideoSegmentProperty_Transition_TransitionOpaqueData, &buffer);

directly with instanceID == kVideoSegmentProperty_Transition_RuntimeInstanceID, but received the same error.

 

Then I tried to use the PrSDKOpaqueEffectDataSuite. A call to AcquireOpaqueEffectData() with instanceID seemed to work without error, but I always received a null pointer as the passed OpaqueEffectDataType.

 

I also tried to use an ArbitraryData parameter from the PF_Cmd_PARAMS_SETUP, but the memory pointer i received via GetParam() didn't seem to be valid anyhow.

 

Do you have any idea what I might be doing wrong, or what would be the correct way to pass data?

 

Regards,

Philipp Stelzer

Reload plugins without restarting AE CC

$
0
0

Is is possible to reload effect plugins in After Effects CC without restarting the whole application?

 

I am developing a new effect and would like to be able to load a new build of the effect without have to constantly Quit and restart After Effects.

Are plugins cross-platform?

$
0
0

Are plugins developed for after effects compatible accross both Mac and Windows, or does one need to take into consideration the platform their using when developing a plugin?

Can't load plugins in the MediaCore folder

$
0
0

So, my After Effects is installed in "E:\Adobe\After Effects CS6",so the MediaCore folder's path is "E:\Adobe\Common\Plug-ins\CS6\MediaCore".

I just started to learn the SDK yesterday. When I was playing with the samples in the SDK, I set the output folder to the MediaCore folder, After Effects won't load the plugins in this folder. I have to copy the plugins to the plugin folder in After Effects support files folder.

If I set the output folder to the plugin folder of After Effects, After Effects keeps crash.

What should I do?

I'm using Windows 7 Ultimate sp1 64 bit, After Effects CS6 and Visual Studio 2010 Ultimate.

Pixel data in AEGP plugin

$
0
0

Hi people,

I am just researching the next step for the plugin I a, developing. I need to access the pixel data so I can write it out from an AEGP plugin. I can see that you can get the layer I'd and covert it to a layer handle from a stream. But I cannot see how to request the layer for a stream, there does not seem to be a AEGP_LayerStream_... Enum value plus how can I convert a layer handle into a World so I can access the pixel data.

 

Thanks in advance

After Effects crash when calling ProjSuite5()->AEGP_OpenProjectFromPath

$
0
0

I'm running 12.2

 

I have code that opens a project.

The only time this code doesn't make after effects crash is in the ImportFile command method; however, I'm trying to run a server ontop of my plugin so I can control after effects remotely.

AEGP_ProjectH projH = NULL;

AEGP_SuiteHandler suites(S_sp_basic_suiteP);

A_UTF16Char templatePath[AEGP_MAX_PROJ_NAME_SIZE];

const wchar_t* wide_templatePath = L"C:\\Projects\\TT1.aep";

copyConvertStringLiteralIntoUTF16(wide_templatePath, templatePath);

ERR(suites.ProjSuite5()->AEGP_OpenProjectFromPath(templatePath, &projH));

 

 

I click debug and hook into visual studio and it's saying.

 

Unhandled exception at 0x000000003201B840 (Projector.aex) in AfterFX.exe: Stack cookie instrumentation code detected a stack-based buffer overrun.

 

 

I've even tried registering into the IdleHook and it still crashes.. Any ideas?

Reload plugin after building...

$
0
0

Would like to enquire about "SLICK DEBUGGING TRICKS" in After Effects SDK Guide (in pdf) for AE CS5 (version 10). Perhaps somebody is successful following the steps!?

I see a few problems as follows:

 

1) AE application keeps a file lock on Filter plugins (or plug-ins)

 

even if one could overwrite an effect plugin when AE process is running...

 

2) Purge All (in menu Purge -> All or Ctrl - Alt - key '/' on the numpad) does not reload the plugin; in fact this is being called in the following order:

    PF_Cmd_FRAME_SETUP,
    PF_Cmd_RENDER,
    PF_Cmd_FRAME_SETDOWN,

no request for PF_Cmd_GLOBAL_SETUP or PF_Cmd_GLOBAL_SETDOWN is made. also this thread already mentions it: http://forums.adobe.com/click.jspa?searchID=3907456&objectType=2&objectID=1798812

 

 

3) VS does not allow Edit & Continue or x64, and CS5 seems to be x64 only - how could you make use of this functionality? or documentation does not seem to be updated completely for SDK for CS5?

 

Greetings

 

mike


Bezier curve conversion between value graph and speed graph

$
0
0

Hello everyone,

 

I have a question about the formula for graph conversion between value graph and speed graph on Graph Editor. Especially, when those graphs are Bezier Curves.

 

On the value graph you can define the Bezier curve by moving the control points oht x and y axises, which position can be gotten as spacial tangent values by the AE SDK. On the other hand, on the speed graph you can define the curve by moving the control points only on x axis and these are defiend by these two values "speed" and "influence". (please refer the defenition of AEGP_KeyframeEase). I guess, the speed graph is differentail of value graph mathematically, and I would like to know how those two bezier curves are converted each other. especially, given two control points on speed graph, how do you get the two control points on value graph?

 

スクリーンショット-2013-12-19-1.21.14.jpg

 

The reason why I am trying to figure out this formula is that there is only Speed Graph for path animation on Graph editor. As you can see below, even if Value Graph is selected the editor shows us Speed graph, which is I guess because the unit of this variation is not a simple unit something like pixel or seconds.

スクリーンショット 2013-12-19 0.53.59.png

 

I know it is not a question about the functions of AE, but more like about mathematics. However, I would really appreciate if someone can shed some light on here or refer me some good website that I can research.

 

Thanks!

Monitoring the render queue with AE CC 2015 SDK.

$
0
0

I had earlier worked on an AEGP plug-in (using CC 2014) which could perform the following operations :

 

1. Initiate the render process of a selected composition on the click of a menu item. (The item is rendered to an AVI file.)

2. Receive updates regarding each frame that is rendered, via the Render Queue Monitor Suite.

3. Update a text file with information regarding the current frame being rendered (primarily the frame id) and toggle the state of the render queue between AEGP_RenderQueueState_PAUSED and AEGP_RenderQueueState_RENDERING based on certain conditions.

 

The plug-in worked as expected with CC 2014. However, with CC 2015, the RQM callback functions, registered through the AEGP_RegisterListener function of the Render Queue Monitor Suite, are never called while the render operation is taking place.

 

The main aim is to render an After Effects composition into an external buffer (we are using an AVI file to avoid handling raw pixel data) and simultaneously access the rendered data from our application, using the text/XML file updated by the AEGP plug-in to synchronize the writing/reading operation.

 

Is the issue with the callback functions occurring due to the architectural changes (separate UI/render threads) made in CC 2015?

Or is it because support for the Render Queue Monitor Suite is not yet available in the latest version?

(Note that I made the boiler plate changes required to enable the Render Queue Monitor Suite in AEGP_SuiteHandler.h)

 

Any inputs regarding this roadblock or inputs regarding other methods that could be used to achieve the same result are deeply appreciated.

PF_Cmd_RENDER not notified when ram preview?

$
0
0

hi,all:

     my plugin need to be notified when ram preview/play to send key frame data to another program according to the notified playing time,but PF_Cmd_RENDER isn't notified when ram preview,actually,my plugin just want to know the cuurent playing time,is there any way to know that?moreover,the sample "Artie" plugin looks like a little problem in my machine,when Artie plugin is loaded by AE,the AE reacts in a more awkward way.any suggestions are appreciated.

after effects and element 3d v2

$
0
0

i installed element 3d v2 but when i apply it first it shows a debug error and then "after effects error invalid filter (25 :: 3)"

i have 2GB geforce GT 610 graphic card

win 7

i3 3.3 ghz

please help

Build plugins with JetBrains CLion

$
0
0

Hi everyone!

 

Is someone using JetBrains's CLion IDE?

Or that everyone just use Visual Studio?

 

I try to use CLion, because I have better experience with other JetBrains IDE's. Just need a guidance to start developing with CLion(include headers, build, debug etc.).

 

P.S. I'm new to plugins and C/C++..

 

Thanks in advance!

Arbitrary Parameter Data

$
0
0

Hi,

 

A quick question about adding multiple arbitrary parameters.

 

Do you create a single struct/class containing all your data for ALL your arb params, or do you have a struct/class per arb param?

 

e.g.

// Single struct with data for two arbitrary parameters

struct AllMyArbsData {

    A_long  arb_1_fooL;

    PF_FpLong arb_1_barF;

    A_char arb_2_textC[128];

}

 

// or... Two structs with data for each arb param separately

struct Arb1Data {

    A_long  arb_1_fooL;

    PF_FpLong arb_1_barF;

}

 

struct Arb2Data {

    A_char arb_2_textC[128];

}

 

It's unclear from the example projects how to handle multiple arb params. The callbacks for setting dephault, print, etc. don't check for a given parameter ID. Of course in the examples there is only the one arb parameter... I'm not at my dev computer at the moment so can't check, but, for example CreateDefaultArb doesn't have an extra parameter, so there's no way of checking which arb is being referenced.

 

Thanks, C

AEGP_FastBlur with EffectWorld?

$
0
0

I'm a bit out of my element here.  I'd like to use the FastBlur that is part of WorldSuite2, but in an effect, not an AEGP.  Is there a way to convert an EffectWorld into an AEGP_WorldH to feed into FastBlur?


C-plus-plus-ifying Your Plugins

$
0
0

I was wondering how many folks round these parts use C++, as opposed to C to write their plugins.

 

The SDK doesn't really encourage C++ coding, as much of the example projects are still mostly C, with the odd bit using C++ (like acquiring suites; although there's a new way to do this, as I've just posted about here: Using the new AEFX_SuiteScoper Template Class ).

 

After seeing just how much code repetition you can avoid (the arbitrary parameter handler was a big eye-opener for me), I've recently begun to rewrite bits of my new plugin using classes.

 

In particular I've written a parameter checkout class that goes from (as an extreme example):

 

     PF_ParamDef my_param;

     AEFX_CLR_STRUCT(my_param);

 

     ERR(PF_CHECKOUT_PARAM(in_data, MY_PARAM, in_data->current_time, in_data->time_step, in_data->time_scale, &my_param));

 

     PF_AngleParamSuite1 *apsP = NULL;

     ERR(AEFX_AcquireSuite(in_data, out_data, kPFAngleParamSuite, kPFAngleParamSuiteVersion1, "Couldn't load suite", (void**)&apsP));

 

     PF_FpLong angleF;

     ERR(apsP->PF_GetFloatingPointValueFromPointDef(in_data->effect_ref, &my_param, &angleF));

 

     ERR2(AEFX_ReleaseSuite(in_data, out_data, kPFAngleParamSuite, kPFAngleParamSuiteVersion1, "Couldn't release suite"));

 

     ERR2(PF_CHECKIN_PARAM(in_data, &my_param));

 

To:

 

     // This stores the pointer to in_data, and acquires pointers to the param suites - pass into all ParamHandler objects

     ParamContext param_ctx(in_data);

 

     ParamHandler my_param(param_ctx, MY_PARAM);

 

     PF_FpLong angleF = my_param.AngleValue();

    

     // No need to release anything as it's done in the class destructors

 

I'd be interested in hearing about your approaches to C++ifying things like this, and your general approach to coding.

Need After Effects Mac Dialog window

$
0
0

On a Mac is there an example of raising a dialog to get a couple of strings from the user.

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

Noob questions

$
0
0

I'm new to ae plugin development but have a lot of experience on both sides of the house.  On the coding side with c varieties. xcode, opengl, writing shaders (GLSL), image manipulation, multi-layer compositing, 3d math, etc and have written full and complex ios apps.  On the creative side am skilled in after effects, visual effects, and editing. With all of the work I've already done in coding filters and animation for apps, I realized that I should try doing an ae plugin.  I have a good idea of what I want to build and am just diving into the docs to figure out how to do it.

 

Unfortunately, I have a lot of noob questions.  And some that the docs and sample code aren't answering for me (yet).  I have built a few of the samples but find things in the code like a note from several years ago saying "this is the old way of doing things, see ___ for the new way" with then no samples or docs that use that new way. I get why it's this way. But I'm looking for help.  And I don't want to post a ton of noob questions.

 

So I thought I would toss out an offer here (if it's ok to do on this forum) to see if anyone with some experience would be interested in tutoring me for a few hours via skype to get me jump started.  I could pay something for your time.  I was looking at a course that was mentioned here and might do that as well.

 

My areas of interest right now are:

 

creating a panel UI where the user will input options

creating new layers and adding properties and keyframes to layers

using markers to get input from the user and have that be interactive

and creating layer animations based on a plugin and not based on an expression (i have my reasons for wanting to try this) - this would be something like the transform effect but different.

finally how to handle user cp registration.

 

Thanks!  Looking forward to playing around with this stuff.

Viewing all 73444 articles
Browse latest View live


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