From: Dan Rosen <dr@(email surpressed)>
Subject: AE Rush submit
   Date: Thu, 08 Aug 2013 13:27:11 -0400
Msg# 2341
View Complete Thread (13 articles) | All Threads
Last Next
Hello,

We are just getting around to a formal Rush submit script launched out of AE. We are on Rush 102.42a9, CS5, Mac OSX 10.6.8.

I have found a few issues and have a few questions.

- Leaving the OutputPath blank does not render what's setup in Queue as advertised by Rush help.

- I am looking to add some features to a simple jsx script that was posted to this forum. The script is great at adding the project file and comp name to the Rush submit window, but I'd like to add more features. Are there simple examples of getting a selecting comp into the Queue and setting it's output properties? Any examples/help on this front is much appreciated.

- Is there a way to add a custom menu to AE? like Nuke at the top menu items?


   From: Victor DiMichina <victor@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Thu, 08 Aug 2013 13:42:16 -0400
Msg# 2342
View Complete Thread (13 articles) | All Threads
Last Next
Hi Dan.   Notes below...


On Aug 8, 2013, at 10:27 AM, Dan Rosen wrote:

> [posted to rush.general]
> 
> Hello,
> 
> We are just getting around to a formal Rush submit script launched out =
> of AE. We are on Rush 102.42a9, CS5, Mac OSX 10.6.8.'

Which script are you using?   I have a rush.jsx from Greg Ercolano and Simon Bjork from a number of years ago that worked well.     I wrote up a tutorial on it for my users and you're welcome to have that,  I can e-mail offline.  

> 
> I have found a few issues and have a few questions.
> 
> - Leaving the OutputPath blank does not render what's setup in Queue as =
> advertised by Rush help.


Is this also the case when using the submit-afterfx.pl script manually?    I haven't had this problem,  but I also never tried it through a JSX in AE. 

> 
> - I am looking to add some features to a simple jsx script that was =
> posted to this forum. The script is great at adding the project file and =
> comp name to the Rush submit window, but I'd like to add more features. =
> Are there simple examples of getting a selecting comp into the Queue and =
> setting it's output properties? Any examples/help on this front is much =
> appreciated.
> 

I think you might like the rush.jsx we have.    It populates all of the fields.   

> - Is there a way to add a custom menu to AE? like Nuke at the top menu =
> items?
> 

This one is launched form file-->scripts-->rush.jsx


Best of luck

Vic



   From: Dan Rosen <dr@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Thu, 08 Aug 2013 16:24:31 -0400
Msg# 2345
View Complete Thread (13 articles) | All Threads
Last Next
Thanks for the reply.

I believe that the issue with leaving the OutputPath blank is/was happening via the normal Rush script launch and not just launching it via jsx. It would be great if you want to email me your version offline.

thx
Dan

On Aug 8, 2013, at 10:42 AM, Victor DiMichina <victor@(email surpressed)> wrote:

[posted to rush.general]

Hi Dan.   Notes below...


On Aug 8, 2013, at 10:27 AM, Dan Rosen wrote:

> [posted to rush.general]
> =20
> Hello,
> =20
> We are just getting around to a formal Rush submit script launched out =
=3D
> of AE. We are on Rush 102.42a9, CS5, Mac OSX 10.6.8.'

Which script are you using?   I have a rush.jsx from Greg Ercolano and =
Simon Bjork from a number of years ago that worked well.     I wrote up =
a tutorial on it for my users and you're welcome to have that,  I can =
e-mail offline. =20

> =20
> I have found a few issues and have a few questions.
> =20
> - Leaving the OutputPath blank does not render what's setup in Queue =
as =3D
> advertised by Rush help.


Is this also the case when using the submit-afterfx.pl script manually?  =
 I haven't had this problem,  but I also never tried it through a JSX =
in AE.=20

> =20
> - I am looking to add some features to a simple jsx script that was =3D
> posted to this forum. The script is great at adding the project file =
and =3D
> comp name to the Rush submit window, but I'd like to add more =
features. =3D
> Are there simple examples of getting a selecting comp into the Queue =
and =3D
> setting it's output properties? Any examples/help on this front is =
much =3D
> appreciated.
> =20

