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

Specifying a filename in a plugin dialog

$
0
0
I'm completely new to AE plugin development, so bear with me. I'm going to attempt to update the AEFlame plugin to the latest version of the flame renderer (AEFlame is now 8 years behind!)...but the most important thing I can see as far as the interface isn't particularly straightforward to implement.

There's already a great flame editor (Apophysis) so there's no need to recreate that in the plugin. What is absolutely essential is that we are able to select a file to use as the source of the flame data (XML), and I can't see a way to do this through standard parameter types. I'd want to change some render settings, but nothing more complex than that - the flame contents would be hidden from the user.

It seems to me like the most elegant solution would be to write support for a new file type (.flame or .flam3) that would permit AE to treat these files as elements of the project - parametric descriptions of bitmap images. Is that correct? Is there an easy way for me to be able to select a file from a dialog within an effects plugin?

Many thanks for any recommendations or assistance.

Regards,
Erik Reckase
flam3dev

Anchor Point on Layer Parameter?

$
0
0

This seems so basic, what am I overlooking?

 

In my Effect plug-in, you can access layer parameters. I'd like to position them relative to their anchor point (rather than the center, or the top left, or other guess).

 

I only see accessors from the AEGP_StreamSuite4, but I've never been clear if these were usable from an effect. If so, how do you convert a PF_Layer to a AEGP_LayerH?

 

Anyway. Can my Effect plug-in get a layer's anchor point?

 

Thanks!

Need help processing raw image data

$
0
0

I've found that I can access the raw input image through params[0]->u.ld and the output image that I can write to via the output parameter in the Render function. I get most of the information I need via the data, width, height and rowbytes members of these structs, but I can't figure out how to determine the pixel format or bit depth of the images. I would like to process the data from params[0]->u.ld.data and write it directly to output->data but I need to know the pixel format to correctly interpret the image data.

 

How can I go about finding the bit depth of the input/output images? Is there a way to make my plugin only support 128 bits per pixel floatin poing data?

Setting A_UTF16Char to a file path

$
0
0

I'm trying to use AEGP_OpenProjectFromPath to open a manualy specificed .aep

 

I've tried this with error:

 

const A_UTF16Char *pathZ = reinterpret_cast<const A_UTF16Char *>(L"/transfer_test.aep");
suites.ProjSuite6()->AEGP_OpenProjectFromPath(pathZ, &my_projH);

 

After Effects error: Can't import file "var": unsupported filetype or extension. ( 0 :: 1 )

 

 

There are no examples that use AEGP_ProjSuite6's IO functions.

 

Any help would be great. Thanks.

IterateSuite in AEIO

$
0
0

I'm developing a plugin that has similar functionallity to Cineware.

 

Right now, I'm stuck at the My_DrawSparseFrame function in the IO example. I want to use Iterate8Suite to loop over and define each pixel thats being supplied from the other program. But IterateSuite requires PF_InData and that isn't being supplied to the AEIO_DrawSparseFrame hook. The only relevant thing I see being provided is PF_EffectWorld (*wP) which I don't know the proper way to iterate over without the IterateSuite.

 

In other words, I want to know how to copy pixels - that I already have generated - to an AEIO plugin on the fly.

 

I haven't found any examples of what I'm trying to do, so any help would be greatly appreciated. Thanks.

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!!!!!

How can I get the name of a output module template

$
0
0

Hey guys,

     SDK newbie here.

     How can I get the name of every output module template?

     Thanks

 

Zhiqiang Li

How to delete a idle hook?

$
0
0

Hey guys!

I'm using AEGP_RegisterIdleHook() to schedule a task for after effects when it has free time. But Idle hook will run whenever after effects is free. What I want to do is just run the hook function one time, then delete the idle hook, can I do that? How?

Thanks


layer ID value

$
0
0

Hi everyone,

 

I've got an effect plugin using a layer parameter. I was running the code under this condition "if (ID > 0)"

Every thing worked fine, until someone sent me a project where the layer parameter isn't working properly.

 

