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

After Effects error:could not convert Unicode characters. (23:46)

$
0
0

Hey guys,

     I'm trying to change the output path for a render queue item.

     But I always get this error "After Effects error:could not convert Unicode characters. (23:46)".

     Here's my code

    

     A_char outPath[256] = "D:/test.mp4";

     ERR(suites.OutputModuleSuite4()->AEGP_SetOutputFilePath(0, 0, outPath));

 

     What I'm doing wrong? Help me please! Thank you very much!!!!!


Why doesn't the Skeleton plugin template from the Adobe After Effects CC 2015 Mac SDK appear in After Effects CC 2015?

$
0
0

OS version: OS X Yosemite 10.10.3

Xcode version: 6.4

After Effects version: CC 2015.0.1

 

1. I open the Xcode project file for the Skeleton template

 

Skeleton_step1.png

 

 

2. I navigate to the Issue navigator and perform the recommended changes

 

Skeleton_step2.png

 

 

3. I click back over to the Project navigator and there are no longer any warnings

 

Skeletons_step3.png

 

 

4. I build the project and the build succeeds. I had already updated my build location to: /Library/Application Support/Adobe/Common/Plug-ins/7.0/MediaCore/. A directory called Skeleton-fiokjkceczcbexeqzioqilgkckhb appears at that location.

 

Skeletons_step4.png

 

 

5. I load Adobe After Effects CC 2015 and do a search for the plugin in the Effects & Plugins pane. Nothing!

 

Skeleton_step5.png

 

 

Have I overlooked something? Is there some random glitch? I really need some answers here as I have several plugins to develop as part of a major project, but I cannot even get the Skeleton template plugin to work. Yikes! Any and all help is greatly appreciated.

Dynamic Memory Allocation For Array of Objects

$
0
0

So I'm reaching my wits-end with this problem, and am hoping someone on here can see what I'm doing wrong.

 

Basically I have a collection class, let's call it Collection. In there I want a dynamic array of my item class, which for the sake of argument we'll call Item. An instance of Collection is then used within Global Data to be used later on.

 

The collection of items is populated by a member function in Collection, from an external text file. There could be any number of items, which is why I want it to be dynamically allocated.

 

In order to make the memory allocation self-sufficient, I'm also storing in Collection a pointer to the SPBasicSuite, a pointer to PF_HandleSuite1 and a PF_Handle for the memory handle.

 

class Item {
private:    int foo;    char bar[32];    Thing things[5]; // Fixed array of Thing class, defined elsewhere
}

class Collection {
private:
    Item *item_array;     // It's this I want to populate    int num_items;    SPBasicSuite *bsuite;    PF_HandleSuite1 *hsP;    PF_Handle memH;
public:    PF_Err AquireHandleSuite(PF_InData *);    void AllocateCollectionMemory();   void LoadFromDefFile(char *path);
}

PF_Err Collection::AquireHandleSuite(PF_InData *in_data) {
    PF_Err  err = PF_Err_NONE;      bsuite = in_data->pica_basicP;       if(bsuite) {        (*bsuite->AcquireSuite)((char*)kPFHandleSuite, kPFHandleSuiteVersion1, (const void**)&hsP);        if(!hsP) {            err = PF_Err_BAD_CALLBACK_PARAM;        }     } else {            err = PF_Err_BAD_CALLBACK_PARAM;     }     return err;
}


void Collection::AllocateCollectionMemory() {
    memH = hsP->host_new_handle(sizeof(Item) * num_items);    void *memP = hsP->host_lock_handle(memH);    // Use placement new to allocate the array    item_array = new(memP) Item[num_items];
}

 

So during Global Setup I'm locking my handle to Global Data:

 

out_data->global_data = suites.HandleSuite1()->host_new_handle(sizeof(GlobalData));
GlobalData *global_dataP = static_cast<GlobalData *>(suites.HandleSuite1()->host_lock_handle(out_data->global_data));

Which all works fine, then I use:

 

ERR(global_dataP->my_collection.AquireHandleSuite(in_data));


to create the pointers to the PICA basic suite and HandleSuite1 (by the way these are used in the destructor to unlock the memory and dispose of the handle).