I think you might like the rush.jsx we have.    It populates all of the =
fields.  =20

> - Is there a way to add a custom menu to AE? like Nuke at the top menu =
=3D
> items?
> =20

This one is launched form file-->scripts-->rush.jsx


Best of luck

Vic




   From: Dan Rosen <dr@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Fri, 09 Aug 2013 12:05:37 -0400
Msg# 2350
View Complete Thread (13 articles) | All Threads
Last Next
Hi again,

Thanks for all the help yesterday. I have most everything working. A couple of questions. *Sorry to hijack this email, but this is where I am getting legit responses.

- What is the javascript to simply get a list of all Output Module Templates and Render Settings Templates in the current user's AE?
- What is the javascript to import .ars or .aom template files?

I am building a Rush Submit UI that will offer all of the available settings and output modules, but I've also seen reference on forums for importing shared settings for this. None of those forums seem to share that code.

Thanks in advance.
Dan


On Aug 8, 2013, at 1:24 PM, Dan Rosen <dr@(email surpressed)> wrote:

[posted to rush.general]

Thanks for the reply.

I believe that the issue with leaving the OutputPath blank is/was =
happening via the normal Rush script launch and not just launching it =
via jsx. It would be great if you want to email me your version offline.

thx
Dan

On Aug 8, 2013, at 10:42 AM, Victor DiMichina <victor@(email surpressed)> =
wrote:

[posted to rush.general]

Hi Dan.   Notes below...


On Aug 8, 2013, at 10:27 AM, Dan Rosen wrote:

> [posted to rush.general]
> =3D20
> Hello,
> =3D20
> We are just getting around to a formal Rush submit script launched out =
=3D
=3D3D
> of AE. We are on Rush 102.42a9, CS5, Mac OSX 10.6.8.'

Which script are you using?   I have a rush.jsx from Greg Ercolano and =3D=

Simon Bjork from a number of years ago that worked well.     I wrote up =
=3D
a tutorial on it for my users and you're welcome to have that,  I can =3D
e-mail offline. =3D20

> =3D20
> I have found a few issues and have a few questions.
> =3D20
> - Leaving the OutputPath blank does not render what's setup in Queue =3D=

as =3D3D
> advertised by Rush help.


Is this also the case when using the submit-afterfx.pl script manually?  =
=3D
I haven't had this problem,  but I also never tried it through a JSX =3D
in AE.=3D20

> =3D20
> - I am looking to add some features to a simple jsx script that was =
=3D3D
> posted to this forum. The script is great at adding the project file =3D=

and =3D3D
> comp name to the Rush submit window, but I'd like to add more =3D
features. =3D3D
> Are there simple examples of getting a selecting comp into the Queue =3D=

and =3D3D
> setting it's output properties? Any examples/help on this front is =3D
much =3D3D
> appreciated.
> =3D20

I think you might like the rush.jsx we have.    It populates all of the =
=3D
fields.  =3D20

> - Is there a way to add a custom menu to AE? like Nuke at the top menu =
=3D
=3D3D
> items?
> =3D20

This one is launched form file-->scripts-->rush.jsx


Best of luck

Vic





   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Fri, 09 Aug 2013 12:39:44 -0400
Msg# 2351
View Complete Thread (13 articles) | All Threads
Last Next
On 08/09/13 09:05, Dan Rosen wrote:
> Thanks for all the help yesterday. I have most everything working. A
> couple of questions. *Sorry to hijack this email, but this is where I am
> getting legit responses.

	Others will have to answer these; I don't have answers
	for any of the below q's.

> - What is the javascript to simply get a list of all Output Module
>   Templates and Render Settings Templates in the current user's AE?

	You mean a template for all the settings that output files
	can be, like the gazillions of quicktime options, compression
	preferences, etc?

	Yikes.

	Sounds like quite a bit of heavy UI and backend integration.

	Just curious: why not let the users manage these settings
	in AE's own output module interfaces in its queue? Once the
	queue's output module settings are saved in the .aep file,
	the renders will use them.

	Or is the idea to automate control over certain options
	to force them for a particular show's prefs?

> - What is the javascript to import .ars or .aom template files?

	No ideas from me; I just grepped the entire AE SDK and
	Script Guide for those extensions and came up with nada.

	If AE provides this, it doesn't seem to be documented.

