/* alien SmedgeGUI v 1.0 ******what does this script do? this script creates an interface inside maya to easily submit render to smedge 3. ******what do I have to do to use it? copy this file to your script directory, then map "alienSmedgeGUI()" to a shortcut or a shelf button. remember to set the $submitPath var with the path of your submit.exe file ******how can I use it? do the shortcut or click the shelf button, then a window appears with some options automatically inserted, then you can change them or fill the others,then push the "submit render" button to make smedge render...awesome!!! ^_^ ******to do - save the submitted render to a text file so that a user can easily call them later, modify it if needed, and render again. - log path directory needs to be test... ******thanks to Robin from uberware! Debbie for the translation ******credits Nicola Danese --> n.danese@ubik.it */ //procedure that build the command line with all the selected parameters and submit render to smedge 3 global proc submitRender() { //*** PUT HERE WHERE'S YOUR SUBMIT.EXE FILE //***NET WIN EXAMPLE "\\\\server\\programs\\Smedge_3\\" note the double backslash! string $submitPath = "C:\\Programmi\\Smedge 3\\"; //BASIC INFO //set the global vars global string $submitSceneName; //scene global string $submitJobName; //name global int $submitPriority; //priority global int $submitProcesses; //cpus 0=one per engine 1= one per cpu global string $submitPool; //pool global string $submitNotes; //note //get those vars $submitSceneName = `textFieldButtonGrp -q -tx sceneName`; $submitJobName = `textFieldGrp -q -tx jobName`; $submitPriority = `intSliderGrp -q -value priority`; $submitProcesses = (`radioButtonGrp -q -sl processes`)-1; //$submitPool = `textFieldGrp -q -tx pool`; //if ($submitPool == "") // { // $submitPool = "wholesystem"; // } string $username = `getenv "USERNAME"`; string $computername = `getenv "COMPUTERNAME"`; $submitNotes = ($username + " @ " + $computername + " " + `textFieldGrp -q -tx notes`); //SPECIFIC PARAMETERS //set the global vars global int $submitEngine; global string $submitType; //type global string $submitRange; //range global int $submitPacketSize; //packetsize global string $submitProject; //project //get those vars $submitRange = `textFieldButtonGrp -q -tx range`; $submitPacketSize = `intSliderGrp -q -value packetSize`; $submitProject = `textFieldGrp -q -tx project`; $submitType = "maya"; //building the render string... string $renderString = $submitPath + "submit script" + " -type " + $submitType + " -name " + $submitJobName + " -scene " + $submitSceneName + " -note " + $submitNotes + //" -pool " + $submitPool + " -priority " + $submitPriority + " -cpus " + $submitProcesses + " -project " + $submitProject + " -range " + $submitRange + " -packetsize " + $submitPacketSize ; $submitPool = `textFieldGrp -q -tx pool`; if ($submitPool != "") { $renderString += (" -pool " + $submitPool); } //EXTRA PARAMETERS //set the global vars global string $submitImageName; global string $submitRenderDir; global string $submitOutputFormat; global string $submitResolution; global int $submitXResolution; global int $submitYResolution; global string $submitAspectRatio; global int $submitIntRenderRGB; global string $submitRenderRGB; global int $submitIntRenderAlpha; global string $submitRenderAlpha; global int $submitIntRenderDepth; global string $submitRenderDepth; global int $submitIntIgnoreImagePlane; global string $submitIgnoreImagePlane; global string $submitCameraOverride; global string $submitExtraParameters; global string $submitExtra; //start of $submitExtra string $submitExtra = " -extra \""; //recupero le variabili e le aggiungo man mano alla $submitExtra //got those vars and add it to the string $submitExtra //image name $submitImageName = `textFieldGrp -q -tx imageName`; if ($submitImageName != "") { $submitExtra += (" -im " + $submitImageName); } //render directory $submitRenderDir = `textFieldGrp -q -tx renderDir`; if ($submitRenderDir != "") { $submitExtra += (" -rd " + $submitRenderDir); } //output format $submitOutputFormat = `optionMenuGrp -q -v outputFormat`; if ($submitOutputFormat != "default") { $submitExtra += (" -of " + $submitOutputFormat); } //resolution $submitXResolution = `intFieldGrp -q -v1 resolution`; $submitYResolution = `intFieldGrp -q -v2 resolution`; if (($submitXResolution != 0) && ($submitYResolution != 0)) { $submitResolution = (" -x " + $submitXResolution + " -y " + $submitYResolution); $submitExtra += $submitResolution; } /* //aspect ratio $submitAspectRatio = `textFieldGrp -q -tx aspectRatio`; if ($submitAspectRatio != "") { $submitExtra += (" -ard " + $submitAspectRatio); } //RGB $submitIntRenderRGB = `checkBox -q -v renderRGB`; if ($submitIntRenderRGB != "") { if ($submitIntRenderRGB == 0) { $submitRenderRGB = "no"; } else { $submitRenderRGB = "yes"; } //$submitExtra += (" -rgb " + $submitRenderRGB); } //ALPHA $submitIntRenderAlpha = `checkBox -q -v renderAlpha`; if ($submitIntRenderAlpha != "") { if ($submitIntRenderAlpha == 0) { $submitRenderAlpha = "no"; } else { $submitRenderAlpha = "yes"; } //$submitExtra += (" -alpha " + $submitRenderAlpha); } //DEPTH $submitIntRenderDepth = `checkBox -q -v renderDepth`; if ($submitIntRenderDepth != "") { if ($submitIntRenderDepth == 0) { $submitRenderDepth = "no"; } else { $submitRenderDepth = "yes"; } //$submitExtra += (" -depth " + $submitRenderDepth); } //ignore image plane $submitIntIgnoreImagePlane = `checkBox -q -v IgnoreImagePlane`; if ($submitIntIgnoreImagePlane != "") { if ($submitIntIgnoreImagePlane == 1) { $submitExtra += (" -iip" ); } } //camera override $submitCameraOverride = `textFieldGrp -q -tx cameraOverride`; if ($submitCameraOverride != "") { $submitExtra += (" -cam " + $submitCameraOverride); } */ //extra parameters $submitExtraParameters = `textField -q -tx stringExtraParameters`; if ($submitExtraParameters != "") { $submitExtra += (" " + $submitExtraParameters); } //end of $submitExtra string $submitExtra += "\""; //add the $submitExtra to the $renderString $renderString += $submitExtra; //ADVANCED PARAMETERS //set the global vars global string $submitRenderByFrames; global string $submitRenumberStart; global string $submitRenumberBy; global string $submitLogPath; //got those vars and add one by one to the $renderString $submitRenderByFrames = `textFieldGrp -q -tx renderByFrames`; if ($submitRenderByFrames != "") { $renderString += (" -sequenceby " + $submitRenderByFrames); } $submitRenumberStart = `textFieldGrp -q -tx renumberStart`; if ($submitRenumberStart != "") { $renderString += (" -renumberstart " + $submitRenumberStart); } $submitRenumberBy = `textFieldGrp -q -tx renumberBy`; if ($submitRenumberBy != "") { $renderString += (" -renumberby " + $submitRenumberBy); } $submitLogPath = `textFieldButtonGrp -q -tx logPath`; if ($submitLogPath != "") { $renderString += (" -logpath " + $submitLogPath); } //****** RENDER!!! ******** print $renderString; system("start " + $renderString); } //get the render range from the timeSlider global proc timeSliderRender () { float $minTimeSlider = `playbackOptions -q -min`; float $maxTimeSlider = `playbackOptions -q -max`; string $renderRange = $minTimeSlider + "-" + $maxTimeSlider; textFieldButtonGrp -e -text $renderRange range; } //procedure to select the render directory global proc int selectDir( string $dirName, string $fileType ) { textFieldButtonGrp -e -text $dirName renderDir; return 1; } //procedure to select the directory where the log will be save global proc int selectDirLogPath( string $logPathName, string $fileType ) { textFieldButtonGrp -e -text $logPathName logPath; return 1; } //procedure to select the scene file global proc int selectSceneFile( string $sceneName, string $fileType ) { textFieldButtonGrp -e -text $sceneName sceneName; string $tokenFileToRender[]; $numTokens = `tokenize $sceneName "//" $tokenFileToRender`; string $jobName = ("alien: " + $tokenFileToRender[$numTokens -1]); textFieldGrp -e -text $jobName jobName; return 1; } global proc alienSmedgeGUI7() { //get the active render engine string $renderEngine = currentRenderer(); int $renderEngineValue = 1; if ($renderEngine == "mentalRay") { $renderEngineValue = 2; } if ($renderEngine == "mayaHardware") { $renderEngineValue = 3; } if ($renderEngine == "mayaVector") { $renderEngineValue = 4; } //get the file name string $fileToRender = `file -q -sn`; //job name, as file name whitout extension and the prefix "alien: " string $tokenFileToRender[]; $numTokens = `tokenize $fileToRender "//" $tokenFileToRender`; string $jobName = ("alien: " + $tokenFileToRender[$numTokens -1]); //project directory string $pathProgetto = `workspace -q -act`; global string $alienSmedgewin = "alienSmedgeGUI"; if (`window -ex $alienSmedgewin`) { deleteUI $alienSmedgewin; } window -t "alienSmedgeGUI for Maya 7" -rtf 1 -w 400 -h 100 -s 1 -mnb 1 -mxb 0 $alienSmedgewin; formLayout formGenerale; scrollLayout -cr 1 Scroll; columnLayout -w 420 -columnWidth 420 -adjustableColumn false -cal "center" -rowSpacing 5 -cat "left" 10 MainColumn; // *** basicInfo frameLayout -w 420 -label "Basic Informations" -collapse false -collapsable true -bs "etchedOut" basicInfo; formLayout -w 420 basicForm; textFieldButtonGrp -label "Scene Name1" -tx $fileToRender -buttonLabel " ... " -bc "fileBrowserDialog -m 0 -ft \"mayaAscii\" -fc \"selectSceneFile\" -an \"Select\";" sceneName; textFieldGrp -label "Job Name" - text $jobName jobName; intSliderGrp -min 1 -max 100 -value 100 -step 1 -label "Priority" -field true priority; radioButtonGrp -numberOfRadioButtons 2 -label "Processes" -labelArray2 "One per engines" "One per CPU" -cw 1 100 -cw 2 100 -sl 2 processes; textFieldGrp -label "Pool Name" - text "" pool; textFieldGrp -label "Notes" - text "" notes; formLayout -e //layout object selection -af sceneName "left" 0 -af sceneName "top" 10 -af jobName "left" 0 -ac jobName "top" 4 sceneName -af priority "left" 0 -ac priority "top" 4 jobName -af processes "left" 41 -ac processes "top" 4 priority -af pool "left" 0 -ac pool "top" 4 processes -af notes "left" 0 -ac notes "top" 4 pool basicForm; setParent MainColumn; // *** specificParameters frameLayout -w 420 -label "Specific Parameters" -collapse false -collapsable true -bs "etchedOut" specificParameters; formLayout -w 420 specificParametersForm; textFieldButtonGrp -label "Render Range" -text "" -bc "timeSliderRender()" -bl " TS " range; intSliderGrp -min 1 -max 50 -value 5 -step 1 -label "Packet Size" -field true packetSize; textFieldGrp -label "Maya Project" -text $pathProgetto project; formLayout -e //layout object selection -af range "left" 0 -af range "top" 10 -af packetSize "left" 0 -ac packetSize "top" 4 range -af project "left" 0 -ac project "top" 4 packetSize specificParametersForm; setParent MainColumn; // *** extraParameters frameLayout -w 420 -label "Extra Parameters" -collapse false -collapsable true -bs "etchedOut" extraParameters; formLayout -w 420 extraParametersColumn; textFieldGrp -label "Image Name" -text "" imageName; textFieldButtonGrp -label "Render Directory" -text "" -buttonLabel " ... " -bc "fileBrowserDialog -m 4 -fc \"selectDir\" -ft \"directory\" -an \"Select\";" renderDir; optionMenuGrp -label "Output Format" outputFormat; menuItem -label "default"; menuItem -label "bmp"; menuItem -label "cineon"; menuItem -label "gif"; menuItem -label "iff"; menuItem -label "iff16"; menuItem -label "jpeg"; menuItem -label "quantel"; menuItem -label "tla"; menuItem -label "sgi"; menuItem -label "sgi16"; menuItem -label "softimage"; menuItem -label "targa"; menuItem -label "tiff"; menuItem -label "tiff16"; intFieldGrp -numberOfFields 2 -label "Resolution" -extraLabel "pixel" resolution; text -label "* 0x0 means no resolution override" resInfo; //textFieldGrp -label "Aspect Ratio" -text "" aspectRatio; //checkBox -label "Render RGB" -value true renderRGB; //checkBox -label "Render Alpha" -value true renderAlpha; //checkBox -label "Render Depth" -value false renderDepth; //checkBox -label "Ignore Image Plane" -value false IgnoreImagePlane; //textFieldGrp -label "Camera Override" -text "" cameraOverride; text -label "Extra Parameters" textLabel; textField -w 241 stringExtraParameters; formLayout -e //layout object selection -af imageName "left" 0 -af imageName "top" 10 -af renderDir "left" 0 -ac renderDir "top" 4 imageName -af outputFormat "left" 62 -ac outputFormat "top" 4 renderDir -af resolution "left" 0 -ac resolution "top" 4 outputFormat -af resInfo "left" 140 -ac resInfo "top" 4 resolution //-af aspectRatio "left" 0 -ac aspectRatio "top" 4 resInfo //-af renderRGB "left" 141 -ac renderRGB "top" 4 aspectRatio //-af renderAlpha "left" 141 -ac renderAlpha "top" 4 renderRGB //-af renderDepth "left" 141 -ac renderDepth "top" 4 renderAlpha //-af IgnoreImagePlane "left" 141 -ac IgnoreImagePlane "top" 4 renderDepth //-af cameraOverride "left" 0 -ac cameraOverride "top" 4 IgnoreImagePlane -af textLabel "left" 51 -ac textLabel "top" 5 resInfo -af stringExtraParameters "left" 139 -ac stringExtraParameters "top" 4 resInfo extraParametersColumn; setParent MainColumn; // *** advancedParameters frameLayout -w 420 -label "Advanced Parameters" -collapse false -collapsable true -bs "etchedOut" advancedParameters; formLayout -w 420 advancedParametersColumn; textFieldGrp -label "Render By Frames" -text "" renderByFrames; textFieldGrp -label "Renumber Start" -text "" renumberStart; textFieldGrp -label "Renumber By" -text "" renumberBy; textFieldButtonGrp -label "Log Path" -text "" -buttonLabel " ... " -bc "fileBrowserDialog -m 4 -fc \"selectDirLogPath\" -ft \"directory\" -an \"Select\";"logPath; formLayout -e //layout object selection -af renderByFrames "left" 0 -af renderByFrames "top" 10 -af renumberStart "left" 0 -ac renumberStart "top" 4 renderByFrames -af renumberBy "left" 0 -ac renumberBy "top" 4 renumberStart -af logPath "left" 0 -ac logPath "top" 4 renumberBy advancedParametersColumn; setParent MainColumn; setParent -top; $submitButton= `button -h 25 -label "SUBMIT RENDER" -command "submitRender()"`; $resetButton= `button -h 25 -label "RESET VALUES" -command "alienSmedgeGUI()"`; $exitButton= `button -h 25 -label "EXIT" -command "evalDeferred \"deleteUI alienSmedgeGUI\";"`; formLayout -edit -attachForm $submitButton "left" 2 -attachForm $submitButton "bottom" 2 -attachPosition $submitButton "right" 0 50 -attachControl $resetButton "left" 2 $submitButton -attachForm $resetButton "bottom" 2 -attachPosition $resetButton "right" 0 75 -attachControl $exitButton "left" 2 $resetButton -attachForm $exitButton "bottom" 2 -attachForm $exitButton "right" 2 -attachForm Scroll "top" 1 -attachForm Scroll "left" 1 -attachForm Scroll "right" 1 -attachControl Scroll "bottom" 2 $submitButton formGenerale; showWindow; timeSliderRender(); }