Return-Path: Received: from [208.97.132.145] (HELO homiemail-a39.g.dreamhost.com) by media-motion.tv (CommuniGate Pro SMTP 4.2.10) with ESMTP id 5228099 for AE-List@media-motion.tv; Wed, 25 Sep 2013 16:40:52 +0200 Received: from homiemail-a39.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a39.g.dreamhost.com (Postfix) with ESMTP id 86C43150074 for ; Wed, 25 Sep 2013 07:41:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=aescripts.com; h= mime-version:in-reply-to:references:from:date:message-id:subject :to:content-type; s=aescripts.com; bh=fnM/ySHaIqs02hVD6n2S+JWX2i M=; b=q6KuhdZim8D8zsvIqinS84lzZHrwENgAgqZpXIxcej7nAOjg1YukfzQijM STn0BYCR5dZ1gVMf8EJmHHOwgAvdzR6ZVtFoyX2H38D/l7VrNGAIbsLorBd/P+cw 0CiDQzysVDDuRcpLxAySBAcNwaULPKo3sTwXACcwetKujFZSg= Received: from mail-vb0-f42.google.com (mail-vb0-f42.google.com [209.85.212.42]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: lists@aescripts.com) by homiemail-a39.g.dreamhost.com (Postfix) with ESMTPSA id 206D8150069 for ; Wed, 25 Sep 2013 07:41:03 -0700 (PDT) Received: by mail-vb0-f42.google.com with SMTP id e12so4618590vbg.29 for ; Wed, 25 Sep 2013 07:41:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=Md96O1doG0vWLr1ZQqSaZCgclYYtCqh1MH+/5eZw6Co=; b=WkmKMHnzqV4gm5vBeO1KjdPVa/7IqBIjkIoYYVmv3gbRzzLC8NRZmMbdKtkFuI6dKg R+GPyfDe2sePfLnfTg/H7xNDc4n3ga/rf6AcV+vEZ1CG29zFm81ycKRjM2triyX97hMg sRILA6VDk08BaZq4rdwJZvy9QZRE//oiTM9nMnKyp9lk0rXMKTqNdN1aAhCgs2uymrbb 1ayrOcZJkbool9YjlbTRCiFGe9SL7PScLnBkrOaB95hD6EGYVGoSyQHl//ky56DEjmx2 qgj9D6cEtRajrnmO7ccm/8EhQDN/KMJDejMBY9PnpLGSrEZ2wK1cGhPstI+hkkaoqVSP N7LQ== X-Received: by 10.52.119.228 with SMTP id kx4mr28034951vdb.12.1380120062170; Wed, 25 Sep 2013 07:41:02 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.193.2 with HTTP; Wed, 25 Sep 2013 07:40:22 -0700 (PDT) In-Reply-To: References: From: Lloyd Alvarez Date: Wed, 25 Sep 2013 10:40:22 -0400 Message-ID: Subject: Re: [AE] Inertial bounce expression keeps being disabled randomly... To: After Effects Mail List Content-Type: multipart/alternative; boundary=047d7bdc0a9c0da66f04e7363e9e --047d7bdc0a9c0da66f04e7363e9e Content-Type: text/plain; charset=ISO-8859-1 You can use this to batch update all the expressions in your project: http://aescripts.com/pt_expressedit/ On Wed, Sep 25, 2013 at 9:46 AM, D wrote: > Yes, was guessing that. Too many instances to replace with an upcoming > deadline though so quick fixing with the aid of your script for now. > > > On 25 September 2013 14:35, Lloyd Alvarez wrote: > >> The expression will keep failing unless you account for that divide by >> zero error. >> >> >> On Wed, Sep 25, 2013 at 9:23 AM, D wrote: >> >>> Thanks Lloyd. Funnily enough, I just found your script 'Activate >>> Disabled Expressions'. I purged all memory then applied the script. >>> Emptying the memory seems to allow them back on. Great script. Next time I >>> get a mass disablement I'll try your solution. >>> >>> >>> On 25 September 2013 12:35, Lloyd Alvarez wrote: >>> >>>> As the error suggests, it gets disabled because it tries to divide by >>>> zero.. Most probably because you are in negative time due to this: t = >>>> time - key(n).time; >>>> >>>> You can protect against that in several ways but here's a quick cheeky >>>> way: >>>> >>>> amp = .1; >>>> >>>> freq = 2.0; >>>> >>>> decay = 12.0; >>>> >>>> n = 0; >>>> >>>> if (numKeys > 0){ n = nearestKey(time).index; >>>> >>>> if (key(n).time > time){ n--; >>>> >>>> }} if (n == 0){ t = 0; >>>> >>>> }else{ t = time - key(n).time; >>>> >>>> } if (n > 0){ v = velocityAtTime(key(n).time - >>>> thisComp.frameDuration/10); >>>> d= Math.exp(decay*t); >>>> if ( d == 0 ) d= 0.0001; >>>> >>>> value + v*amp*Math.sin(freq*t*2*Math.PI)/d; >>>> >>>> }else{value} >>>> >>>> >>>> Cheers, >>>> Lloyd >>>> >>>> On Wednesday, September 25, 2013, D wrote: >>>> >>>>> ...confusingly, the expression will sometimes continue to work on >>>>> other layers in the same comp on both position and scale parameters whilst >>>>> some get disabled. >>>>> >>>>> >>>>> On 25 September 2013 10:40, D wrote: >>>>> >>>>>> Hi >>>>>> >>>>>> The expression I'm using looks like this: >>>>>> >>>>>> amp = .1; >>>>>> >>>>>> freq = 2.0; >>>>>> >>>>>> decay = 12.0; >>>>>> >>>>>> n = 0; >>>>>> >>>>>> if (numKeys > 0){ n = nearestKey(time).index; >>>>>> >>>>>> if (key(n).time > time){ n--; >>>>>> >>>>>> }} if (n == 0){ t = 0; >>>>>> >>>>>> }else{ t = time - key(n).time; >>>>>> >>>>>> } if (n > 0){ v = velocityAtTime(key(n).time - >>>>>> thisComp.frameDuration/10); >>>>>> >>>>>> value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t); >>>>>> >>>>>> }else{value} >>>>>> >>>>>> >>>>>> It works most of the time then will randomly get disabled across lots >>>>>> of layers and will not allow me to re-enable until I've restarted AE >>>>>> (v5.5). This is the error: >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> >>>>>> After Effects warning: invalid numeric result (divide by zero?) >>>>>> >>>>>> Expression disabled. >>>>>> >>>>>> >>>>>> Error occurred at line 10. >>>>>> >>>>>> Comp: 'XXX' >>>>>> >>>>>> Layer 17 ('XXX') >>>>>> >>>>>> Property: 'Scale' >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> >>>>>> I have no real knowledge of how expression code works. I cut and >>>>>> paste when I use them. The project is 4 minutes long and the expression >>>>>> occurs across many comps and typically as the deadline approaches the error >>>>>> is now cropping up often. Any help appreciated. >>>>>> >>>>>> >>>>>> Thanks. >>>>>> >>>>> >>>>> >>> >> > --047d7bdc0a9c0da66f04e7363e9e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
You can use this to batch update all the expressions in yo= ur project:=A0http://aescr= ipts.com/pt_expressedit/


