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

Workflow (Slick Debugging Tricks)

$
0
0

I'm trying to get into plugin dev. But I don't understand the workflow yet. And there really are no resources out there at all about this. I want to know how to make a change in Xcode 4.5.2, compile the plugin, have AE reload the changed plugin, see the change, without re-starting AE. The Slick Debugging Tricks section in the guide doesn't seem to work for me. It suggests clicking Edit > Purge > All to reload the plugin after rebuilding, but nothing happens. I can see the change I'm making when I restart AE. I'm testing this with the Checkout example and CS6.

 

I've also tried attaching to the process in Xcode and changing code on the fly. That was suggested here: http://forums.adobe.com/message/3117259#3117259. This is not working for me, nothing changes.

 

I'm trying to avoid restarting AE, opening the last file, applying the changed plugin, after every change I make to the plugin. But this is the only thing that works for me so far. This can't be how you're developing plugins. Right?

 

Please steer me in the right direction here. Thanks.


Develop plugin using C#

$
0
0

Hello folks,

 

I am a software developer that mainly works with C# and JavaScript.

 

I want to participate in developing new after effect plugin in cooperating with a motion designer.

 

Actually I wonder is it possible to develop plugin using C# or the only option is c++?

 

Thanks in advance,

 

Sean

Users receiving error: Couldn't find main entry point for myPlugin.plugin (48::72)

$
0
0

Hello all,

 

I've recently released a plugin into the wild and a few (1/20) people have been receiving this error.

 

A cursory search on that code doesn't really give me a lot of helpful information about what, if anything, could be going on in my code to generate it.

 

Maybe it has nothing to do with my code, and rather is a system configuration thing, but I'd like to know that for sure.

 

I've got one guy with this system:

OS - 10.6.8

AFX CS5

AFX CS3 + CS4 are also installed on the system


and another:


OS X 10.7.5 Mac Pro 2.66 ghz quad core
14 GB RAM
AE version CC (12.2)

 

Any ideas..?

Supersampling

$
0
0

Hey everyone,

 

I'm trying to implement something like RE:Map and I pretty much have it working close to perfect.

The issue no is that even using 16 bit UV pass edges stay jagged and I'd like to do some supersampling, but I have no clue on what the best way forward is.

 

The code was clean and readable until I started hacking away at giving supersampling a go. :/

This is the mess I've currently going. (Note this is my first time playing around with the SDK.)

 

