From: "David Torno" Received: from atl4mhob07.registeredsite.com ([209.17.115.45] verified) by media-motion.tv (CommuniGate Pro SMTP 6.1.0) with ESMTP id 7177246 for AE-List@media-motion.tv; Sun, 21 Oct 2018 19:17:02 +0200 Received: from mailpod.hostingplatform.com (atl4qobmail03pod0.registeredsite.com [10.30.71.205]) by atl4mhob07.registeredsite.com (8.14.4/8.14.4) with ESMTP id w9LHSud5010684 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Sun, 21 Oct 2018 13:28:56 -0400 Received: (qmail 24212 invoked by uid 0); 21 Oct 2018 17:28:56 -0000 X-TCPREMOTEIP: 96.39.226.10 X-Authenticated-UID: torno@sydefxink.com Received: from unknown (HELO ?10.0.1.6?) (torno@sydefxink.com@96.39.226.10) by 0 with ESMTPA; 21 Oct 2018 17:28:55 -0000 Content-Type: multipart/alternative; boundary=Apple-Mail-BA424BBC-3A1F-4D94-A891-D8FCC85133E9 Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (1.0) Date: Sun, 21 Oct 2018 10:28:54 -0700 Subject: Re: [AE] cc2019 is eval() not working in expressions? Message-Id: References: In-Reply-To: To: After Effects Mail List X-Mailer: iPhone Mail (14A456) --Apple-Mail-BA424BBC-3A1F-4D94-A891-D8FCC85133E9 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable There are now two expression engines apparently. To improve it they had to r= eplace it basically. =46rom the help page: "After Effects uses JavaScript engine when evaluating expressions. The perfo= rmance of evaluating expressions during renders can be up to 5x faster than t= he Legacy ExtendScript engine. On Windows, After Effects uses the V8 open-source JavaScript engine. On macO= S, After Effects uses the JavaScriptCore framework. Both of these engines pr= ovide a more modern version of JavaScript than available in ExtendScript, wh= ich only supports the 3rd Edition of the ECMA-262 Standard. To choose whether a project uses the JavaScript engine or Legacy ExtendScrip= t, in the Project Settings dialog, click the Expressions tab, and change the= Expressions Engine option. Projects saved in previous versions of After Eff= ects default to Legacy ExtendScript. Improvements provided by the JavaScript engine Higher mathematical precision in floating-point operations.=20 Array and string methods from modern JavaScript can be used. Other modern JavaScript objects like typed arrays, usage of keywords 'let' a= nd 'const', and many other additions made in recent versions of the ECMA-262= Standard are available. Differences between the JavaScript engine and ExtendScript The syntax for if/else statements is strict in the JavaScript engine and nee= d to be written for standardized JavaScript. When accessing the indexes of characters on a Text Layer as an array, use te= xt.sourceText.value[i] instead of text.sourceText[i]. Older snake_case expression methods such as this_comp and to_world, which h= ad been previously deprecated in ExtendScript) are not supported. Simplified 'this(arg)' syntax is not supported. " https://helpx.adobe.com/after-effects/using/expression-language-reference.ht= ml David Torno 818.391.6060 -------------------- www.sydefxink.com (work history) https://vimeo.com/davidtorno (work samples & breakdowns) https://gumroad.com/davidtorno http://provideocoalition.com/dtorno (tutorials) "The most useless day is that in which we do not laugh" -Charles Field > On Oct 21, 2018, at 8:22 AM, TIM THIESSEN wrote:= >=20 > I haven't download cc2019 (os not up to snuff yet awaiting new compy) but I= hear that among other things eval() doesn't work in expressions. Is there a= ny documentation on the changes in the new Javascript engine - I haven't see= n anything about using eval(). >=20 >=20 >=20 > Timt --Apple-Mail-BA424BBC-3A1F-4D94-A891-D8FCC85133E9 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
There are now two expression engines a= pparently. To improve it they had to replace it basically.

=46rom the help page:
"After Effects uses JavaScript en= gine when evaluating expressions. The performance of evaluating expressions d= uring renders can be up to 5x faster than the Legacy ExtendScript engine.

On Windows, After Effects uses the V8 open-source JavaScript engine. On macOS, After= Effects uses the JavaScriptCore framework. Both of these engines provide a more mod= ern version of JavaScript than available in ExtendScript, which only support= s the 3rd Edition of the ECMA-262 Standard.

To choose whether a project uses the JavaScript e= ngine or Legacy ExtendScript, in the Project Settings dia= log, click the Expressions tab, and change the Exp= ressions Engine option. Projects saved in previous versions of A= fter Effects default to Legacy ExtendScript.

Improvements provided by the JavaScript engine=

  • Higher mathematical precision in floating-point operat= ions. 
  • = Array and string m= ethods from modern JavaScript can be used.
  • Other modern JavaScript objects like typed arrays, usage o= f keywords 'let' and 'const', and many other additions made in recent versio= ns of the ECMA-262 Standard are available.

Differences between the JavaScript engine a= nd ExtendScript

  • The syntax for if/else statements= is strict in the JavaScript engine and need to be written for standardized J= avaScript.
  • <= span style=3D"background-color: rgba(255, 255, 255, 0);">When accessing the i= ndexes of characters on a Text Layer as an array, use text.sourceText.valu= e[i] instead of text.sourceText[i].
  • Older snake_case expression methods  such as&= nbsp;to_world, which had been previously depr= ecated in ExtendScript) are not supported.
  • Simplified 'this(arg)' syntax is not supported.
=
"
<= br>
https://helpx.adobe.com/after-effects/using/exp= ression-language-reference.html



David Torno
818.39= 1.6060
--------------------
www.sydefxink.com (work history)
https://vimeo.com/davidtorno (work samples & breakdowns)
https://gumroad.com/davidtorno

"The most useless day is that in which we do not laugh"
-Charles Field

On Oct 21, 2018, at 8:22 AM, TIM THIESSEN <AE-List@media-motion.tv> wrote:

=

I haven't download cc2019 (os not up to snuff yet await= ing new compy) but I hear that among other things eval() doesn't work in exp= ressions. Is there any documentation on the changes in the new Javascript en= gine - I haven't seen anything about using eval().

<= br>

Timt

= --Apple-Mail-BA424BBC-3A1F-4D94-A891-D8FCC85133E9--