> I am building a Rush Submit UI that will offer all of the available
> settings and output modules, but I've also seen reference on forums for
> importing shared settings for this. None of those forums seem to share
> that code.

	Gak, this sounds like rewriting AE's UI..


-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/

Tel: (Tel# suppressed)ext.23
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)


   From: Dan Rosen <dr@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Fri, 09 Aug 2013 13:59:20 -0400
Msg# 2352
View Complete Thread (13 articles) | All Threads
Last Next
It's all a bit simpler than you're thinking. There are saved setting names for Output Modules and Render Settings. Those include all the inner details of them. I am looking to add new ones on the fly and offer them up in a UI Panel. It will make the whole process of submitting a project or individual comps easy for the individual while offering control to the leads to set the standards (as always). I found some answers here:

http://aenhancers.com/viewtopic.php?f=8&t=680

On Aug 9, 2013, at 9:39 AM, Greg Ercolano <erco@(email surpressed)> wrote:

[posted to rush.general]

On 08/09/13 09:05, Dan Rosen wrote:
> Thanks for all the help yesterday. I have most everything working. A
> couple of questions. *Sorry to hijack this email, but this is where I am
> getting legit responses.

	Others will have to answer these; I don't have answers
	for any of the below q's.

> - What is the javascript to simply get a list of all Output Module
>  Templates and Render Settings Templates in the current user's AE?

	You mean a template for all the settings that output files
	can be, like the gazillions of quicktime options, compression
	preferences, etc?

	Yikes.

	Sounds like quite a bit of heavy UI and backend integration.

	Just curious: why not let the users manage these settings
	in AE's own output module interfaces in its queue? Once the
	queue's output module settings are saved in the .aep file,
	the renders will use them.

	Or is the idea to automate control over certain options
	to force them for a particular show's prefs?

> - What is the javascript to import .ars or .aom template files?

	No ideas from me; I just grepped the entire AE SDK and
	Script Guide for those extensions and came up with nada.

	If AE provides this, it doesn't seem to be documented.

> I am building a Rush Submit UI that will offer all of the available
> settings and output modules, but I've also seen reference on forums for
> importing shared settings for this. None of those forums seem to share
> that code.

	Gak, this sounds like rewriting AE's UI..


-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/

Tel: (Tel# suppressed)ext.23
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)



   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Fri, 09 Aug 2013 14:43:47 -0400
Msg# 2353
View Complete Thread (13 articles) | All Threads
Last Next
On 08/09/13 10:59, Dan Rosen wrote:
> It's all a bit simpler than you're thinking. There are saved setting
> names for Output Modules and Render Settings. Those include all the
> inner details of them. I am looking to add new ones on the fly and offer
> them up in a UI Panel. It will make the whole process of submitting a
> project or individual comps easy for the individual while offering
> control to the leads to set the standards (as always).

	I see, sounds cool, a tight pipeline integration thing.

> I found some answers here:
> http://aenhancers.com/viewtopic.php?f=3D8&t=3D680

	Note: I think that link got hit by the "=3D" issue talked about
	previously.

	I believe the link should be:
	http://aenhancers.com/viewtopic.php?f=8&t=680

	Quoting the relevant parts of that article below (in case it goes stale)
	along with some of my comments which might or might not be useful:

* * *

> crimsonc writes:
> Wondering if anyone out there had found a way to load Output Modules
> and Render Settings using a script. Since I can't create them myself,
> I'm figuring I can just output the ones that I want to a file and then
> have AfterFX load that file in at render time. So does anyone know how
> to load ars and aom settings files using the scripting language?

Paul Tuersley writes:
I did this by importing a project that contained the render templates
in the render queue and saving them if they didn't already exist in
this copy of AE. Here are some snippets of code:

