// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== global int $localHostRenderStatus = 0; global int $gNumProcessorsForBatchRender = 0; global string $remoteMachineNameToRender = ""; global proc updateHowManyProcs() { global int $gNumProcessorsForBatchRender; int $enabled; if (`checkBoxGrp -q -v1 useAllProcs`) { $enabled = false; $gNumProcessorsForBatchRender = 0; } else { $enabled = true; $gNumProcessorsForBatchRender = `intFieldGrp -q -v1 howManyProcs`; } intFieldGrp -edit -enable $enabled howManyProcs; batchRender -n $gNumProcessorsForBatchRender; } global proc updateBatchRenderWindowTitle() { global string $gBatchRenderWindow; if (`window -q -exists $gBatchRenderWindow`) { string $title; if (`getAttr "defaultRenderGlobals.animation"`) { $title = (uiRes("m_batchRenderWindow.kBtachRenderAnimation")); } else { $title = (uiRes("m_batchRenderWindow.kBatchRenderFrame")); } window -edit -t $title $gBatchRenderWindow; } } global proc updateBatchRenderOptionsWindow() { string $curRenderer = currentRenderer(); string $cmd = `renderer -q -batchRenderOptionsProcedure $curRenderer`; if ($cmd == "") { string $msg = (uiRes("m_batchRenderWindow.kWarningMessage")); $msg = `format -stringArg $curRenderer $msg`; warning ($msg); $cmd = "nullBatchRenderOptionsWindow"; } eval($cmd); } global proc nullBatchRenderOptionsWindow() { // Boilerplate code which also exists in batchRenderWindow() and // mentalrayBatchRenderOptionWindow(). global string $gBatchRenderWindow = "batchRenderWnd"; if (! `window -q -exists $gBatchRenderWindow`) { source "batchRenderWindow"; createBatchRenderOptionsLayout(); } // Select the correct tab tabLayout -edit -selectTab nullBatchOptionsTab batchRenderOptionsTabs; showWindow $gBatchRenderWindow; } global proc batchRenderWindow() { global int $gNumProcessorsForBatchRender; global int $localHostRenderStatus; global string $remoteMachineNameToRender; global string $gBatchRenderWindow = "batchRenderWnd"; if (! `window -q -exists $gBatchRenderWindow`) { createBatchRenderOptionsLayout(); } // Set correct parent // setParent mayaSoftwareBatchOptionsTab; if(! `checkBoxGrp -q -exists useAllProcs` ){ // The layout controls don't exist yet, so create them setUITemplate -pushTemplate DefaultTemplate; if (!`about -nt` && !`about -mac`) { radioButtonGrp -nrb 2 -label (uiRes("m_batchRenderWindow.kRenderingCPU")) -label1 (uiRes("m_batchRenderWindow.kLocal")) -label2 (uiRes("m_batchRenderWindow.kRemote")) -select ($localHostRenderStatus + 1) -cc1 "setLocalOrRemoteRender 0; textFieldGrp -e -enable 0 remoteMachineName" -cc2 "setLocalOrRemoteRender 1; textFieldGrp -e -enable 1 remoteMachineName" localOrRemoteMachine; textFieldGrp -label (uiRes("m_batchRenderWindow.kRemoteMachineName")) -cc "setRemoteRenderMachine" -tx $remoteMachineNameToRender -enable ($localHostRenderStatus != 0) remoteMachineName; } checkBoxGrp -numberOfCheckBoxes 1 -label1 (uiRes("m_batchRenderWindow.kUseAllAvailableProcessors")) -v1 ($gNumProcessorsForBatchRender == 0) -cc "updateHowManyProcs" useAllProcs; intFieldGrp -label (uiRes("m_batchRenderWindow.kNumberOfProcessors")) -cc "updateHowManyProcs" -v1 $gNumProcessorsForBatchRender -enable ($gNumProcessorsForBatchRender != 0) howManyProcs; setUITemplate -popTemplate; } // Select the correct tab tabLayout -edit -selectTab mayaSoftwareBatchOptionsTab batchRenderOptionsTabs; // Change the title of the window string $title; if (`getAttr "defaultRenderGlobals.animation"`) { $title = (uiRes("m_batchRenderWindow.kBatchRenderAnimation2")); } else { $title = (uiRes("m_batchRenderWindow.kBatchRenderFrame2")); } window -edit -title $title $gBatchRenderWindow; // Change the button command button -edit -command "BatchRender" batchRenderButton; showWindow $gBatchRenderWindow; } global proc setRemoteRenderMachine() { global string $remoteMachineNameToRender; string $remoteName = `textFieldGrp -q -tx remoteMachineName`; batchRender -rm $remoteName; $remoteMachineNameToRender = $remoteName; } global proc setLocalOrRemoteRender(int $status) { global int $localHostRenderStatus; batchRender -um $status; $localHostRenderStatus = $status; }