Johan;
If you’ve an install of Python 2.5, I’ve posted a hack in the python thread which will allow you to set dependents…
http://forums.cgsociety.org/showthread.php?f=98&t=509631&page=14&pp=15
EDIT:
Sorry didn’t see G’s post on this link.
Thanks, I had to put the script aside to do some keyframing for at least another week… but I was starting to look at cmdJob to send the scriptjob. It too can set dependencies and I was trying to sent the scriptjob with the regular mxs backburner submit job handle and see if I could do it that way… that’s where it still is for now. If it fails I will look into python…
Signed:
Jack of all trades master of none
OKAY!!!
Finally had some time yesterday to continue my quest, and I have dependencies working now via cmdJob, so no need for “external tools” for now.
I will post an example code today, I’m just very happy, and it wasn’t too difficult after all.
-Johan
So what exactly were you able to do with dependencies? One of the problems I have is that submitting splitscanline jobs from 3dsmaxcmd.exe doesn’t set dependencies for the stitch job.
-Eric
I will give a stripped down version of my solution. I do not stitch, I do sent a message out to backburner to start up virtualDub and make avi’s for previewing and editing of the rough renders.
I sumbit the job with maxscript and submit the scriptJobs through the commandline via dosCommand:
-- Created: 13-10-2008
-- Last Updated: 13-11-2008
-- Version: 0.14
--
-- Author : Johan Boekhoven / johan.boekhoven [at] gmail [dot] com / subd.nl
-- Version: 3ds max 2009 (11)
--
-- Discription: Submits scene to backburner
-- Usage: Just run to submit
--
-- Credits: Helpfile / cgtalk
--
--***********************************************************************************************
-- MODIFY THIS AT YOUR OWN RISK
(
/* CONNECT TO THE NETWERK MANAGER */
m = netrender.getmanager()
c1 = m.connect #automatic "255.255.255.0"
-- Batch it max (PEN) runs through a folder of files opening them and submitting them via this script
localFileName = maxFilePath + maxFileName
-- Will be used in the mxs submit and dosCommand dependencies!
jobName = (filterString maxFileName "." )[1] -- < add some extra string here to allow to sent unique jobs
/* WHEN CONNECTION AND FILE SUCCESFULLY COPIED */
if c1 then
(
/* SUBMIT JOB */
-- Easy BB submit
job = m.newjob file:localFileName
job.name = jobName
job.includeMaps = true --turn on "Include Maps"
job.submit() --this uses all servers for the job
/* FILE SETTINGS */
-- Set the parameters that vDub needs
startTime = formattedPrint (rendStart.frame as integer) format:".4d"
filePath = getFilenamePath rendOutputFilename
fileName = stripLast(getFilenameFile rendOutputFilename)
fileNameExt = getFilenameType rendOutputFilename
vInput = filePath + fileName + startTime + fileNameExt
vDub = @"\\fileserver\virtualdub\vdub.exe /x /i "
vScript1 = @"\\fileserver\virtualdub_Scripts\myscript.script "
vOutput1 = @" \\fileserver\renders\" + fileName + ".avi"
scriptJobName1 = jobName + "_UncompressedAvi"
/* OUTPUT1 - UNCOMPRESSED AVI */
-- Build stringStream
jobString1 = stringStream ""
-- Create jobname
format "-jobName:% " scriptJobName1 to:jobString1
-- SET THE DEPENDENCY!
format "-dependencies:% " jobName to:jobString1
-- Add netmask
format "-netmask:255.255.255.0 " to:jobString1
-- Add execution string
format "% " (vDub + vScript1 + vInput + vOutput1) to:jobString1
-- This is probably wrong since cmdJob is in the backburner folder, but it works.... I should check that out!
maxRoot = pathConfig.GetDir #maxroot
-- Build command string
cmd = "cmdjob.exe " + (jobString1 as string) + " startpath:" + maxroot + " prompt:Submitted to backburner via commandprompt"
-- Execute it, hiddenDosCommand keeps throwing me errors...!?
DOSCommand cmd
)
)
So I’m not using 3dsmaxcommand but cmdJob and I’m not stitching… haven’t looked into it, don’t know if it can be started this way… maybe it is of some help… I for one am glad that I could get it too run with out of the box tools. Large portions of my original code I didn’t post because it’s to project specific, but I have name checking and some other routines to make sure it gets submitted the right way. But at it’s heart it quit simple…
-Johan
Your problem with HiddenDosCommand probably comes from the bad startpath:, it should be the Backburner Directory, not the 3ds Max (maxroot) directory.
-Eric
You maybe right, I started to realize it was the wrong path when posting this message, I assumed it was a maxroot executable, does it help you with the stitch job?
No, when you submit a 3dsmaxcmd split scanlines job, it creates the split and stitch jobs, but fails to set the dependencies. So I need to way to modify the jobs, not create new ones. Also, the cmdjob tool doesn’t offer a stitch option, because that is a max only feature.
-Eric
And what if you combine them? Use cmdJob to set a 3dsmaxcmd job…? You set a dependent job to set the stitch job…
I was hoping to be able to modify this script to run a script with the dependant job. I have it submiting jobs with a depadant just fine. I dont think the render script is being attached and I am pulling this error could not locate C:\Program Files\Autodesk\Backburner\Network\ServerJob\filename– Created: 13-10-2008
– Last Updated: 13-11-2008
– Version: 0.14
– Author : Johan Boekhoven / johan.boekhoven [at] gmail [dot] com / subd.nl
– Version: 3ds max 2009 (11)
– Discription: Submits scene to backburner
– Usage: Just run to submit
– Credits: Helpfile / cgtalk
–*********************************************** ******************************************
– MODIFY THIS AT YOUR OWN RISK
(
/* CONNECT TO THE NETWERK MANAGER */
m = netrender.getmanager()
c1 = m.connect #automatic “255.255.255.0”
– Batch it max (PEN) runs through a folder of files opening them and submitting them via this script
localFileName = maxFilePath + maxFileName
– Will be used in the mxs submit and dosCommand dependencies!
x = 1
jobName = (filterString maxFileName “.” )[1] –+ execute “x += 1” as string
/* WHEN CONNECTION AND FILE SUCCESFULLY COPIED /
if c1 then
(
/ SUBMIT JOB */
– Easy BB submit
job = m.newjob file:localFileName
job.name = jobName
job.includeMaps = true –turn on “Include Maps”
job.submit() –this uses all servers for the job
/* FILE SETTINGS */
scriptJobName1 = jobName + "_UncompressedMov"
/* OUTPUT1 - UNCOMPRESSED MOV */
-- Build stringStream
jobString1 = stringStream ""
-- Create jobname
format "-jobName:% " scriptJobName1 to:jobString1
-- SET THE DEPENDENCY!
format "-dependencies:% " jobName to:jobString1
-- Add netmask
format "-netmask:255.255.255.0 " to:jobString1
–add the render script
format “-scriptFile:\\Tta_server\3d model library\Scripts\AutoQuickTIme\autoquicktimeNetwork.ms ” to:jobString1
print jobString1
-- cmdJob is in the backburner folder
maxRoot = "C:\\Program Files\\backburner 2\\"
-- Build command string
cmd = "cmdjob.exe " + (jobString1 as string) + " startpath:" + maxroot + " prompt:Submitted to backburner via commandprompt"
print cmd
-- Execute it
DOSCommand cmd
)
)
I am gueesing that the scriptfile section is wrong and I must have removed or added somthing that isnt sending the max file to the correct location. Thanks for your help in advance.