--- snip
   function checkRQsettings(testRQ)
   {   // check if render settings and output modules are present

      // check that there are Cineon and 1k/avid templates
      for (var i = 0; i < testRQ.templates.length; ++i) {
         tempName = testRQ.templates[i];
         if (tempName == cineonSettingName) {
            hasCineonSetting = true;
         } else {
            if (tempName == quicktimeSettingName) {
               hasQuicktimeSetting = true;
            }
         }
      }
      // check if output modules are present
      for (i = 0; i < testRQ.outputModules[1].templates.length; ++i) {
         tempName = testRQ.outputModules[1].templates[i];
         if (tempName == oneKayModuleName) {
            hasOneKayModule = true;
         } else {
            if (tempName == avidModuleName) {
               hasAvidModule = true;
            } else {
               if (tempName == cineonModuleName) {
                  hasCineonModule = true;
               } else {
                  if (tempName == HDQTModuleName) {
                     hasHDQTModule = true;
                  }
               }
            }
         }
      }
      if (hasCineonSetting && hasQuicktimeSetting && hasCineonModule && hasOneKayModule && hasAvidModule && hasHDQTModule) {
         hasTemplates = true;
      }
   return(hasTemplates)
   }
--- snip

	[..and separately..]

--- snip
// Identify the two new items added to RQ on project import.
cineonRQ = app.project.renderQueue.item(app.project.renderQueue.numItems -1);
quicktimeRQ = app.project.renderQueue.item(app.project.renderQueue.numItems)

var cineonOM = cineonRQ.outputModules[1];
var oneKayOM = quicktimeRQ.outputModules[1];
var avidOM = quicktimeRQ.outputModules[2];
var HDQTOM = quicktimeRQ.outputModules[3];

// if Cineon render setting is missing, save template
if (hasCineonSetting == false) {
   cineonRQ.saveAsTemplate(cineonSettingName);
}

// if Cineon output module is missing, save template
if (hasCineonModule == false) {
   cineonRQ.outputModules[1].saveAsTemplate(cineonModuleName);
}
--- snip

* * *

    Regarding the above link and "aehancers" article; it seems to leave
    the .aom and .arl issue in the air.

    However, looking at the above code, I can derive a few things which
    might help..

    The ".saveAsTemplate()" method shown above is documented in the
    Javascript guide in the section called "OutputModule object",
    which says:

--- snip
OutputModule saveAsTemplate() method

app.project.renderQueue.item(index).outputModules[index].saveAsTemplate(name)

Description
   Saves this output module as a template and adds it to the templates array.
--- snip

	In that same section it talks about a method called .applyTemplate(templateName)
	(which "Applies an output-module template"), so that lets you apply
	an existing template.

	While I don't see a way to add new templates, it seems it might be
	implied; the docs for the OutputModule object refers to a .templates
	member which seems to contain "all template items for the output module",
	and might be an array (?).

	If that .templates member is an array of some kind, I would assume
	you could add templates to it the way you would add to a normal array
	in Javascript. In which case you could maybe then use saveAsTemplate() / applyTemplate().

	Unfortunately there's not much else I could find about the .templates
	member in the docs, ie. what its contents is.. perhaps you can reverse
	engineer it, or search AE's own javascript code to see how it can be
	manipulated. Or perhaps the SDK docs describes it better from a C++ point of view..

	Anyway, just guessing.

	If you're on the adobe_api mailing list, you could maybe ask for specifics.

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/

Tel: (Tel# suppressed)ext.23
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)


   From: Cameron Leger <cleger@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Thu, 08 Aug 2013 14:05:57 -0400
Msg# 2343
View Complete Thread (13 articles) | All Threads
Last Next
Dan,

I think I've modified these from a .jsx posted here a while ago, but I think you'll find them useful.

This will empty the Render Queue and add the selected comps, applying a template named 'PNGA'.


app.beginUndoGroup("Rush Render Queue");
function lsComps()
{
    var selectedComps = new Array();
    if (app.project != null)
    {
        var selectedItems = app.project.selection;
        for (var i = 0; i < selectedItems.length; i++)
        {
            projItem = selectedItems[i];
            if (projItem instanceof CompItem)
                selectedComps[selectedComps.length] = projItem;
        }
    }
    return selectedComps;
}

