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

Installing plugins ?

$
0
0
I have the following problem:
I can't make plugins to work on PCs different from the one I use to develop them.
I couldn't even make Skeleton or other samples work.

The error message is: "the plugin could not be loaded (14001) ( 48 :: 46 )"
(this is a translation from a spanish message)

Is there anything else I might need to install on the other machines, besides copying the .aex?

The PC that I use to develop has XP in english, and the others have XP in spanish. Could this have anything to do with the problem?

Thanks!
Maximo

AEGP_RenderQueueState_RENDERING flag doesn't work in AE CC

$
0
0

Hi all.Can someone from Adobe engineers (Zac Lam??) explain why  the following :

 

 


AEGP_SuiteHandler suites(in_data->pica_basicP);

    AEGP_RenderQueueState  rqState;

    suites.RenderQueueSuite1()->AEGP_GetRenderQueueState(&rqState);

 

    if(rqState == AEGP_RenderQueueState_RENDERING){

 

      //do smth

 

    }

 

works with AE CS5.5 and doesn't with AE CC? Is the API changed? or is it a bug in the SDK?

 

Thanks.

AEGP_RenderQueueMonitorSuite unavailable

$
0
0

Hello,

 

SDK Guide for AAE CS6 and later declares the new suite AEGP_RenderQueueMonitorSuite.

But it is not defined in AEGP_SuiteHandler class and, moreover, aquiring this suite returns the PICA suite access error kSPSuiteNotFoundError, 'S!Fd'.

Is this suite really implemented and available in AAE CS6 and later? If yes, then how to use it?

Any help with this problem?

 

Thanks!

Error Applying Plugin - Couldn't Find Entry Point (48::72)

$
0
0

Hi all,

 

Someone who bought my plugin reported these errors when applying it:

 

invalid filter (25::3)

couldn't find main entry point for myplugin.plugin (48::72)

 

They're using CS6 on Snow Leopard 10.6.8 on a Mac Pro 3,1 so it should work okay (the effect has been compiled as a 64-bit plugin using the latest XCode, on Mountain Lion 10.8.5).

 

Just wondering if anyone here has ever had this issue, and how they resolved it.

 

Thanks!

 

Christian

How to load a plugin from another plugin?

$
0
0

Hi,

 

I'm trying to load a plugin, which is not located in the plugin-paths of After Effects from another plugin. It seems to load the aex(dll) and execute the main function fine, but afterwards it crashes immediately and I have no idea why.

 

This is how my pluginLoader-PlugIn looks like:

 

1. I created a commandHook to be able to trigger the pluginLoad from the Edit Menu

2. for the actual load of the dll I use the following commands:

          AEGP_SuiteHandler    suites(basic_suite);        std::string dllName = "C:/PATH/TO/plugin.aex";        // defining type and order of the arguments of the entry function        typedef A_Err (*args_type)(SPBasicSuite *pica_basicP, A_long major_versionL, A_long minor_versionL, A_long aegp_plugin_id, AEGP_GlobalRefcon *global_refconP);        args_type pluginEntryMethod = NULL;        // loading the dll(aex) and the entry function        # ifdef _WIN32        HMODULE hDLL = LoadLibrary(dllName.c_str());        if (hDLL != NULL)        {            pluginEntryMethod = (args_type) GetProcAddress(hDLL, "EntryPointFunc");        }        else        {            return err;        }        # else        void *pLib = ::dlopen(szMyLib, RTLD_LAZY);        if (pLib != NULL) {            pluginEntryMethod = (args_type)::dlsym(pLib, "EntryPointFunc");        }        else        {            return err;        }        # endif        if (pluginEntryMethod != NULL)        {            // hardcoding the plugin version            A_long mavL = 0L;            A_long mivL = 1L;                       AEGP_PluginID plId;            // to get a valid plugin-id I use this command            suites.UtilitySuite3()->AEGP_RegisterWithAEGP(*globalRefcon, "nameOfPlugin", &plId);            // I create copy of the refcon and the suite            AEGP_GlobalRefcon newRefcon(*globalRefcon);            SPBasicSuite newSuite(*basic_suite);            pluginEntryMethod(&newSuite, mavL, mivL, plId, &newRefcon);        }               # ifdef _WIN32            FreeLibrary(hDLL);        # else            dlclose(pLib);        # endif       

 

