Return-Path: Received: from [208.97.132.5] (HELO homiemail-a22.g.dreamhost.com) by media-motion.tv (CommuniGate Pro SMTP 4.2.10) with ESMTP id 5227984 for AE-List@media-motion.tv; Wed, 25 Sep 2013 15:36:22 +0200 Received: from homiemail-a22.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a22.g.dreamhost.com (Postfix) with ESMTP id B75B41A8076 for ; Wed, 25 Sep 2013 06:36:32 -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=J/xSIPEGuDg+oPPw2jwB9bITRq 4=; b=lL77HqqeY/R+gZX4EXgoxRmni01FfFJGVp+EfH6H3r2m09lwxsxDJLXScD 90d2OeCPCh/JObN/YigqNlctpuAOfcvJ9ZVpO2xsYRmm8EVNp/RMcQNvk50T6DWY Af7jYRPE2pUMMlIE7VEU0SIiH/HS7RMXuyKgOIDbgMaSY3+cU= Received: from mail-ve0-f170.google.com (mail-ve0-f170.google.com [209.85.128.170]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: lists@aescripts.com) by homiemail-a22.g.dreamhost.com (Postfix) with ESMTPSA id 576891A8071 for ; Wed, 25 Sep 2013 06:36:32 -0700 (PDT) Received: by mail-ve0-f170.google.com with SMTP id c14so4677231vea.15 for ; Wed, 25 Sep 2013 06:36:31 -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=kpbcETJSz5yMw7c3DpFF6wJuWhcBwz84EWCR4ZHlBUw=; b=FE8vI9SPJ0XYdf5SAXZLdpou/q3VvwRfrm+/b+Qt2vHU5OcUpG9fBa1vIz2XuSZoMW Ujq2jvf3dXGyznrR7++F1+S4dFrcTc/7eaBKmEdJuKJegYpsKfzyVewBXxxd5Va4+Fl/ b0Tq2TM/ID+BFve/JAnM+a4EEGgsf7quGj12ejuqwo8wsN1+McQeVzofIH0xwFllcXBq zZbfY3/cA9qGWxnTZ4aqpfcjTfzPtByhMtuRtr1WdqJ2H6CVv2KAVfKYYIny63li+s4O 59F+dzv8G5avaJ1HdhHKgbg1HubBlhfuCatxOeuSmia4t2NhsYiHt195N6vq7IPte81s 7izw== X-Received: by 10.52.94.37 with SMTP id cz5mr10036876vdb.30.1380116191394; Wed, 25 Sep 2013 06:36:31 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.193.2 with HTTP; Wed, 25 Sep 2013 06:35:51 -0700 (PDT) In-Reply-To: References: From: Lloyd Alvarez Date: Wed, 25 Sep 2013 09:35:51 -0400 Message-ID: Subject: Re: [AE] Inertial bounce expression keeps being disabled randomly... To: After Effects Mail List Content-Type: multipart/alternative; boundary=20cf307f317056476404e73557bd --20cf307f317056476404e73557bd Content-Type: text/plain; charset=ISO-8859-1 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. >>>> >>> >>> > --20cf307f317056476404e73557bd Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
The expression will keep failing unless you account for th= at divide by zero error.


On Wed, Sep 25, 2013 at 9:23 AM, D <<= a href=3D"mailto:dow.hanson@gmail.com" target=3D"_blank">dow.hanson@gmail.c= om> wrote:
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.




--20cf307f317056476404e73557bd--