if ( app.project.file ) {
    var comps = lsComps()
    var numb = app.project.renderQueue.numItems;
    for (i = numb; i > 0; i--) {
        var curItem = app.project.renderQueue.item(i);
        curItem.remove();
    }
    for (var i = 0; i < comps.length; i++) {
        rQC = app.project.renderQueue.items.add(comps[i]);
        rQCM = rQC.outputModule(1);
        rQCM.applyTemplate("PNGA");
    }
    app.project.save()
}
app.endUndoGroup();
alert("Render Queue cleared and the selected comps have been added. You should update each of their Output To sections in the Render Queue and then run RushRender");


This will submit a rush job for each item in the Render Queue.


app.beginUndoGroup("Rush Render");
var SCRIPT = "/Volumes/Scripts_1/SubmitScripts/submit-afterfx.pl";
var CPUS   = "+ae=60@100";
var BATCH  = 50;

if ( app.project.file ) {
    app.project.save()
    var aeproj = app.project.file.name.replace(/%20/gi," ");
    var aeproj_no_ext = aeproj.substring(0,aeproj.length-4);
    var numb = app.project.renderQueue.numItems;
    for (i = numb; i > 0; i--) {
        var curItem = app.project.renderQueue.item(i);
        var comp = curItem.comp;
        var projectPath = app.project.file.fsName.toString();
        app.project.timecodeDisplayType = TimecodeDisplayType.FRAMES;
        var workAreaStart = comp.workAreaStart;
        var workAreaEnd = comp.workAreaDuration + workAreaStart;
        var sframe = timeToCurrentFormat(workAreaStart, comp.frameRate, false);
        var eframe = timeToCurrentFormat(workAreaEnd,   comp.frameRate, false);
        sframe = parseFloat(sframe);
        eframe = parseFloat(eframe);
        var compname      = comp.name;
        var jobtitle      = aeproj_no_ext+"."+compname;
        
        var tmp = new File("/var/tmp/rushaesubmit");
        tmp.lineFeed = "Unix";
        if (tmp.open("w", "TEXT")) {
            tmp.writeln("JobTitle: "+jobtitle);
            tmp.writeln("Frames: "+sframe+"-"+eframe);
            tmp.writeln("ScenePath: "+projectPath);
            tmp.writeln("CompName: "+compname);
            tmp.writeln("BatchFrames: "+BATCH);
            tmp.writeln("Cpus: "+CPUS);
            tmp.writeln("AEVersion: -");
            tmp.writeln("AutoDump: off");
            tmp.writeln("BatchClip: yes");
            tmp.writeln("LogFlags: Overwrite");
            tmp.writeln("Ram: 1");
            tmp.writeln("Retries: 5");
            tmp.writeln("StartIrush: no");
            tmp.writeln("RetryBehavior: AddNever+Requeue");
            var tmpfile = tmp.absoluteURI;
            tmp.close();
            var cmd = "perl "+SCRIPT+" -submit \""+tmpfile+"\" > /dev/null 2>&1 < /dev/null &";
            var out = system.callSystem(cmd);
        } else {
            alert("Couldn't submit "+compname);
        }
    }
}
app.endUndoGroup();

On Aug 8, 2013, at 1:27 PM, Dan Rosen wrote:

> [posted to rush.general]
> 
> Hello,
> 
> We are just getting around to a formal Rush submit script launched out =
> of AE. We are on Rush 102.42a9, CS5, Mac OSX 10.6.8.
> 
> I have found a few issues and have a few questions.
> 
> - Leaving the OutputPath blank does not render what's setup in Queue as =
> advertised by Rush help.
> 
> - I am looking to add some features to a simple jsx script that was =
> posted to this forum. The script is great at adding the project file and =
> comp name to the Rush submit window, but I'd like to add more features. =
> Are there simple examples of getting a selecting comp into the Queue and =
> setting it's output properties? Any examples/help on this front is much =
> appreciated.
> 
> - Is there a way to add a custom menu to AE? like Nuke at the top menu =
> items?
> 

----------------------------
Cameron Leger
the dvi group | 3D Artist / Coding
1486 Mecaslin Street NW, Atlanta, GA  30309
Phone: 404-873-6283 x 113
www.thedvigroup.com


   From: Dan Rosen <dr@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Thu, 08 Aug 2013 16:24:34 -0400
Msg# 2346
View Complete Thread (13 articles) | All Threads
Last Next
Thanks. This is awesome. Could you please email me an attachment offline since the text got mangled in some email server weirdness.