If I run After Effects with the debugger, the EntryFunction of the new plugin runs through without errors. But Then it crashes and stops at random positions: sometimes in the IdleHook of the newly loaded Plugin, sometimes in the MenuHook.

 

Does anyone have an idea, what I am doing wrong?

 

btw: when I copy the second plugin in the default Afx-Plugin-Folder it loads fine and seems to work correct.

 

Thanks for your help!

 

Martin

Change Parameter But Not Render

$
0
0

Is it possible to have a parameter that won't trigger render?

 

My plugin has a keyframer section that is meant solely for adding keyframes to the effect (see my earlier question). There are a few parameters that determine how the keyframes should be placed. I'd love it if I could intercept the change in parameter value (probably with PF_ParamFlag_SUPERVISE) and then tell AE not to send a SMART RENDER request.

 

Thanks, Christian

How to properly use a .dylib in a plugin on OSX?

$
0
0

Hello All,

So after using the much appreciated help here on the forums, I was successful at loading a third-party DLL that I needed to use in my plugin on Windows.  Now, I'm moving onto OSX and have a .dylib file that is effectively the equivalent of the DLL in OSX.  My question is how do I properly load the .dylib on OSX for my plugin to work within AE?

 

Many thanks for your time and help!


Best,
Arie

Changing Parameter keys outside of PF_Cmd_USER_CHANGED_PARAM

$
0
0

Is it possible to somehow change/add/delete keys on parameters outside the PF_Cmd_USER_CHANGED_PARAM function? Attempting to add keyframes etc. is always triggering this error:

U_Sev_WARNING After Effects warning: A plugin is attempting to do an invalid operation: modifying a locked project

( 1 :: 0 )

 

