Reset custom effect UIs?

Hi,
I've built an effect plugin which has 2 custom UIs in it. I want to reset these UIs to their default states when the user clicks the plugin's "Reset" hyperlink, but I can't figure out how to do so. Any ideas?
Thanks,
Neil

PF_Cmd_SEQUENCE_RESETUP doesn't get called when I click Reset.
I've got PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING set in order to flatten/unflatten the sequence data. The Resetup command does get called for the Open/Save/Duplicate events.
The only command that gets called when I click Reset is PF_Cmd_USER_CHANGED_PARAM, because I specified PF_ParamFlag_SUPERVISE on 2 other params (not the 2 custom UI ones).
The custom UIs are created with PF_ADD_NULL, which I believe has no data stream. I tried changing them to PF_ADD_COLOR but PF_Cmd_SEQUENCE_RESETUP still didn't get called when I clicked Reset.
The reason I'm using PF_ADD_NULL is because I don't want the custom UI param to appear in the Timeline panel.
Thanks,
Neil

Similar Messages

  • SWFLoader and custom Effect

    I am having an issue figuring out custom Effects that are based on playing a SWF.  When I try to play the custom effect on my Effect subclass, I get a message in the console that says we loaded the SWF but it does not in fact play on the UIComponent.  Could somebody take a quick peek at my code and let me know what they think?
    package us.ks.lenexa.Graphics.Effects
    import mx.controls.SWFLoader;
    import mx.effects.EffectInstance;
    /**This class holds out info about what the effect does.
    public class RedGlowInstance extends EffectInstance
    //the flash glow object
    //[Embed(source="us/ks/lenexa/assets/flash/Red_glow.swf")]
    //public var redglow:Class;
    private var _redGlow:SWFLoader = new SWFLoader();
    public function RedGlowInstance(target:Object)
    _redGlow.source = "us/ks/lenexa/assets/flash/Red_glow.swf";
    _redGlow.height = 80;
    _redGlow.width = 80;
    _redGlow.visible = true;
    _redGlow.load();
    super(target);
    // Override play() method.
            override public function play():void {
                _redGlow.visible = true;
                super.play();
            // Override end() method class to stop the SWFLoader
            override public function end():void {
                //_redGlow.visible = false;
                super.end();
    package us.ks.lenexa.Graphics.Effects
    import mx.effects.Effect;
    import mx.effects.EffectInstance;
    import mx.effects.IEffectInstance;
    /**This class defines a custom effect that is the basis for the
    public class RedGlowEffect extends Effect
    public function RedGlowEffect(target:Object=null)
    super(target);
    instanceClass = RedGlowInstance;
    override public function getAffectedProperties():Array{
    return [];
    // Override initInstance() method.
           override protected function initInstance(inst:IEffectInstance):void {
               super.initInstance(inst);
    package us.ks.lenexa.Graphics
    import com.esri.ags.Graphic;
    import com.esri.ags.geometry.Geometry;
    import com.esri.ags.symbol.Symbol;
    import flash.events.MouseEvent;
    import us.ks.lenexa.Graphics.Effects.RedGlowEffect;
    /**Class plays a red-glow swf effect when the user mouses over the graphic
    public class GlowGraphic extends Graphic
    //here we have our redGLow
    public var redGlowEffect:RedGlowEffect = new RedGlowEffect(this);
    public function GlowGraphic(geometry:Geometry=null, symbol:Symbol=null, attributes:Object=null, playRedGlow:Boolean = false)
    super(geometry, symbol, attributes);
    if(playRedGlow==true){
    PlayRedGlow();
    public function PlayRedGlow():void{
    this.addEventListener(MouseEvent.ROLL_OVER, playRedGlowFunct);
    this.addEventListener(MouseEvent.ROLL_OUT, stopRedGlow);
    private function playRedGlowFunct(e:MouseEvent):void{
    //redGlowEffect.duration = 10000;
    //var g:GlowGraphic = e.target as GlowGraphic;
    redGlowEffect.play([this]);
    private function stopRedGlow(e:MouseEvent):void{
    redGlowEffect.stop();

    Thanks a lot again Shachar.
    shachar carmi wrote:
     if you're using that param for what i think you're using that param (a unique identifier), then you can skip using a param all together,
    You guessed right Shachar. I'm using the param as unique identifier.
    Now I'm saving the data in SEQUENCE_SETUP and retrieving it when needed from AEGP using AEGP_EffectCallGeneric().
    shachar carmi wrote:
     one more thing you could try (which could prove tricky) is to set a different default for that slider during the param_setup call.that would cause each instance of your effect to reset that param to a different value.
    but that's all in theory.
    i'm not even sure you get more than one param_setup call per session.
    just throwing some ideas out there.
    I had tried this before but Param setup is called only once when the effect is applied for the very first time.
    But thanks a lot Shachar, your first idea works fine.

  • How to create a Custom Effect?

    First of all, I'm sorry, if I make any mistakes writing this post! I actually am German!
    I would like to know how I can alter the Animation Presets in AE CS5, that are quite messy because they just are a collection of effects, into the much more organised and nicer Custom Effects like Andrew Kramer (from Video Copilot) has on his website for free download.
    I already tried out a tutorial from aetuts+ ("Create Your Own Custom Effects!"), but it just didn't work and told me it couldn't apply my effect when I runned the script (maybe because it actually was written for AE CS4).
    So my question is: Is there an easy way to organize the effects and expressions from an ordinary preset to make the preset friendlier to use? And even if it's not easy, is there a way at all?
    I thank you in advance and hope you can help me!

    (As always: Sorry for mistakes! )
    Rick Gerard schrieb:
    [...] Creating a true plug-in requires knowledge of programming and a good understanding of the AE SDK (Software Development Kit). [...] I think you're looking for some help with scripts, which can look like a plug-in. Some more details about your project will be helpful. [...]
    Mylenium schrieb:
    [...] You can store  a ton of things in a simple animation preset, so whether or not you  turn them into "custom" effects is not of much consequence in the end. [...]
    I might have asked my question badly so I want to say some more things about it:
    I do not want to create a real plug-in like Andrew Kramer's "Action Essentials" for example. Something like his little presets you can download with his projects like the first lightsaber "plug-in" he made was what I thought about. (It might actually be a bad example, because it could have involved some serious programming, but I'm refering more to the way, it is customized than the way it functions.)
    I just want to have one panel (like each individual built-in effect) that controls the effects. I find it really annoying and messy to have to change the values from sliders that are all in their own panel. So I'm not looking to programming any plug-in, just to organizing a preset in a way, it becomes more comfortable to use.
    Mylenium schrieb:
    [...] It's more likely a language isue. [...]
    That's really bad, because that tutorial trained exactly what I wanted! But thank you for the advice!
    Mylenium schrieb:
    [...] I really should think that users have better things to do than waste
    their time with such toyish stuff, but well, I guess some have too much
    time to spare... [...]
    You're right, it's a waste of time to make things more comfortable to use! Imagine After Effects would have a nice interface which by the way also looks kind of cool!

  • How to call force render on custom effect from AEGP?

    Hi All,
              I want to call a force render on my custom effect from AEGP. I tried setting PF_OutFlag_Force_Rerender flag in PF_CMD_COMPLETELY_GENERAL (Called from AEGP via AEGP_EffectGeneric()). But it did not work. Is there any other way to force a rerender on the custom effect?
    Thanks,
    Dheeraj.

    Thanks a lot Shachar for the reply. But if I use AEGP_SetStreamValue AE
    will add the action to Undo/Redo stack. Please correct me if I'm wrong.
    I don't want AE to add it to undo/redo stack. So is there any way to
    tell AE not to add AEGP_SetStreamValue() action to undo/redo stack? Or is there a call to force render from AEGP?

  • Get rid of the 'Missing'with Custom Effects

    Hi
    i've created some Custom Effects with Ae.But some of them have the word 'Missing'in front of the actual Effect.
    how can i get rid of that?All Effects work though.
    thx

    I have the same problem.
    I'm running both CS4 and CS5 here and have appended the exact same Custom Effect code to the PresetEffects.xml file in each version.
    The CS4 project works fine; but when the same project is opened (and converted of course) in to CS5 I get a dialog warning me that the effects are missing, and I get the "Missing: " text in front of the effect name everywhere it appears.
    However as noted the effects still seem to work: that is, the controls are still there and usable and the expressions attached to their parameters have come through intact.
    I have verified this to be the case also with CE's from Maltaanon and others which are installed via the PolyCE Installer AIR application. They work in CS4 but are displayed as "Missing: " in CS5.
    However the original poster says only "some" of their effects have this problem? Maybe you could analyze the any possible difference in how you coded them? Has something changed with the XML syntax or something?
    Would be nice if this was fixed and for that matter also nice if they finally enable the "Popup" type controller via XML as well..;)

  • How to get AEGP_EffectRefH within the custom effect?

    Hi,
        I want to get the AEGP_EffectRefH of the custom effect applied. This is what I'm trying to do:
    In global setup of custom effect:
    AEGP_GlobalRefcon globalRef    =    NULL;
    const A_char*        pluginName    =    "ADBE Custom Effect";
    AEGP_SuiteHandler    suites(in_data->pica_basicP);
    suites.UtilitySuite5()->AEGP_RegisterWithAEGP(globalRef, pluginName, &S_Plugin_ID );
    After getting the plugin ID, I do this in a function to get the AEGP_EffectRefH:
    I call this function when the custom effect is added:
    void function()
         AEGP_EffectRefH        effect_refH        =    NULL;
         AEGP_SuiteHandler    suites(in_data->pica_basicP);           
         ERR(suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(S_Plugin_ID, in_data->effect_ref, &effect_refH));
    But the effect_refH returned is NULL. AE pops up a dialog saying
    After Effects error: internal verification failure, sorry! {child not found in parent}
    (29 :: 0)
    What am I doing wrong?
    Thanks,
    Dheeraj

    about the reliability of effectRefs:
    they are reliable for the duration of one call.
    i.e. for the beginning to the end of the render call or updtate_params_ui call.
    after that cal has ended, the effectRef is likely to become invalidated.
    do an experiment:
    get an effect's effectRef, and check it's address in ram.
    releast the effetcRef and get another effectRef for a DIFFERENT effect.
    check it's adress and you'll be amazed that it has the same address as the first.
    why is that?
    because it doesn't point to the address of that effect in ram.
    it's an internal id that allows AE to operate on the effect for you.
    so that same effectRef you have, might point to a different effect or to nothing at all, once AE decides that the effectRef you acquired is no longer in use.
    AE will decide that after you release the effetcRef, or that you effect returns from it's call.
    so what does all that mean?
    it means you should treat effectRefs and a temporary key for accessing an effect, and NOT as a long term means of identifying and effect.
    there is no perfect solution for tracking an effect for long spans.
    if you want to keep track of an effect outside the scope of one call you have to:
    1. get the itemID for the comp it's in
    2. get the layerID for the layer it's on
    3. get the effect's index on the layer (this is the tricky bit)
    the comp's itemID and layerID both last for the lifetime of the project.
    they will keep across sessions, even if the project is loaded on a different machine and a different platform.
    these only get invalidated if the project is imported into another project.
    the index of the effect is the problem bit.
    there is no API call for getting an effects index.
    you can only tell the index by counting all effects on the layer, until you hit the desired effect.
    even then it's hard to tell because you tell what effect you hit by reading it's matchName.
    what if you have to copies of the same effect on one layer?
    how do you tell them apart?
    it's up to you to create a unique identifier.
    either a hidden slider holding a random value that's unique to each instance, or change the effect name to something unique (the user might change that without you knowing)
    the last problem with the index is that the user might change effects order on that layer, and your effect get no notification of that having happened.
    so even if you stored the itemID, layerID and effect index, you still have to make sure it's the correct effect before you do something hasty like access it.
    as i said,
    there is no perfect long term solution for tracking effects.

  • Advanced interactions and custom effects

    Me again,
    I am still having problems with custom effects in advanced actions and even though this has been escalated to senior support within adobe - i have today been told that what i am trying to do is impossible.
    I am starting to worry that what i am doing is incorrect and that what i want captivate to do is limited. i cant believe that it is but i just can not seem to get it to work - please help me i am tearing my hair out.
    thanking you in advnace

    I could reproduce your problem. I checked the XML-file, and there the duration is correctly set to 0.5secs.
    When applying the custom effect time-based or using an interactive object, that duration is correct.
    But discovered (was using CP7) that when applying a custom effect by advanced action, the duration for Stretch (and for several other effects) reverts to the custom duration and  even that it is independent of the duration of the object timeline, which is really strange. You can make the object duration as long or as short as you want, the duration of the effect is always the same when applied by advanced actions. Even if you use one of the default effects.
    Will try to find out what happens... no solution for the moment, just discovered this. Would like to go back to 5 or  5.5 because I don't remember it was the case there, but that will be for later.
    Lilybiri

  • CS4 Custom Effect Preset File Locations

    I was wondering if anyone knows where the saved custom effect preset files are saved.  I'm sure it is somewhere on the C: Drive, which is why I want to move the saved custom effects folder to another location.  I have a SSD running my OS and program files.  I make a lot of custom presets and I would like to avoid the constant writing of these files to my C: drive.  Does anyone know how to move this folder and/or how to change where the files are saved in project settings perhaps?
    Are there any other files that are constantly being written or read that I should be worried about?  Besides the project and preview files of course.  I've already got those being saved on another hard drive array.
    Thanks

    ohhhh....I get it now....hmmmm, thanks for explaining...I just learned something...
    I saw a posting at some place ( not here ) about some editing platforms that were going all solid state and were much faster...( but more expensive at first to set up - but saved big time on money for "time editing " in the long run )...but that is not what you're asking...
    I'm sorry but offhand I don't know the answer about how to change where presets are saved...if you find answer before we do, please post it here so anyone else later can get the answer...
    Meantime, there are people here who may be able to answer you....and I will do some searching
    Rod
    ps.
    thinking about this....offhand ....since custom presets are actually simply a variation of the presets....which is part of the " core " program I would say that NO...you can't change that.  sorry, but it just makes sense that to change the custom presets you would also have to change the presets themselves...which is part of the core program...which is your c drive.  make sense ?
    pps...soooo, if you want, you could maybe move the program to a physical drive other than your OS drive ( which is generally not recommended but you could weigh this against the danger of using your SSD too much maybe ...)

  • Apple custom effect to multiple clips

    Just received an extremely helpful type a bit ago and I'm hoping to capture lighting in a bottle twice.
    I've done multiple Google searches on the subject but always came up empty. I'm looking to apply a custom effect to multiple clips at the same time (a link to a photo example is at the bottom of this post). Does anyone know a way of accomplishing this feat? It would increase my productivity ten-fold!
    Thanks
    http://img22.imageshack.us/img22/7219/examplevg.jpg

    Apply all the effects you want to one image in the timeline.
    Select that image, right click and select COPY.
    Now, select ALL the other images in the sequence, right click and select PASTE ATTRIBUTES then select the check boxes that apply to the effects you wish to transfer.
    x
    edit: looked at your image - what you want to do is reuse a custom TRANSITION.
    Here's how.
    Create the transition, save it as a favorite, then make it the default.
    Park the playhead at the transition point and hit command +T
    x

  • Saving a custom effect

    after creating a new effect from the ground up, we tried to save the effect.
    control-click on the effect and select "save effect"
    in the popup window, we enter a new name and/or category and click "save".
    instead of saving the effect, livetype throws a number of errors at us
    first one is error 13, second one number 2 ...
    in both cases, the explanation is "could not save effect"
    if we create a custom directory, the explanation is "could not create directory"
    could this possibly be because the user is not an administrator?
    (owner/group of the folder in /Library/Application Support/LiveType/ is sysem/admin)
    and if, then why on earth don't i have the option to
    1. authenticate as an administrator
    2. select a different directory to save to ( ~/Library/Application Support/LiveType/ comes to mind...)
    who came up with the bright idea that only system administrators should be allowed to save custom effects to disk???????
    :S

    Rene, thanks for posting your circuitous solution. You can try to repair permissions but it sounds like the folder into which these effects get saved has somehow been set not to allow your account write access. If you can find the folder, Get Info should show you the privileges for it. They are editable in many different ways.
    Please post again if you have any additional success.
    Luck., bogiesan
    of course we did also try the same procedure when logged in from an admin account.
    this time it worked flawlessly ....
    it's like multi-user under windoze ..... <

  • How to save a customized effect preset ?

    If I need to apply a customized video effect to multiple clips, how can i do it ? Is it possible to save my customized effect as new preset ?
    Thanks

    Robbie
    yes it is, however it involves an additional step.
    Right clicking on any of your effects or transitions gives you the "Open a copy in Motion" option, all of your effects and transitions (99% or so) are actually motion templates, fully editable, customisable and able to be saved as your own customised version.
    What you are unable to do at this stage is right click on the effect or transitionon the storyline and open/save it, you need to construct it in motiona nd then apply it.
    Hope this helps
    Tony

  • Customized effects only work when time-based?

    Hello,
    Effects (Captivate 5) can be triggered time-based, triggered by a click box/button or by an advanced actions.
    I created some customized effects, sequence of different default effects with setting of timing and parameters. Applying those effects in the first way (timing effect) works fine. But when triggered by a button/click box or by an advanced action only some effects will appear: none of the movement effects, zooming effects or tint changing will be visible. Did anyone else try this out? If this is a known limitation of those triggered effects, please would it be possible to have a list of effects that could be included in a customized effect that has to be triggered?
    Lilybiri

    I am using 6.1. I ended up just making multiple versions of the object in question in different colors then show/hiding them with conditional actions. Not as elegant but it works reliably. Seems silly to have the option to set color effects with advanced actions when they don't work properly. Having the ability to set the duration would be a nice fix.
    Thanks,
    Ryan

  • Layer & Custom Effects UI problem

    Here is code of simple effect plug-in:
    #include "AEConfig.h"
    #include "AEGP_SuiteHandler.h"
    #include "AE_Macros.h"
    #include "Param_Utils.h"
    #include "AEFX_SuiteHelper.h"
    #include "entry.h"
    extern "C" {
    PF_Err DllExport
    EntryPointFunc(    PF_Cmd cmd, PF_InData *in_data, PF_OutData *out_data,PF_ParamDef *params[], PF_LayerDef    *output, void *extra);
    static PF_Err
    GlobalSetup (PF_InData *in_data, PF_OutData    *out_data, PF_ParamDef *params[],PF_LayerDef *output)
        out_data->my_version    = PF_VERSION(3, 1, 0, 0, 1);
        out_data->out_flags =     PF_OutFlag_CUSTOM_UI;
        return PF_Err_NONE;
    static PF_Err
    ParamsSetup ( PF_InData    *in_data, PF_OutData *out_data, PF_ParamDef *params[], PF_LayerDef *output)
        PF_Err            err = PF_Err_NONE;
        PF_ParamDef        def;   
        AEFX_CLR_STRUCT(def);
        PF_ADD_ARBITRARY("Test custom UI", 100, 10, PF_PUI_CONTROL, 0, 2323, 0);
        if (!err) {
            PF_CustomUIInfo            ci;
            AEFX_CLR_STRUCT(ci);
            ci.events                = PF_CustomEFlag_EFFECT | PF_CustomEFlag_LAYER;
            err = (*(in_data->inter.register_ui))(in_data->effect_ref, &ci);
        AEFX_CLR_STRUCT(def);
        PF_ADD_LAYER("Test layer", PF_LayerDefault_NONE, 2);
        out_data->num_params = 3;
        return err;
    static PF_Err
    SequenceSetup(PF_InData *in_data, PF_OutData *out_data, PF_ParamDef *params[], PF_LayerDef *output, bool allocate)
        AEGP_SuiteHandler    suites(in_data->pica_basicP);
        if(allocate)
            out_data->sequence_data =    suites.HandleSuite1()->host_new_handle(1);
        else if (in_data->sequence_data)
            suites.HandleSuite1()->host_dispose_handle(in_data->sequence_data);
        return PF_Err_NONE;
    DllExport
    PF_Err EntryPointFunc ( PF_Cmd cmd, PF_InData *in_data, PF_OutData *out_data, PF_ParamDef *params[], PF_LayerDef *output, void *extra)
        PF_Err        err = PF_Err_NONE;
        switch (cmd) {
        case PF_Cmd_GLOBAL_SETUP:
            err = GlobalSetup(    in_data, out_data, params, output);
            break;
        case PF_Cmd_PARAMS_SETUP:
           err = ParamsSetup(in_data, out_data, params, output);
            break;
        case PF_Cmd_SEQUENCE_SETUP:
            err = SequenceSetup(in_data, out_data, params, output, true);
            break;
        case PF_Cmd_SEQUENCE_SETDOWN:
            err = SequenceSetup(in_data, out_data, params, output, false);
            break;
        return err;
    The problem is when i press cntr+C than cntr+V on effect the layer parameter control drop to its' default value.
    What i doing wrong?
    If i delete custom parameter or sequenceSetup function then layer parameter value do not change after copying.
    If i press cntr+D on effect layer parameter do not change too.

    What i doing wrong?
    you're not doing anything wrong.
    that's just what AE does when copy/pasting effects with a layer param.
    the assumption is that you won't necessarily paste the effect in a comp where the layer with the same layerID is desired as the target. (layer ID's are unique per comp, not the entire project)
    experiment with other effects that have a layer param. they should behave in the same way.
    what you're describing with the deletion of the custom param and sequence data is indeed strange.
    i have no idea why it happens.

  • Reset custom component

    Hello!
    I have an app with some states.
    Each state shows a different custom component.
    My problem is that if someone types somthing in one of the states then changes state and then comes back the text will still be there.
    Is there a way to reintitialize the custom component on each state chage or do I have to create functions to reset everything myself?
    Thank you!

    Ok, thank you.
    Were they only Form fileds it would have been nice and easy.
    I have some AMF calls etc.
    I could probably remove the component with removeChild and add it when it's accessed again I guess, but that doesn't seem too elegant.

  • FBRA reseting customer payment without reversing it

    Hi
    I want to reset a customer payment (only reset). I noticed that the system reset and reverse the payment document (that was done using F-28) without asking if I want to reset it or to reset and revese it. I know that in this case (FBRA for a payment) the system should popup this question and I have the option for only reseting it.
    Any ideas?
    Thanks
    Ofer

    Hi,
    U have received the payment from the customes and entered in the system through transaction code
    F-28, now, if you go to that particular customer ledger you will find that the amount is showing clear (if you use standard tab for standard clearing) . if ou have to reverse it you have to use T.code FBRA to Reset & reverse to bring the original position in the system.....taht means a reverse documae will be generated and youwill find the the line item showing open item in the customer ledger.
    With regards,
    sudipto

Maybe you are looking for

  • I need the Log Report for the Data which i am uploading from SAP R/3.

    Hi All, I am BI 7.0 Platform with Support Patch 20. I need the Log Report for the Data which i am uploading from SAP R/3. I extract the DATA from R/3 into BI 7.0 DSO where I am mapping the GL Accounts with the FS Item.   In the Transformation i have

  • Itunes showing unknown error (-208)

    itunes showing unknown error (-208) whenever I try to play anything. Any ideas? Self Designed Mix   Windows XP Pro   Amd cpu Self Designed Mix   Windows XP Pro   Amd cpu

  • Delta  enabled  generic data source not generating delta

    Hi Experts, I am simply clueless bt where I went wrong.Please have a look and explain. I first created a z table in r\3 with one field as timestamp. Then I created a delta enabled datasource for this table, in the delta enabled field I selected Times

  • Kindle

    Just bought a Kindle and it can't find my home network router - WRT54G. I got a replacement Kindle and that can't find the network either. I add the network to the Kindle list of networks it can find and type in my password. If I do this about 10 tim

  • IPhoto + Photoshop how to sort /use both (workflow needed)

    Hello, I love IPhoto for viewing and Photoshop CS2 for editing. However it seems since Iphoto will only import photos into the IPhoto library I have a problem with control over the folders and files. How are other people using the two together? For e