Then I call:


 

global_dataP->my_collection.LoadFromDefFile(path);

 


to populate the array. First I get num_items and then I call AllocateCollectionMemory() to do the allocation. All seems good. However it's here where things start to go wrong. It seems that the first element in the array of item gets written OK but the second and upward elements don't. There's no crash as it loops through, seemingly populating nothing but I do get strange behaviours later on when I try and access the array, even immediately after I've populated it within the LoadFromDefFile() method (just testing setting and reading an integer value).


The odd thing is, I'm using "placement new" during Smart Render with a different class, declared in the same way (Wotsit *wotsits) to allocate an array and it works fine. It must be something to do with storing the PICA and HandleSuite pointers but how else would you do it? I've also tried:


Collection test_collection;
ERR(test_collection.AquireHandleSuite(in_data));
test_collection.LoadFromDefFile(path);


i.e. not in Global Data to see if that was the problem, but, alas it had exactly the same results.


Thanks!

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

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

How to draw simple forms in PF_EFFECTWORLD / PF_LAYERDEF

$
0
0

Hi, AE community!

 

Maybe my question is a little bit strange, but I'll try

Is there (in SDK) a methods to create visual forms like circle or oval, line, maybe something like a point with color and feather?

 

What I want to get:

Read data (color, position) from source layer/composition and create small forms with the same brightness and the same position in new world, then blend it with output.

 

Available solutions I see:

1. Using suites, like a

Suites.FillMatteSuite2()->fill()

      with a circle form in arguments. Fill() receive a PF_Rect, I know, but maybe it have a similar solution not declared in SDK_Guide?

 

2. Using DrawBot with arcs or similar paths with fill.

    I found different practices in examples "ColorGrid" and "CCU", but using DrawBot confuses me, because in my project used flag PF_OutFlag_NON_PARAM_VARY and I must call Render function every time to calculate particles position and move them. With DrawBot (as I understand from Guide) I must use DrawBot only in Draw Event. Or maybe this is whole wrong way and DrawBot don't created for tasks like my.

 

3. Using iterate suites.

    In example projects I found complex loops with iterate input world and draw pixels in special for circle area (If I understood it). In other words, I can create array with (special for my task) pixel coordinate system, create points for particles in this array, then loop over this array and move to the same in output world. Ok, if this right way, then I must use math for calculate ovals, or circles, then calculate feathers or aliasing for this forms. The problem clearly requires computing power

 

 

Maybe all this solutions is wrong and I can use another way to solve my task? Maybe there are some functions to draw different forms and I missed them in SDK Guide? I'm afraid to reinvent a wheel, because so far obtained only square

 

Anyway, thanks for any advise or way to solve my problem!

After Effects error: Time argument is out of range.

$
0
0

QQ图片20160401125205.pnghi,all:

      i've written a keyframer plugin.the AE often prompt a dialog(which shows "After Effects error: Time argument is out of range.") when the plugin deletes some keyframes and inserts lots of keyframe.i checked out the time argument and found the time is valid.on what condition the AE will promt the dialog?

 

     thanks advance

СС2015 - Modal dialog is waiting for response.

$
0
0

Hi All,

 

I've this script error on CC AE 2015 while it runs flawlessly on AE 2014.

Just a simple script that reads the blend mode, and it executed after AEGP_IsScriptingAvailable called.

 

Any ideas what may cause this one?


.Plugin Files

$
0
0

Dear After Effects Developer Community,

 

Sorry for being annoying and posting lots of questions, but hopefully this is the last one.

 

I've finished with the code for my plugin, and I'm ready to test it out with after effects. I read in the SDK on the bottom of page 40 where it tells you to change the output folder. I've done that, but when Xcode builds, it builds a .plugin file.

 

I currently don't own after effects, and have just been messing around with the SDK so far (as crazy as that sounds) and I think I have some initial code ready to test out. Ideally, I want to make sure that I'm doing everything correctly before installing after effects so I don't end up having to pay for two months instead of only one.

 

Anyhow, I'm just wondering if a .plugin file will work, or if there's an extra step I'm missing that will convert it into a .aex file. Thank you!