I understand why this happens (since we're only supposed to change parameters withing PF_Cmd_USER_CHANGED_PARAM), but in my case the plugin will fetch some info from external circumstances (other layers for example) and should react to it without user interaction. Unfortunately this requires animation keys

 

I found in the forums that AEGP_SetStreamValue supposedly works - any way to also get the KeyframeSuite to play ball?

 

I've also tried to call my changes during the PF_Cmd_EVENT, however those events are only triggered while the layer with the effect is the active one? Any chance to listen to global events while the layer is inactive?

 

Does a changing expression's value linked to a parameter count as a user change that would trigger the function?

 

Many questions, I know....


AEGP_RegisterListener in AE SDK 2017.1

$
0
0

Hi! I'm using AEGP_RegisterListener (in AEGP_RenderQueueMonitorSuite1) to register callbacks for a render in my AE plugin, but none of the functions I provide are getting called. My goal is to display an update dialog with a progress bar that updates during the render.

 

When searching for solutions, I found mention of "boilerplate" code that people added to get access to the Render Queue Monitor Suite, but I didn't have to do this to be able to call AEGP_RegisterListener. Is that boilerplate still required, and if so, how would I do it in 14.2 SDK?

 

Here's some relevant lines from my code (not the entire functions!):

 

// Structure to provide callback functions. These functions are defined in my code.

const AEGP_RQM_FunctionBlock1 g_renderFunctionBlock =

    { NBAERenderJobStarted,

      NBAERenderJobEnded,

      NBAERenderJobItemStarted,

      NBAERenderJobItemUpdated,

      NBAERenderJobItemEnded,

      NBAERenderJobItemReportLog };

 

err = SUITE_RENDERQUEUEMONITOR->AEGP_RegisterListener(PLUGIN->id(), (AEGP_RQM_Refcon)this, &g_renderFunctionBlock);

 

SUITE_RENDERQUEUE->AEGP_AddCompToRenderQueue(compH, path.c_str());

SUITE_RENDERQUEUE->AEGP_SetRenderQueueState(AEGP_RenderQueueState_RENDERING);

 

err = SUITE_RENDERQUEUEMONITOR->AEGP_DeregisterListener(PLUGIN->id(), (AEGP_RQM_Refcon)this);

 

The composition is rendering correctly. 'err' is 0 after RegisterListener and DeregisterListener. But I put breakpoints and prints in all the callback functions and none of them are hitting or printing.

 

What am I missing? I expected that during the blocking render (AEGP_SetRenderQueueState) the callbacks would execute, and from NBAERenderJobItemUpdated I would be able to increment the dialog's progress bar.

Possible to call / load an external DLL in GlobalSetup()?

$
0
0

Hi Again

 

So, I'm needing to use a DLL provided to me by a third party.  I need to call a function from it in GlobalSetup().  I've linked the DLL (x64) correctly as Visual Studio is building the .aex just fine.  However, when I go to debug and apply the effect to a solid, for exampe, AE tells me:

 

After Effects error: plugin "testplug.aex" could not be loaded (126).

(48 :: 46)

 

Then, I click 'OK', and when I apply the effect again it gives me the following error:

 

After Effects error: invalid filter

(25 :: 3)

 

From my experience this usually means that After Effects cannot find some kind of DLL, but I might be wrong.   When this error comes up, I do see the following in Visual Studio's debug output:

 

First-chance exception at 0x00007FF8BB0D871C in AfterFX.exe: Microsoft C++ exception: long at memory location 0x000000000083AE78.

First-chance exception at 0x00007FF8BB0D871C in AfterFX.exe: Microsoft C++ exception: long at memory location 0x000000000083AFAC.

First-chance exception at 0x00007FF8BB0D871C in AfterFX.exe: Microsoft C++ exception: long at memory location 0x000000000083B610.

 

I doubt that means anything, but just thought I would share that info in case it does.

 

I've pinned down the problem to the first line of code that calls a function from the third-party DLL.  When I comment out that line, everything is okay, but when I uncomment it, I get the errors above.  So, my question is if there is anything I can further to do debug the DLL issue.  The DLL was just shipped with an SDK, so I don't have access to the source.

 

If there is any insight you all can offer, I would be most appreciative.

 

Thanks and best,
Arie

Can't find generated .aex in ae

$
0
0

I build ae sdk example with visual studio, generate .aex in C:\Program Files\Adobe\Adobe After Effects CC 2014\Support Files\(Media Core plug-ins) folder, but I can't find it in after effects. Did I generate it in correct folder, or what else I should do?

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!

VS2005 PiPL problem

$
0
0

Suddenly I am unable to change the AE_Effect_version in my pipl.r file. In the past I deleted the pipl.rc file after changing the pipl.r file and VS2005 built correctly.

 

Now, I get the error "Error result 1 returned from "c:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\rc.exe". I can't find the actual custom build event to see what may be wrong.

 

I must have accidentally changed something. Any ideas?

How can I hide an effect parameter?

$
0
0

I have an effect with a couple deprecated parameters, and other effects with hidden parameters I set programmatically. I don't want the customer to be able to see them. Setting PF_PUI_NO_ECW_UI in the parameter's ui_flags removes it from the effect window, but not from the timeline window. Setting AEGP_DynStreamFlag_HIDDEN seems to do the trick, but I'm unclear as to when to set it. Currently I'm setting it during param update, but that doesn't appear to cover (for example) the case of opening an existing file.

 

Is there a well-known way of handling this? Thanks.

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. 


VUYA

$
0
0

'???.u.Id.data' seems to contain a value of ARGB when I acquire other field using 'iterate' function in a timing of Render command.

How do you do it to acquire data of VUYA not ARGB?

Or can you convert data of ARGB into VUYA?

Refresh with lights

$
0
0

Hello!

My plugin works and renders great when I change my parameters but when I, for example, add a light to my composition and change its intensity (intensity affects my opengl drawings) my plugin doesn't refresh - even Render function is not called.

Am I missing something or should I use PreRender and SmartRender functions to refresh my plugin when objects in scene change their parameters?

 

Thanks for all your replies. Dave

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?

How to show progress during a long Render call

$
0
0

My effect computes values from all frames in a layer much like Warp Stabilizer does. I set a flag and do this when necessary in my Render function. The user controls when to analyze by clicking a button in the effect UI.

 

It can take from a few seconds to over a minute depending on the layer, so I need to show progress to the user.

 

In After Effects I can use the progress bar, and put text in the info panel from within the Render proc; but I'd like to find a better way to show progress.

Indicidentally, neither of these two thing seem to works in Premiere Pro.

 

Warp Stabilizer shows progress to the left of the Analyze button in its effects window, but I can's seem to do this from within Render.

 

Any ideas?

How to get render settings in IO plugin.

$
0
0

Hi everyone,

I'm developing an IO plugin in After Effect.

I need to get fps, Quality and Resolution in startAdding function but when I use (for example) AEGP_GetOutSpecFPS I get always the original frame rate (composition fps).

I'm probably committing some kind of mistake, can you help me?

 

Thanks in advance.

 

Massimiliano

Viewing all 73444 articles
Browse latest View live


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