static PF_Err
RemapFunc16(  void *refcon,  A_long xL,  A_long yL,  PF_Pixel16 *in,  PF_Pixel16 *out)
{  PF_Err err = PF_Err_NONE;  double tmp_u, tmp_v;  PF_Fixed sample_u, sample_v;  RemapInfo *contextP = reinterpret_cast<RemapInfo*>(refcon);  if (contextP)  {  // Define `in_data` (required for PF_SUBPIXEL_SAMPLE)  PF_InData *in_data = contextP->in_data;  AEGP_SuiteHandler suites(in_data->pica_basicP);  if (contextP->supersamplingMode != 1) // Supersampling!?  {  int ss;  if (contextP->supersamplingMode == 2) ss = 2; // 2x Supersampling!  else if (contextP->supersamplingMode == 3) ss = 4; // 4x Supersampling!  else if (contextP->supersamplingMode == 4) ss = 8; // 8x Supersampling!  double divisor = 1 / ((double)ss + 2.0);  int half = ss / 2;  double src_u, src_v;  int totalSamples = ss * ss;  double sampleWeight = 1.0 / (double)totalSamples;  A_u_short red = 0;  A_u_short green = 0;  A_u_short blue = 0;  A_u_short alpha = 0;  A_long xLF = ((A_long)xL << 16);  A_long yLF = ((A_long)yL << 16);  PF_Fixed sample_src_u, sample_src_v;  //PF_Fixed sample_u, sample_v;  for (int x = -half; x <= half; x++)  {  // Get supersampled u source  src_u = (double)x * divisor;  //src_u += xLF;  sample_src_u = xLF + LONG2FIX(src_u);  for (int y = -half; y <= half; y++)  {  // Get supersampled v source  src_v = (double)y * divisor;  //src_v += yLF;  sample_src_v = yLF + LONG2FIX(src_v);  // Set source point to `sourceLayer`  contextP->samp_pb.src = contextP->sourceLayerData;  // Sample src color  suites.Sampling16Suite1()->subpixel_sample16(in_data->effect_ref,  sample_src_u,  sample_src_v,  &contextP->samp_pb,  out);  // Get UV based on Red/Green from input pixel  tmp_u = ((double)out->red / (double)PF_MAX_CHAN16);  tmp_v = ((double)out->green / (double)PF_MAX_CHAN16);  tmp_u *= (double)contextP->textureLayer->u.ld.width;  tmp_v *= (double)contextP->textureLayer->u.ld.height;  sample_u = LONG2FIX(tmp_u);  sample_v = LONG2FIX(tmp_v);  // Set source point to `textureLayer`  contextP->samp_pb.src = &contextP->textureLayer->u.ld;  // Sample from `map` at UV and set `out` pixel.  suites.Sampling16Suite1()->subpixel_sample16(in_data->effect_ref,  sample_u,  sample_v,  &contextP->samp_pb,  out);  /*  red += (A_u_short)(out->red * sampleWeight);  green += (A_u_short)(out->green * sampleWeight);  blue += (A_u_short)(out->blue * sampleWeight);  alpha += (A_u_short)(out->alpha * sampleWeight);  */  }  }  //out->red = (A_u_short)red;  //out->green = (A_u_short)green;  //out->blue = (A_u_short)blue;  //out->alpha = (A_u_short)alpha;  }  else { // No Supersampling!  // Get UV based on Red/Green from input pixel  tmp_u = ((double)in->red / (double)PF_MAX_CHAN16);  tmp_v = ((double)in->green / (double)PF_MAX_CHAN16);  tmp_u *= (double)contextP->textureLayer->u.ld.width;  tmp_v *= (double)contextP->textureLayer->u.ld.height;  sample_u = LONG2FIX(tmp_u);  sample_v = LONG2FIX(tmp_v);  // Set source point to `textureLayer`  contextP->samp_pb.src = &contextP->textureLayer->u.ld;  // Sample from `map` at UV and set `out` pixel.  suites.Sampling16Suite1()->subpixel_sample16(in_data->effect_ref,  sample_u,  sample_v,  &contextP->samp_pb,  out);  }  if (contextP->preserveAlpha == TRUE)  {  out->alpha *= (in->alpha / PF_MAX_CHAN16);  }  }  return err;
}

Crash with no error message

$
0
0

Hi

A user has reported that one of my plugins is crashing. His description is that when he uses the mouse to adjust any of my controls After Effects exits with absolutely no error message. However if the control is selected and the keyboard is used to set the control then the plugin renders correctly.

 

I am unable to reproduce any such problems on my machine so am struggling somewhat to fix this. He did state that the machine he is using is new and very high powered with multiple CPU cores and a high power graphics card, whereas my development machine is a lowly laptop with onboard graphics and a meagre core i3 processor. Both of us are using Windows.

 

I just wondered if anyone had seen any similar behaviour before? The plugin is a smart plugin. I am wondering if I have some problem with re-entrant behaviour. I do not checkout any layers other than the input layer, but I wondered if it is possible for multiple AE threads to call my plugin at the same time? My first step has been to send the user a plugin version which logs every function entry and exit and the command codes sent in, but unless there is something really obvious in there it is going to be a real struggle to fix this.

 

Phil

how to dynamic change effect params?

$
0
0

hi,all:

     i add a popup param in PF_Cmd_PARAMS_SETUP,and i want to change the popup list content when the user click the param,can i do this?

 

thanks advance

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!

How can I create a plugin for After Effects 2015?

$
0
0

My question is very generic and I know that it could trigger a long discussion ... I'm in love with Video Copilot Plugins, and for many years I follow the company in their fantastic products. If I wanted to create similar plugins, what tools should I use for programming? With what language they are written? And for the graphic interface on AE?

Greetings

 

 

Leandro


Layer Parameter Returning Cropped Pixels

$
0
0

How can I get a smart plugin to return me all pixels from a "texture" layer parameter, when this layer is bigger than the effect layer?

 

Example - I have a 2048x2048 pixel "texture" layer that I reference in my layer parameter. My effect layer is 1920x1080. When I check out the texture layer pixels the resultant PF_EffectWorld has a width of 2048 but a height of only 1188 pixels.

 

I must be doing something wrong in PreRender when I check out the layers (I've never really been clear about what result_rect and max_result_rect do). I've tried setting both result_rect and max_result_rect to be the union of the input and texture layers, and also set PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS, but none of these things yield a correct result.

 

Basic stuff probably but I'm stumped!

 

Thanks.

Question about AE image buffer

$
0
0

How can I display the shapes I've created in OpenGL 3.3 specs into AE buffer then apply them to a solid?

 

I know I should read the SDK but I just need a headstart. I already spent a lot of time on UI and DrawBot.

First step for plugins development...

$
0
0
Hello!
Were i found documentation, tutorials or examples of plugin development for AE? I don't know nothing about this, can anyone help me?

tks!
Adriano Vieira

Image Buffer Pixel Array?

$
0
0

I have a little problem which I am unable to figure out. I need the image buffer with only pixels but not any padding. Currently I am using the following code.

 

int num = (int)(output->width*output->

height*sizeof(PF_Pixel8));

 

    unsigned char * data;
    data = new unsigned char[num] ;
                       
    for(int y = 0; y < output->height; y++)
     {

 

        memcpy(&data[y*output->width*sizeof(PF_Pixel8)], (char *)&params[LAYER_INPUT]->u.ld.data+params[LAYER_INPUT]->u.ld.rowbytes*y, output->width*sizeof(PF_Pixel8));
       
}
   

 

To test whether its working or not, I have the following snippet         
    for(int y = 0; y < output->height; y++)
    {

 

        memcpy((char *)output->data+output->rowbytes*y,&data[y*output->width*sizeof(PF_Pixel8)] , output->width*sizeof(PF_Pixel8));
        
     }
   
   
    delete [] data;

 

But, then image is all glitched and jaggy when I test it. What did I do wrong?

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

DRAWBOT pixel formats

$
0
0

Hi.

 

DRAWBOT doesn't support native for AE images format ARGB ( for example, kDRAWBOT_PixelLayout_32ARGB_Straight ). Is it normal ?

 

Thanks

32bit Float Data in Import Plugin

$
0
0

Hi Guys,

 

Have any of you successfully gotten 32-bit float data to work in an AEIO import plugin?  I'm trying to modify the IO to do this.  So I've changed the bits per channel to 128 when I have float data, as in:

 

ERR(suites.IOInSuite4()->AEGP_SetInSpecDepth(specH, 128));

 

And changed the GetsDepths function:

 

*which = AEIO_SupportedDepthFlags_DEPTH_32 | AEIO_SupportedDepthFlags_DEPTH_128;

 

But when I try to import a file I don't even get to the DrawSparseFrame function. Instead there is an error saying:

 

After Effects error: This file format has not yet been revised to draw into float world.  ( 39::39 ).

 

Anyone know what that error means and how to fix it?  Is there a flag I'm missing?  Thanks!


Copying OpenGL pixel data

$
0
0

Greetings everyone,

 

I’ll be straight to the point. I striped down the GLator (Effect plugin example) to copy an OpenGL pixel buffer onto a solid like so:

 

static PF_Err Render(PF_InData *in_data, PF_OutData *out_data, PF_ParamDef *params[], PF_LayerDef *output)

{

       /// Render OpenGL stuff here!

 

       PF_Err err = PF_Err_NONE;

       AEGP_SuiteHandler l_suites(in_data->pica_basicP);

       PF_EffectWorld l_world;

       A_long l_width(output->width);

       A_long l_height(output->height);

 

       AEFX_CLR_STRUCT(l_world);

       ERR(l_suites.WorldSuite1()->new_world(in_data->effect_ref,

              l_width, l_height, PF_NewWorldFlag_CLEAR_PIXELS, &l_world));

 

       PF_Pixel8 *l_data = NULL;

       in_data->utils->get_pixel_data8(&l_world, NULL, &l_data);

       glReadPixels(0, 0, l_width, l_height, GL_RGBA, GL_UNSIGNED_BYTE, l_data);

 

       ERR(l_suites.WorldTransformSuite1()->copy_hq(in_data->effect_ref, &l_world, output, NULL, NULL));

 

       ERR(l_suites.WorldSuite1()->dispose_world(in_data->effect_ref, &l_world));

 

       return err;

}

 

 

The frame is rendered but with 2 major hiccups:

 

1 – The Y of the resulting image is flipped upside-down.

2 – The Red and Alpha channels seem to be swap.

 

Now, I do have a good idea how to solve this manually but I would like to avoid extra memory allocation and/or swapping data unnecessarily to solve these issues.

 

1 – Is there any workaround that would flip the image without touching the layer transformations? (the solution must be transparent to users)

2 – Is there is any way to pass the pixel data as RGBA and/or BGRA to avoid manual swizzling?

 

Important: Since we’re so close to get this working properly, I’d like to find solutions that wouldn’t hit performance at all, if possible!

 

Thx,

How can i draw gradient using drawbot to create a arbitrary effect ui?

$
0
0

Hey guys, I'm trying to draw a color wheel on my effect ui, I'm using drawbot, but seems to me that I can only create solid color pen or brush, is there a way to draw gradient fill?

I'm thinking using image element may be a solution, I can create a color wheel png image, then draw the image on my effect panel. but what if I want to draw dynamic gradient color like this,

屏幕快照 2015-12-02 上午9.26.05.png

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.

can someone guide for after effects plugin development??

$
0
0

Can someone guide for after effects plugin development??

Its very hard to find directions to do one.

 

Have written some scripts in extended script with support of adobe community and online tutorials.


But i know Plugin development is not easy task but my curiosity kills me if i dont try.Can someone plz guide.

 

I have downloaded SDK CC 2015. There are bunch of examples, template Skelton, AEGP folder.All Visual studio solutions.

When i try to open it, it says project not loaded some installation components are missing, reinstall by turning microsoft visual studio c++ 2015 on.

 

Can someone just share a very small step by step brief from start to end.??

 

From Coding to .aex format??

 

thanks

Building error: cannot open Skeleton.aex

$
0
0

Hello, I am a very junior programmer so probably my mistake is very dumb, but I could not find and fix it.

I have: Adobe AE CC 2017 Win SDK, Visual Studio 2015.

Problem: when I try to build Skeleton project (or Build All solution) I get this error:

skeleton error.png

Is my Visual Studio failing to work with .aex files? Or it can be that I need to set some paths differently (I haven't changed anything in SDK solution)?

Viewing all 73444 articles
Browse latest View live


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