I get the ID value via GetNewStreamValue, and I get negative ID value!! (-1755867957 to be precise)

And it does the same if I import this project into another one...

 

I changed my condition to "if (ID != 0)", and it works fine (for the moment...).

But I'm still wondering how can an ID be negative!

 

Did someone ever encounter this behaviour?

For information, the project was made on AE CC, on a japanese language version...

 

Cheers,

François

Where is the right path to deploy third party DLL? "Support Files"?

$
0
0

Hi, After Effetcs developers:-)

 

Here is question about install path of DLL for After Effects plug-in.

I'm developing Effects plug-in run with CUDA, so I have to deploy third party DLL to client PC.
So where is the right path to put DLL such as cudart32_30_14.dll?
I think it's under "Support Files", because my plug-in runs with cudart32_30_14.dll
in "C:\Program Files\Adobe\Adobe After Effects CS4\Support Files"

 

Am I right?

AEGP_GetProjectPath in CS5, MemHandle to char

$
0
0

Hey guys, I'm trying to port a plug-in from windows ( cs4 ) to mac (cs5), and surprisingly it's been pretty smooth, I have however run into a couple of issues.

 

/* CS4 - Windows code */

          A_char astrFullpath[AEGP_MAX_PATH_SIZE];


          ERR(suites.PROJ_SUITE()->AEGP_GetProjectPath(ahProjectH, astrFullpath));

 

... so I know now we have to create a MemHandle, which will give us the Unicode string.. like so

 

/* CS5 - mac code */

 

          AEGP_MemHandle path;     

     
            ERR(suites.PROJ_SUITE()->AEGP_GetProjectPath(ahProjectH, &path));         

 

.... my question is, how do I create a A_char out of my path MemHandle?

 

I think the MemHandle is a UTF16Char, but I need it to be a char*....

 

I hope I'm not overlooking something really simple, programming is just a hobby of mine!

 

Thanks in advance!

Troubleshooting Plug-ins

$
0
0

I have created a plug-in and tested it sucessfully on my computers, both Mac and PC, 32 and 64-bit, and everything has worked fine. However, when I put the plug-in my website for download, one user has told me they got an error:

 

AFter Effects error: plug-in \"C:\\Program Files\\Adobe\\Adobe After Effects CS5\\Support Files\\Plug-ins\\BatchFrame\\

De_Compose\" could not be loaded (126).
(48::46)

I am not sure how to go about troubleshooting this error. I am new to creating plug-ins and I don't know what steps I should take. I have not heard of any problems from any others who have downloaded this plug-in, however, only a small number of people have downloaded the plug-in, so I may not be hearing about problems that may occur.

What should I do to make sure that users do not recieve errors? If it helps, my plug-in can be downloaded here: http://www.batchframe.com/extras/download/de_compose.zip

Thanks for any help,

Jesse Toula

Text justification using AEGP

$
0
0

Is it possible to retrieve the text justification of a text layer using AEGP suites ?

 

The jsx equivalent is

var just = layer.property("ADBE Text Properties").property("ADBE Text Document").value.justification;

 

Thanks

After Effects error : layer does not have a source.

$
0
0

Hi All,

          I add a Text layer and then add my custom fill  effect to it. Then I call AdvItemSuite1()->PF_ForceRerender(in_data, &(params[0]->u.ld)) from AEGP for all the layers. But only for Text layer, AE pops up a dialog displaying the following error :

 

After Effects error : layer does not have a source.

(26::335)

 

Why is this happening? What other call can I use to rerender all the layers?

 

Thanks & Regards,

Dheeraj

Parameter Index

$
0
0

Hi guys,

I m trying to get the selected parameter index from my effect.

To fo that I have to use the

AEGP_GetNewCollectionFromCompSelection

and then the CollectionSuite to get my AEGP_StreamRefH

Until that point I m ok.

 

But now I want to get the ID of that parameter to know other parameter index I need to know too.

The only function I found related to this was:

AEGP_GetStreamIndexInParent. Which mean that in the case I have some groups and group inside group...it becomes annoying. I ll need to get the parent of stream until I get back to the effect and compute the real index inside the effect

 

If anoyne has an other idea...

Thank you in advance.


Plugin crashing by R6025: pure virtual function error

$
0
0

Hi,

 

I've been writing an effects plugin for After Effects CS3, and encountered an assertion error saying "R6025: pure virtual function".

I did some research on this, but I have no idea why this is happening. Is there any way I can avoid this problem?

 

What I am doing is the following:

 

1. Create a temporal layer by calling RenderSuite2()->AEGP_RenderAndCheckoutFrame(renderOption, NULL, NULL, &temp)

2. Copy the pixels of the temporal layer to the output layer by PF_COPY(temp, output, NULL, NULL).

 

The assertion occurs when PF_COPY is called.

The same assertion occurs when I try to copy the pixels via Iterate8Suite1()->iterate(),

but is OK when I copy pixel by pixel in a normal for-loop.

 

The thing that's giving me headaches is that this assertion error does not always happen.

I m repeating creation of temporary layers and iterations process some times. I tried to add another temporary layer and then it begun to crash.

I suspect some kind of memory issue.

 

I would like to know the cause of this assertion, and the way to avoid this (if any).

Thank you.

modifiers info seems to be lost ?

$
0
0

hi guys!

 

i would like to change mouse cursor when the user presses some modifiers (eg ctrl, alt, shift).

 

i try to implement this feature using PF_Event_ADJUST_CURSOR event, but the

mouse cursor was not modified even though i pressed down the ctrl key (or shift key)

and scrubbed. i watched the event handler's extra info (event_extra.u.adjust_cursor.modifiers),

then i found that the modifiers was always 0 (PF_Mod_NONE) . why ?

 

does anyone have any idea ?

 

AECS3

AECS3 SDK

WinXP SP3 32bit

 

regards,

daichi

Draft quality input layer

$
0
0

Hi guys,

Im building a plugin using region recognition of flat colors. Then I m building up region list by color and gathering it in clusters.

My problem is when using "Best quality" setting, After Effects generate some kind of anti aliased lines that I really dont want to have in my input (it make the number of region considerably bigger). It seems that this anti aliasing process occurs BEFORE the effect computation.

I would like to get an input layer without  the anti aliased lines (i.e in draft mode).

I can render it with aegp suites but it s really slow. I would love to be able to specify when checking out layers the pixels I want and their quality.

Does anyone know how to do it?

Thanks in advance.

Memory management problem

$
0
0

hi everyone.

I m trying to use OpenCV in After Effects. The problem is that OpenCV has its own management of memory.

The AE memory management is kind of bound to the lock/unlock system for multi thread processing and is kind of difficult to use from openCV...

 

So, as long as you dont use multi processing, I thought that using openCV would not be a problem.

 

But I was wrong. I got a random error:

After Effects error: Effects modules should only dispose worlds they have allocated.

 

My effect is allocating a lot of opencv layers, and one temporary AE layer. When I dispose the AE temporary layer, I have some errors when the rendering get slow and the user tries to interrupt it. the  "After Effects error: Effects modules should only dispose worlds they have allocated."

When looking at the layer before disposing it, It s totally corrupted with random values for all the field, but data field is not NULL.

I did not get any error during the memory allocation of the layer though. Still it gets corrupted at some point.

 

I m wondering if it is openCV memory and AE memory that get into conflict or if it s my way of checking if layer has not been correctly allocated that is wrong.

I dont understand also why it would conflict, since system will allocate the memory on demand, and there is no reason the system would give conflicting memory regions....

I solved my problem by stopping using the AE temporary layer.

 

If anyone experienced and solved this kind of problem, please, let me know.

 

Regards

Opening a File Requester

$
0
0

Is it possible to open a File Requester Dialog using the After Effects SDK?

For example to load Effect specific data triggered by a custom UI button press.

 

- David

Viewing all 73444 articles
Browse latest View live


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