On Wed, Sep 25, 2013 at 9:46 AM, D <dow.hanson@gmail.com>= wrote:
Yes, was guessing that. Too many instances to replace with= an upcoming deadline though so quick fixing with the aid of your script fo= r now.=A0


On 25 September 2013 14:35, Lloyd Alvare= z <lists@aescripts.com> wrote:
The expression will keep fa= iling unless you account for that divide by zero error.


On Wed, = Sep 25, 2013 at 9:23 AM, D <dow.hanson@gmail.com> wrote:<= br>
Thanks Lloyd. Funnily enoug= h, I just found your script 'Activate Disabled Expressions'. I purg= ed all memory then applied the script. Emptying the memory seems to allow t= hem back on. Great script. Next time I get a mass disablement I'll try = your solution.


On 25 Septemb= er 2013 12:35, Lloyd Alvarez <lists@aescripts.com> wrote:<= br>
As the error suggests, it gets disabled because it tries to divide by zero.= . Most probably because you are in negative time due to this:=A0t =3D time - key(n)= .time;

<= /span>
You can protect against that in several ways but here&#= 39;s a quick cheeky way:

amp =3D .1;

freq = =3D 2.0;

decay =3D 12.0;

n= =3D 0;

if (numKeys > 0){ n =3D nearestKey(time).index;

if (key(n).time > time){ n--;

}} if (n =3D=3D 0){ t =3D 0;

}else{ t =3D time - key(n).time;

} if (n > 0){ v =3D velocityAtTime(key(n).time - thisComp.frameDuration/= 10);

d=3D=A0Math.exp(decay*t);
if ( d =3D=3D 0 ) d=3D 0.0001;

=A0value + v*amp*Math.sin(freq*t*2*Math.PI)/d;

}else{value}


Cheers,

<= /span>
Lloyd
=
On Wednesday, September 25, 2013, D wrote:
...confusingly, the expression will sometimes continue to = work on other layers in the same comp on both position and scale parameters= whilst some get disabled.=A0


On 25 September 2013 10:40, D <dow.hanson@gmail.com= > wrote:
Hi

The expression I'm using looks l= ike this:

amp =3D .1;

= freq =3D 2.0;

= decay =3D 12.0;

= n =3D 0;

= if (numKeys > 0){ n =3D nearestKey(time).index;

= if (key(n).time > time){ n--;

= }} if (n =3D=3D 0){ t =3D 0;

= }else{ t =3D time - key(n).time;

= } if (n > 0){ v =3D velocityAtTime(key(n).time - thisComp.frameDuration/= 10);

= value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);

= }else{value}


It works most of the time then will randomly get disabled across lots of la= yers and will not allow me to re-enable until I've restarted AE (v5.5).= This is the error:


--


After Effects warning: invalid numeric result (divide by zero?)

Expressi= on disabled.


Error occurred at line 10.

Comp: 'XXX'

Layer 17 ('XXX')

Property: 'Scale'


--


I have no real knowledge of how expression code works. I cut = and paste when I use them. The project is 4 minutes long and the expression= occurs across many comps and typically as the deadline approaches the erro= r is now cropping up often.=A0Any help appreciated.

=

Thanks.






--047d7bdc0a9c0da66f04e7363e9e--