thx
Dan

On Aug 8, 2013, at 11:05 AM, Cameron Leger <cleger@(email surpressed)> wrote:

[posted to rush.general]

Dan,

I think I've modified these from a .jsx posted here a while ago, but I =
think you'll find them useful.

This will empty the Render Queue and add the selected comps, applying a =
template named 'PNGA'.


app.beginUndoGroup("Rush Render Queue");
function lsComps()
{
   var selectedComps =3D new Array();
   if (app.project !=3D null)
   {
       var selectedItems =3D app.project.selection;
       for (var i =3D 0; i < selectedItems.length; i++)
       {
           projItem =3D selectedItems[i];
           if (projItem instanceof CompItem)
               selectedComps[selectedComps.length] =3D projItem;
       }
   }
   return selectedComps;
}

if ( app.project.file ) {
   var comps =3D lsComps()
   var numb =3D app.project.renderQueue.numItems;
   for (i =3D numb; i > 0; i--) {
       var curItem =3D app.project.renderQueue.item(i);
       curItem.remove();
   }
   for (var i =3D 0; i < comps.length; i++) {
       rQC =3D app.project.renderQueue.items.add(comps[i]);
       rQCM =3D rQC.outputModule(1);
       rQCM.applyTemplate("PNGA");
   }
   app.project.save()
}
app.endUndoGroup();
alert("Render Queue cleared and the selected comps have been added. You =
should update each of their Output To sections in the Render Queue and =
then run RushRender");


This will submit a rush job for each item in the Render Queue.


app.beginUndoGroup("Rush Render");
var SCRIPT =3D "/Volumes/Scripts_1/SubmitScripts/submit-afterfx.pl";
var CPUS   =3D "+ae=3D60@100";
var BATCH  =3D 50;

if ( app.project.file ) {
   app.project.save()
   var aeproj =3D app.project.file.name.replace(/%20/gi," ");
   var aeproj_no_ext =3D aeproj.substring(0,aeproj.length-4);
   var numb =3D app.project.renderQueue.numItems;
   for (i =3D numb; i > 0; i--) {
       var curItem =3D app.project.renderQueue.item(i);
       var comp =3D curItem.comp;
       var projectPath =3D app.project.file.fsName.toString();
       app.project.timecodeDisplayType =3D TimecodeDisplayType.FRAMES;
       var workAreaStart =3D comp.workAreaStart;
       var workAreaEnd =3D comp.workAreaDuration + workAreaStart;
       var sframe =3D timeToCurrentFormat(workAreaStart, =
comp.frameRate, false);
       var eframe =3D timeToCurrentFormat(workAreaEnd,   =
comp.frameRate, false);
       sframe =3D parseFloat(sframe);
       eframe =3D parseFloat(eframe);
       var compname      =3D comp.name;
       var jobtitle      =3D aeproj_no_ext+"."+compname;
      =20
       var tmp =3D new File("/var/tmp/rushaesubmit");
       tmp.lineFeed =3D "Unix";
       if (tmp.open("w", "TEXT")) {
           tmp.writeln("JobTitle: "+jobtitle);
           tmp.writeln("Frames: "+sframe+"-"+eframe);
           tmp.writeln("ScenePath: "+projectPath);
           tmp.writeln("CompName: "+compname);
           tmp.writeln("BatchFrames: "+BATCH);
           tmp.writeln("Cpus: "+CPUS);
           tmp.writeln("AEVersion: -");
           tmp.writeln("AutoDump: off");
           tmp.writeln("BatchClip: yes");
           tmp.writeln("LogFlags: Overwrite");
           tmp.writeln("Ram: 1");
           tmp.writeln("Retries: 5");
           tmp.writeln("StartIrush: no");
           tmp.writeln("RetryBehavior: AddNever+Requeue");
           var tmpfile =3D tmp.absoluteURI;
           tmp.close();
           var cmd =3D "perl "+SCRIPT+" -submit \""+tmpfile+"\" > =
/dev/null 2>&1 < /dev/null &";
           var out =3D system.callSystem(cmd);
       } else {
           alert("Couldn't submit "+compname);
       }
   }
}
app.endUndoGroup();

On Aug 8, 2013, at 1:27 PM, Dan Rosen wrote:

> [posted to rush.general]
> =20
> Hello,
> =20
> We are just getting around to a formal Rush submit script launched out =
=3D
> of AE. We are on Rush 102.42a9, CS5, Mac OSX 10.6.8.
> =20
> I have found a few issues and have a few questions.
> =20
> - Leaving the OutputPath blank does not render what's setup in Queue =
as =3D
> advertised by Rush help.
> =20
> - I am looking to add some features to a simple jsx script that was =3D
> posted to this forum. The script is great at adding the project file =
and =3D
> comp name to the Rush submit window, but I'd like to add more =
features. =3D
> Are there simple examples of getting a selecting comp into the Queue =
and =3D
> setting it's output properties? Any examples/help on this front is =
much =3D
> appreciated.
> =20
> - Is there a way to add a custom menu to AE? like Nuke at the top menu =
=3D
> items?
> =20

----------------------------
Cameron Leger
the dvi group | 3D Artist / Coding
1486 Mecaslin Street NW, Atlanta, GA  30309
Phone: 404-873-6283 x 113
www.thedvigroup.com



   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Thu, 08 Aug 2013 17:05:48 -0400
Msg# 2348
View Complete Thread (13 articles) | All Threads
Last Next
On 08/08/13 13:24, Dan Rosen wrote:
> Thanks. This is awesome. Could you please email me an attachment offline
> since the text got mangled in some email server weirdness.

	I believe you all can do attachments here if the attachment isn't large.

	All that =3D stuff is some kind of non-plain-text encoding that happens
	on the client side, and doesn't seem to always pass through gracefully.
	I've never seen my posts do that (I use thunderbird), but certain mail clients
	do this.

	FWIW, =3D means ("="), =20 means space (" "), = at the end of a line
	means a line wrapped..

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/

Tel: (Tel# suppressed)ext.23
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)


   From: Dan Rosen <dr@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Thu, 08 Aug 2013 19:21:52 -0400
Msg# 2349
View Complete Thread (13 articles) | All Threads
Last Next
thanks Greg! 

On Aug 8, 2013, at 2:05 PM, Greg Ercolano <erco@(email surpressed)> wrote:

[posted to rush.general]

On 08/08/13 13:24, Dan Rosen wrote:
> Thanks. This is awesome. Could you please email me an attachment offline
> since the text got mangled in some email server weirdness.

	I believe you all can do attachments here if the attachment isn't large.

	All that =3D stuff is some kind of non-plain-text encoding that happens
	on the client side, and doesn't seem to always pass through gracefully.
	I've never seen my posts do that (I use thunderbird), but certain mail clients
	do this.

	FWIW, =3D means ("="), =20 means space (" "), = at the end of a line
	means a line wrapped..

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/

Tel: (Tel# suppressed)ext.23
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)



   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Thu, 08 Aug 2013 14:15:59 -0400
Msg# 2344
View Complete Thread (13 articles) | All Threads
Last Next
On 08/08/13 10:27, Dan Rosen wrote:
> We are just getting around to a formal Rush submit script launched out =
> of AE. We are on Rush 102.42a9, CS5, Mac OSX 10.6.8.
> 
> I have found a few issues and have a few questions.
> 
> - Leaving the OutputPath blank does not render what's setup in Queue as =
> advertised by Rush help.

	Set the OutputPath to a dash ("-") if you're trying to bypass the submit
	script's GUI, and want it to be 'empty'.

	The Rush help description is only true for someone using the GUI
	submit form, as there's logic in the submit form processor to turn
	the blank field into a dash, so that it doesn't mess up argument processing.

	If you're bypassing the GUI, then you'll need to add that logic in your
	.jsx script to pass the OutputPath field as a dash, eg:

perl /path/to/submit-afterfx.pl  -field  OutputPath  -   -field  Frames 1-10 .....

> - I am looking to add some features to a simple jsx script that was
> posted to this forum. The script is great at adding the project file and
> comp name to the Rush submit window, but I'd like to add more features.
> Are there simple examples of getting a selecting comp into the Queue and
> setting it's output properties? Any examples/help on this front is much
> appreciated.

	Have a look at AE's API documentation, as I think it sounds like
	you might be trying to manipulate the AE queue's properties,
	which means you'd also have to then re-save the .aep file after
	making the change in order for aerender to see these changes on the farm.

	Afraid I don't have any reference for doing that, but the AE forums
	might be a good place to ask about that, if the AE API docs don't make
	it clear.

> - Is there a way to add a custom menu to AE? like Nuke at the top menu items?

	There probably is, I'm not sure myself.

	Again, I'd defer to the AE API docs or AE forums, but I'll take a look
	at the SDK docs and see if I can answer that here.


-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/

Tel: (Tel# suppressed)ext.23
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)


   From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: AE Rush submit
   Date: Thu, 08 Aug 2013 16:49:56 -0400
Msg# 2347
View Complete Thread (13 articles) | All Threads
Last Next
On 08/08/13 11:16, Greg Ercolano wrote:
>> - Is there a way to add a custom menu to AE? like Nuke at the top menu items?
> 
> 	[..] I'll take a look at the SDK docs and see if I can answer that here.

    OK, did some research; the "After Effects Scripting Guide" seems to cover
    this best, see below for my once over of their docs.


QUICK ANSWER
------------
    TL;DR, the easy thing is to put your javascript in the "Scripts/ScriptUI Panels"
    directory if it provides its own GUI, and it will show up in the "Windows" submenu
    of AE automatically just by its presence.

    Example: create a file called Scripts/ScriptUI Panels/MyThing.jsx that contains:

function CreateMyUI(thisObj) {
    var myPanel = thisObj;
    myPanel.add("button", [10, 10, 100, 30], "Something");
    return myPanel;
}
var myToolsPanel = CreateMyUI(this);

    Then start up AE, the script appears in the AE "Windows" submenu as "MyThing.jsx".
    Click it, and it creates a panel with a button in it called 'Something'.

    This panel can be docked into the app, or exist as a separate window.

    You can flesh that out with input fields and callbacks so that when you hit a
    button it submits a job or runs an OS command. See the "AE Scripting Guide"
    for more on all that.

    I'm not seeing any examples that let you directly manipulate the AE submenus,
    so that for instance you can stick your own menu items 'anywhere' in the AE
    menubar (vis a vis Maya), but there might be a way. The above seems fine though.

    Anyway, there's a few ways to do this, here's my reduction of the AE Scripting Guide:


RUNNING SCRIPTS ON AE STARTUP
-----------------------------
    There's a section called:

	Running scripts automatically during application startup or shutdown

    ..which describes how you can put javascripts in the "Scripts/Startup" directory
    of your After Effects install directory. When AE starts, it runs
    all the scripts it finds in that directory in alphabetical order.
    So if your script wants to modify AE on startup, you could put your code there.


RUNNING SCRIPTS VIA THE "Window" MENU
-------------------------------------
    As an alternative to the above, there's a section called:

	Running scripts from the Window menu

    ..which describes how to make scripts that provide their own UI, where you put
    your script in the "Scripts/ScriptUI Panels" directory of your After Effects
    install directory which will then appear in the Window menu. There are examples
    there that show how to manipulate the panel to provide things like buttons and such.

    There's an example video here:
    http://aescripts.com/knowledgebase/index/view/faq/how-to-install-and-run-scripts/

    Or the equivalent direct youtube link:
    http://www.youtube.com/watch?v=EIm0Sa6noOk

    See my example MyThing.jsx above which describes how to do this easily.


AN OVERVIEW OF THE AVAILABLE OBJECTS YOU CAN ACCESS FROM SCRIPTS
----------------------------------------------------------------
    Next, there's a good reference section called:

		After Effects Object Model

    that covers an overview of the various objects, which gives you access
    to things like the application GUI, layers, collections, comp items,
    files, footage, import, keyframes, project, render queue, shapes,
    output module, operating system, viewer, etc.. just to name a few.

    The 'app' object gives you access to the AE application, and lets you
    do access things like AE version number info, lets you do general things
    like open project files, quit the application, etc.

    Anyway, that section should help you with general reference for deeply
    manipulating AE scene files from javascript.

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/

Tel: (Tel# suppressed)ext.23
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)