Iterate Generic Debugging

$
0
0

Hi. I'm trying to debug a function that's being called using iterate generic in visual studio. The "step over" is acting strange, as it normally goes line by line. Now it's jumping all over the place, presumably because the threads keep jumping from BEE WorkQue to ntldll.dll. Is there a way to avoid this behaviour and debug line by line? Thanks!

CEP Remote debugging is not working.

$
0
0

Hello All,

 

I am working on a HTML5 Panel extension.

I was able to debug the extension on chrome for few days, until one day it started behaving weird.

 

i can open the devtools using the debug port, but keyboard shortcuts dont work in console anymore.

When i type something in the console and hit return / enter key it just goes to the next line instead of executing the command,

 

Any help would be much appreciated.

 

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.

project security

$
0
0

Hi

 

how to secure project made in Adobe after effect cs4,i.e

when open the project  then popup textbox when i will enter the unique value in textbox then project will open.

how to create this

 

 

please help me!!!

Error on exit: Leaked effect refs

$
0
0

Hello,

I have error message "After Effects: AEGP Plugin    Updater: Leaked effect refs (5027::12)"

when exit AfterEffects with saved project. The error appears only if there are two or more instanses of my effect. One instance is ok.

After effects ends it's work correctly. Except this annoying message.

What does it mean? Does anybody know how to fix it?

dp_info.jpg

VUYA

$
0
0

Thank you for having you replay.

 

I'm going to make AE Plug-In to work on Premiere pro.

I find at the SDK_Noise sample(AE SDK sample), I renewed a part of the "Render" function as follows

and carried it out.

 

but,

in the case of "src ①", noise_param.u.ld.data is "ARGB" format,

in the case of "src ②", noise_param.u.ld.data is "VUYA" format.

 

why are formats different "src ①" and "src ②" ?

 

****************************************************************

static PF_Err

Render (

          PF_InData                    *in_dataP,

          PF_OutData                    *out_data,

          PF_ParamDef                    *params[],

          PF_LayerDef                    *output )

