<p>The script extract you include:</p>

<pre><code>app.project.renderQueue.render();
function(){system.callSystem(“Open growlnotify")};
</code></pre>

<p>has a dodgy opening quote.  “ is not the same as " - this is why you are getting the syntax error.</p>

<pre><code>app.project.renderQueue.render();
(function(){system.callSystem("Open growlnotify")})();
</code></pre>

<p>works (the (..)() calls the anonymous function). You need to add the parentheses so that the anonymous function gets called, or simply do <code>system.callSystem("Open growlnotify");</code> without the anonymous function.</p>

<p>You also need to activate "allow scripts to write files and access network" in Preferences/General, otherwise <code>callSystem</code> is blocked.</p>

<p>In the full script you post, when you replaced <code>type = "web"</code> on line 24 to use growl, the same error probably slipped in.  Check your keyboard autocorrect settings to ensure that you've not got curly quotes.</p>

CC BY-SA 3.0
2015-12-17T09:51:03.273Z
Thanks - that is very helpful - it stops the syntax error!  But I still don't get growlnotify running!
tomh
CC BY-SA 3.0
2015-12-17T12:16:13.647Z
But it does fix the Render_Notify_14.jsx file I linked to, so that works for me!  Thanks again.
tomh
CC BY-SA 3.0
2015-12-16T18:30:17.863Z
2015-12-16T18:36:43.347Z
2015-12-16T18:36:43.347Z
januszb
<p>I want to be able to receive push notifications to my iPhone when After Effects completes a render.</p>

<p>I used to use <a href="http://www.prowlapp.com/" rel="nofollow">Prowl</a> v1.5.2 &amp; <a href="http://growl.info/" rel="nofollow">Growl</a> v2.1.3 combined with <a href="http://iaian7.com/aftereffects/iPhoneRenderNotifications" rel="nofollow">this script</a> (<a href="http://iaian7.com/files/aftereffects/rendernotifications/Render_Notify_14.jsx" rel="nofollow">.jsx file</a>)to do this, but I can't get the script to work now. </p>

<p>I can get <a href="http://growl.info/downloads#growlnotify" rel="nofollow">growlnotify</a> to send a notification from the terminal to Growl, and successfully pass it to Prowl on my iPhone, but when I tried this script, it fails at line 24.  I've added the API key, and chosen growl as the notification type.  Growlnotify is in usr/local/bin and my appname is set to Adobe After Effects CC 2015.</p>

<p>I don't need background rendering, just a simple notify when renders complete.</p>

<p>I'm using OSX 10.11.1 and iOS 9.2, and After Effects CC 2015 v13.6.0.165</p>

<p>Here's a script example, it's only two lines:</p>

<pre><code>app.project.renderQueue.render();
function(){system.callSystem(“Open growlnotify")};
</code></pre>

<p>First line renders the queue (without any safety checking)
Second line should open growlnotify to send a default message</p>

<p>First line works, second line doesn't - it returns "Syntax Error".  I've also tried:</p>

<pre><code>app.project.renderQueue.render();
function(){system.callSystem(“growlnotify")};
</code></pre>

CC BY-SA 3.0
2015-12-15T14:36:39.337Z
Maybe, paste your script (with the API key obscured).
Gyan
CC BY-SA 3.0
2015-12-15T14:52:25.653Z
Good idea - done.
tomh
CC BY-SA 3.0
2015-12-15T14:55:40.770Z
Can you use full path to invoke growl?
Gyan
CC BY-SA 3.0
2015-12-15T14:56:12.450Z
And I meant the script whose line 24 fails.
Gyan
CC BY-SA 3.0
2015-12-15T14:56:44.283Z
I've tried that, but it didn't work.  From the terminal, I can invoke growlnotify from any directory.
tomh
CC BY-SA 3.0
2015-12-15T14:57:59.287Z
I linked to the big script (see http://iaian7.com/files/aftereffects/rendernotifications/Render_Notify_14.jsx) , because it's huge and more complex than I need (and it too doesn't work any more)
tomh
CC BY-SA 3.0
2015-12-15T15:13:25.650Z
Your two line scripts have a closing quote missing in 2nd line.
Gyan
CC BY-SA 3.0
2015-12-16T09:22:29.300Z
Oops - fixed the missing quote.  It was there before.. The script doesn't run - I get "Unable to execute script at line 2. Syntax error" for both versions (with and without "open")
tomh
CC BY-SA 3.0
2015-12-16T10:57:01.170Z
Just another guess, but in the JSX script, there is no function() invoked before the system calls. And the `MAIN` function isn't explicitly stated either, just curly brackets, so try leaving out function() and/or the curly brackets.
Gyan
CC BY-SA 3.0
2015-12-16T11:26:16.400Z
with no function, still get Syntax Error.  With no curly brackets and no function, syntax error.  With function but no curly brackets, I get "expected {".  I wonder if the scripting language changed since Creative Suite became Creative Cloud?
tomh
CC BY-SA 3.0
2015-12-16T14:38:39.897Z
Try single quotes and no function
Gyan
<after-effects><script>
Simple Prowl notifications for After Effects render completion
tomh
# Simple Prowl notifications for After Effects render completion

(Asked by: username_0 on 2015-12-11)

I want to be able to receive push notifications to my iPhone when After Effects completes a render.
I used to use Prowl v1.5.2 & Growl v2.1.3 combined with this script (.jsx file)to do this, but I can't get the script to work now. 
I can get growlnotify to send a notification from the terminal to Growl, and successfully pass it to Prowl on my iPhone, but when I tried this script, it fails at line 24.  I've added the API key, and chosen growl as the notification type.  Growlnotify is in usr/local/bin and my appname is set to Adobe After Effects CC 2015.
I don't need background rendering, just a simple notify when renders complete.
I'm using OSX 10.11.1 and iOS 9.2, and After Effects CC 2015 v13.6.0.165
Here's a script example, it's only two lines:
app.project.renderQueue.render();
function(){system.callSystem(“Open growlnotify")};

First line renders the queue (without any safety checking)
Second line should open growlnotify to send a default message
First line works, second line doesn't - it returns "Syntax Error".  I've also tried:
app.project.renderQueue.render();
function(){system.callSystem(“growlnotify")};

**Tags:** after-effects, script

> **Comments:**
> **username_1**: Maybe, paste your script (with the API key obscured).  
> **username_0**: Good idea - done.  
> **username_1**: Can you use full path to invoke growl?  
> **username_1**: And I meant the script whose line 24 fails.  
> **username_0**: I've tried that, but it didn't work.  From the terminal, I can invoke growlnotify from any directory.  
> **username_0**: I linked to the big script (see http://iaian7.com/files/aftereffects/rendernotifications/Render_Notify_14.jsx) , because it's huge and more complex than I need (and it too doesn't work any more)  
> **username_1**: Your two line scripts have a closing quote missing in 2nd line.  
> **username_0**: Oops - fixed the missing quote.  It was there before.. The script doesn't run - I get "Unable to execute script at line 2. Syntax error" for both versions (with and without "open")  
> **username_1**: Just another guess, but in the JSX script, there is no function() invoked before the system calls. And the `MAIN` function isn't explicitly stated either, just curly brackets, so try leaving out function() and/or the curly brackets.  
> **username_0**: with no function, still get Syntax Error.  With no curly brackets and no function, syntax error.  With function but no curly brackets, I get "expected {".  I wonder if the scripting language changed since Creative Suite became Creative Cloud?  
> **username_1**: Try single quotes and no function  

---

## 1 answers

### Answer by username_2 on 2015-12-16. Score: 3 | Accepted answer

The script extract you include:
app.project.renderQueue.render();
function(){system.callSystem(“Open growlnotify")};

has a dodgy opening quote.  “ is not the same as " - this is why you are getting the syntax error.
app.project.renderQueue.render();
(function(){system.callSystem("Open growlnotify")})();

works (the (..)() calls the anonymous function). You need to add the parentheses so that the anonymous function gets called, or simply do system.callSystem("Open growlnotify"); without the anonymous function.
You also need to activate "allow scripts to write files and access network" in Preferences/General, otherwise callSystem is blocked.
In the full script you post, when you replaced type = "web" on line 24 to use growl, the same error probably slipped in.  Check your keyboard autocorrect settings to ensure that you've not got curly quotes.

> **Comments:**
> **username_0**: Thanks - that is very helpful - it stops the syntax error!  But I still don't get growlnotify running!  
> **username_0**: But it does fix the Render_Notify_14.jsx file I linked to, so that works for me!  Thanks again.  

---

