4 Replies Latest reply on Sep 2, 2012 9:54 PM by JBKauai

    Basic plug-in questions


      Hello all.  I'm just getting started with writing AE plug-ins.  I;ve lloked through the SDK manual and built a couple of the sample projects. 


      I have some basic questions about plug-ins:


      If I want a plug-in to work with AE CS5 and CS6, can I just build it with the CS5 SDK, or do I need to buiild a 2nd version using the CS6 SDK?


      Once I have a working plug-in on Windows, how much work is required to get it working on the Mac?


      How do I decide if I should write an AEGP or Effect plug-in?  If the plug-in works with multiple layers in a composition, then I'm thinking that it should be an AEGP rather than an Effect, is that right?





        • 1. Re: Basic plug-in questions
          shachar carmi Adobe Community Professional & MVP

          i didn't swith to CS6 yet, so i can tell you for sure,

          but from what i know, most plug-ins created with the cs5 SDK should work with CS6.

          only a few require minor adjustments. (probably avoiding deprecated suites)


          as for switching to mac:

          unless you used some specific OS API, are one of the very very few api fcuntions that are specific to mac or pc (such as GET_MAIN_WHND()), then it should be exactly the same code for mac/pc.

          on the mac SDK, just duplicate an existing project, exactly as you did on the pc, and copy your code.


          effects vs AEGPs:

          effects are placed on a layer, they get input and output buffers, and they (should) process video and audio. effects can access image data from other layers. (look at the "checkout" sample to see how)

          AEGPs are for anything else. they are not placed on layers, they are loaded once when AE boots, and live thoughout the session. they can access video sources, but they do not get automatically called upon to render a specific layer.

          so, if it a color corrector? then it's an effect.

          is it a new formant importer? then it's an AEGP.

          • 2. Re: Basic plug-in questions

            Hey Jeff!  I'm also pretty new to this but starting to get into it. What I do is I develop using the latest functions of the CS5 SDK, and then everything works with CS5.5 and CS6 as well. Note that you can also create a combination of Effects and AEGP and let them communicate. Also Effects can "check out" the pixels of other layers meaning you can actually work with multiple layers using Effects as well, depending on what you want to do.


            I work on Mac and will need to compile some things for Windows soon. No platform specific code that I know of. If you are interested, maybe we could make some deal, I compile Mac for you if you compile Windows for me? Send me a PM if you are interested!

            • 3. Re: Basic plug-in questions
              JBKauai Level 1



              Thanks for the info.  Sorry I haven't gotten back to you sooner-- I've been having fun experimenting with the SDK.


              I have a customer who wants me to write some plug-ins to do all sorts of interesting things, and I'm trying to figure out whether I need AEGPs or effects.  Effects can access info from other layers, but if I want to add layers and items to the comp from my plug-in, it sounds like I would need to do this from an AEGP rather than from an effect.


              As far as platform-specific code, it looks like I'll need to do some custom GUI work, so I guess that means having two versions of the classes that do that.


              So far I've been enjoying playing with the SDK.  So far I've been able to figure out most things by a combination of the SDK manual, looking at example plug-ins, and looking at the header files.  It's nice to have the forum for the remaining questions.



              • 4. Re: Basic plug-in questions
                JBKauai Level 1



                I was hoping that the plug-in code would just work between platforms (other than custom GUI stuff).  That was the impression that I got from the documentation.