{

・・・

     else if (destinationPixelFormat == PrPixelFormat_VUYA_4444_8u)

     {

          PF_ParamDef noise_param;

          AEFX_CLR_STRUCT(noise_param);

 

          ERR(PF_CHECKOUT_PARAM(  in_dataP,

                                                             0,

                                                             in_dataP->current_time,

                                                             in_dataP->time_step,

                                                             in_dataP->time_scale,

                                                             &amp;noise_param));

 

          ERR(suites.Iterate8Suite1()->iterate( in_dataP,

                                                                     0,                                      

                                                                     linesL,                               

                                                                     &amp;noise_param.u.ld,                             // src ①

                                                                     //&amp;params[NOISE_INPUT]->u.ld,         // src ②

                                                                     NULL,                                

                                                                     (void*)&amp;niP,                       

                                                                     FilterImageVUYA_8u,        

                                                                     output));

 

          ERR(PF_CHECKIN_PARAM(in_dataP, &amp;noise_param));

・・・

}

****************************************************************


After Effects and OpenCV

$
0
0

Hi,

 

I have been trying for days to get OpenCV to work with After Effects.

The code compiles, but this simple line of code (or any other line of OpenCV code) makes the program crash straight away :

 

cv::Mat(rows, cols, CV_8UC4, data);

 

(where rows and cols are integers and data is a void*)

 

The code is in a function and I'm not even calling that function yet.

 

This is the full function:

 

cv::Mat GetMat(int rows, int cols, void * data)

{

     return cv::Mat(rows, cols, CV_8UC4, data);

}

 

Has anyone got an idea?

 

Thanks.

Tracking mask path vertices?

$
0
0

Hi all

 

I've tried many ways to track vertex coordinates of a path(beign it mask or shape path). And the only solution i've found until now was making scripts, which works well, but is not ideal, since running a script everytime a modification is done on the path is not workflow-friendly, specially when making 2D shape animation, where you are always making tiny adjustments on the path and RAM-previewing it like 10 times in 2 minutes, to feel the flow of the motion.

 

The other way, that was almost perfect for me, was trying to take the vertices data through expressions, but when you get the shape object from the expression, example: thisComp.layer("some-solid").mask("my mask").maskPath.value ...... the value inside after effects becomes an empty [object Object], and in Extendscript Tool, that same object is a [object Shape] with all the information in it. I guess Adobe took off that particular object from expression for perfomance reasons, but i'm not sure.

 

So, i became aware of things like PathDataSuite and PF_PathVertex from the SDK, which is exaclty what i was looking for, but i was wondering how would be the best way to ouput that data through Effects, to be accessible by expressions, and then, inside After Effects, with expressions, i decide what to do with the path data given by the plugin. But, looking at all the other existing plugins, i realized that the only properties that are accessible by expressions, are things like point, rotation, sliders, dropdown menus, etc....

 

My question is: How can i output path data through an Effect's property, reachable by expressions. Could be something similar to "Source Text" property, with a string in array format, like [ verticesArray , inTangentsArray ,outTangentsArray ].

 

Example of 1 segment: [ [ [0,0] , [10,0] ] , [ [-10,-10] , [10,10] ] , [ [10,10] , [-9,0] ] ]

 

And then, on the position property of a null, i could write the expression: effect("My Effect")("Path data")[0][0]; to get the first vertex position data, and then, doesn't matter where i put that vertex, the null will always follow it's position(relatively).

 

Finally, in the SDK i was looking for something like PF_ADD_PARAM that could act as if it was PF_ADD_TEXT If you know what i mean.

 

Any ideas?

 

P.S. if you made it through here, thank you for reading all this.

Working with AEGP_RenderQueueMonitorSuite

$
0
0

Hey guys,

     Does anyone ever use the "AEGP_RenderQueueMonitorSuite1" before?

     I'm trying to use this suite to make render queue report its render status, but I can't get things work.

 

     First of all, "AEGP_RenderQueueMonitorSuite1" can't be accessed from "AEGP_SuiteHandler", so I modified the "AEGP_SuiteHandler.h" file, added in the  "AEGP_RenderQueueMonitorSuite1" support.

 

Here's how I use it

AEGP_RQM_Refcon renderQueueManager;
AEGP_RQM_FunctionBlock1 renderCallbak;
renderCallbak.AEGP_RQM_RenderJobItemUpdated = JobItemUpdated;
ERR(suites.RenderQueueMonitorSuite1()->AEGP_RegisterListener(aegp_plugin_id, renderQueueManager, &JobItemUpdated));

And here's my "JobItemUpdated" function

 

A_Err JobItemUpdated(AEGP_RQM_BasicData *basic_dataP, AEGP_RQM_SessionId jobid, AEGP_RQM_ItemId itemid, AEGP_RQM_FrameId frameid)
{  A_Err err = A_Err_NONE;  AEGP_SuiteHandler suites(globalEntry);  ERR(suites.UtilitySuite5()->AEGP_WriteToOSConsole("render updated!\n"));  return err;
}

After effects said those line cased a unexpected exception, then it crashed.

I can't find any example on how to use the  "AEGP_RenderQueueMonitorSuite1", have you guys ever worked with this suite? Please give me some help! Thanks!

Oh, by the way, I'm using the cs6 SDK.

How to replace image on layer use After Effect API

$
0
0

Greetings everyone,

 

I have a one big problem, me need to replace image on layer use After Effect API.

Will create a new footage with my new image:

AEGP_FootageH footageH = NULL;

ERR(suites.FootageSuite5()->AEGP_NewFootage(S_my_id,

   psd_path,

   &key1,

   NULL,

   FALSE,

   NULL,

   &footageH));

 

  AEGP_ItemH layer_itemH = NULL;

  ERR(suites.FootageSuite5()->AEGP_AddFootageToProject(footageH, new_folderH, &layer_itemH));

 

Then I have a footage handler footageH

and handler of my layer with old exists image.

AEGP_ItemH itemH.


Please

How to replace exists image on my layer ?

I not founded nothing in the Google, Documentation and Examples.

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?

Viewing all 73444 articles
Browse latest View live


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