Introduction:


The  "Add to render queue" button in the render panel permits to send a batch of Mistika render jobs ( .rnd files ) to external render farms, or to pass those files to user defined scripts.


Please note that this tool require some preparation and it is not really necessary for simple cases. If what you want is to just render a batch of shots then you can  simply drag & drop the next camera files to the Timeline to create new shots. Then, activate the All Shots option in the render panel and it will render all of them.


But if you need more powerful render management, then the Add to render queue  button is the right tool to use, in combination with a external render manager 


Add to render queue - Main Purposes:


- To integrate with external batch manager tools and external render managers. These are specialized applications that permit to organise your render jobs in different ways. For example, render jobs can be added to render queues for posterior execution (for example during the night), change their priorities on the fly, stop / resume jobs as needed, etc.


- To use a external render manager to render in parallel a single enumerated sequence (.dpx, .tiff, .jpg)  in multiple computers  (with each node rendering different frames of the same clip)


- To use a external render manager to render a different movie file (.mov, .avi...) on each render node. Movie files can not be rendered by parts (only  enumerated sequences can), but movie files can still be distributed by ordering one movie file to each render node.


- To execute user scripts to automate production workflows (for example, to deliver VR stitchs that are already finished to a Mistika Ultima system )



Configuration in the Mistika VR side:


The Render -> Add to render queue button works both in Current shot and All shots modes. In the second case, a whole batch of Mistika render jobs ( .rnd files) is created first,  and then a set of command lines are executed for each of the .rnd files in that batch.  


The command lines are stored in a configuration file,  runBatch.cfg, which can be configured in the File->Options menu.  This menu provides a graphics interface to integrate with the most common render managers: Mistika Ultima BatchManager, Uberware Smedge, and ThinkBox Deadline.


For more advanced usage or to integrate with other applications,  the user can put all the command lines that he wants to be executed in the runBatch.cfg, passing the path of each .rnd file to them and also any parameters requiring variable substitution (the full list of available variables is given in the configuration file as a reference).  


Supported render managers:


A render manager is an application that provides batch processing for render jobs, and the capability to distribute render jobs between multiple computers, monitoring their progress and managing all aspects of the render nodes. 


Most of these applications are agnostic about the actual render software, which needs to be installed separately. In this context, the actual renderer (Mistika VR in this case) can be connected to the render manager by providing a description of  its command line interface (CLI), which requires a different configuration process for each of those applications. (explained below).  


From that point, using the Add to render queue button the user does not need to type any command line each time. Once the commands are defined in the configuration file the Add to render queue button will execute them for each render job. 


These are the render managers that are available in the File->Options->BatchManager menu by default:


- Mistika BatchManager and Mistika Ultima:  


It is the usual render manager that is available in all Mistika Ultima environments (these render farms are linux only, but you can still submit rnd jobs to it from any other platform ). 


Once it is selected, the Add to render queue button will copy the rnd files to a Mistika Ultima folder (either to render them with Mistika BatchManager or to open them in Mistika Ultima). The configuration file also offer parameters for path translation, so it can replace local paths for the corresponding paths in Mistika Ultima systems (the complete instructions are in the configuration file)


Note: Another usage of this mode (another example in the configuration file) is to send rnd jobs to a folder accessible to a Mistika Ultima system in order to be opened on it (rather than rendering them directly) while producing path translation as necessary.  This workflow is equivalent to opening a Mistika VR sequence in a Mistika Ultima system, but without the need to relink the media files,  as the path translation is made on the fly during the copy process.


- Uberware Smedge: 


It is a third party multi-platform render manager,  developed by Uberware. It works on Windows, Mac, and Linux. It is probably the easiest render manager to setup, as it provides a lot of automated configuration. For that reason we have also tried to simplify our side of the integration as much as possible. It should work as follows:


1 - First thing, make sure that all the computers are sharing a common storage volume for the source files and rendered files. Check that Mistika VR can read the media files from those volumes and also render on them, otherwise nothing is going to work properly on the next steps (except if you only plan to use Smedge in the local computer only , which also makes sense as a simple Batch processor ). 


2 -  In all the render nodes, install both Mistika VR and Smedge (you can find Smedge at  http://www.uberware.net/ ). 


Make sure that all nodes have the corresponding licenses as necessary, and test that they can render using Mistika VR as usual, without using the Add to render queue function yet (obviously, it does not make sense to try the integration functions with Smedge until MistikaVR is rendering correctly by itself).  


3 - Copy the attached Smedge module file  ( MistikaVR.psx) to the "Modules" folder of the Smedge installation  ( for example: C:\Program FIles\Smedge\Modules ). Then start Smedge (or restart it if it was active, to refresh the modules list).  


Note: The MistikaVR.psx that comes with Smedge 2018 is only valid for MistikaVR versions older than 8.8.6. For 8.8.6 and later use the attached .psx module.


From that point, Smedge should already offer "Mistika VR" as an available job type. (for more details please read the Smedge documentation about creating jobs).  


NOTE: The .psx module file is the same for Windows, Mac, and Linux, only the Modules folder location will change. 


4 - In MistikaVR, press  File->Options->BatchManager.  It will offer several configuration options, just choose the one to Send .rnd jobs to Smedge


From that point, every time you execute the Add to render queue button it will submit the render jobs to Smedge (one per shot), rather than rendering them directly.  


Later, if you want to use a different render manager or add user scripts you can change it in the File->Options menu.


Note: In the case of Smedge, it provides its own system for path translation, in case that the file paths are different on each of your systems. For more details please search for "Path Translation" on the Smedge documentation. MistikaVR may also provide path translation abilities starting in version 8.8.6 and later. Use what is more convenient for you.


Note: The Smedge progress bar is based on counting the number of rendered files. Enumerated sequences will show a progressive bar, but movie files will jump from 1% to 100% in one step. This is the expected behaviour, as a movie file is just one file. However, you can still see the frame number being rendered in the metadata columns at the right of the progress bar. 


- Thinkbox Deadline:


The instructions for the integration with Thinkbox Deadline are here: 


https://docs.thinkboxsoftware.com/products/deadline/10.0/1_User%20Manual/manual/app-mistikavr.html


Please note that the Mistika executables path has changed since the original document. You may need o adjust to your installation paths.


Compatibility with other render managers and workflow automation tools:


In principle, the Add to render queue  function should be compatible  with any render manager that permits to submit jobs by command line. This is because this tool can  execute one or more user defined command lines for each rnd job, also passing the path to the rnd file as a parameter and performing variable substitution for other common parameters in the command line (start frame, end frame, media paths, etc).  


However, in the other side of the connection many render managers also require a plugin or a configuration file to describe the command line interface (CLI) of each product that they support.  If your render manager does not have your Mistika product on the list or if you are integrating with your own workflow tools then you will need to make that missing piece, for which  you can find the necessary information in the Mistika CLI document.  


Support services and trouble shooting:  


A characteristic of most render farms is that they are based on a combination of products from different manufacturers. Then, in the case of problems the first thing is to isolate which product is creating the problem (logically, each of the providers can only help you with the configuration of their own products). We recommend the following procedure to find where the problem comes from and which support services need to be contacted:


Recommended support procedure:


- First thing check that all your network and shared storage volumes are working correctly on all computers before installing any render farm management software , as network and permission issues  are the most common source of problems in a render farm. 


Specifically, test that you can can access all source  files and overwrite render folders from all the computers without any permission problems.  If you detect problems on this preliminary tests then please contact your  system administrator, and do not continue with the next points until this part works perfectly. It is highly recommended to start with a working network and fully operational network drives before installing any render farm manager software on it, otherwise they may fail to execute any automated configuration provided by their installer tools,  and when you finally fix your network then you may end with a configuration mess that may need manual tweaking for everything.  


- If the problem has appeared later, then a useful test is to configure your local system as the only render node, and test the connectivity between Mistika VR and Smedge (or any other render manager you use) locally on that single node.  If the integration works well on each computer  but not when you add them together then the cause of the problem is probably a network issue. In particular, check that all your computers are discoverable in the network, as the render managers will probably use that function. (in the case of Windows, make sure to activate Network Settings->SharingOptions->Turn on Network Discovery). And make sure that the firewalls and antivirus software are not blocking any necessary connection (if possible, deactivate them for a while and reactivate them when it works)


- Once the above problems are discarded,  check if Mistika VR can render normally on each render node using the shared network drives (without using Add to render queue or any render manager yet). 


- Once that Mistika VR standalone render is working well in all computers using the shared volumes then the only piece that is left is the render manager configuration. That should be the last piece to be installed and configured,  and their documentation and support services will be the ones to be used  for this purpose.



ATTACHMENTS 


MistikaVR.psx  module for Smedge -  Only for MistikaVR version 8.8.6 and later   


- MistikaVR versions older than 8.8.6  need to use the  .psx module that comes included with Smedge 2018.


- MistikaVR  8.8.6 and later versions will  need to install  the attached  .psx module:  Copy it to the Smedge "Modules" folder and restart Smedge.  


(Current .psx version: 2th June 2018. Please note that this file may change over the time )


Note for users with installation paths different than default: 


The .psx module file will tell Smedge how to build the path to find the vr renderer.  For example, If your vr executable is in this folder:


C:\Program Files\SGO Apps\Mistika VR\bin\vr.exe


It will need a .psx file with this section:


[ FindLatestExecutable ] 

WindowsRoots = C:\Program Files\SGO Apps

WindowsBases = Mistika VR

WindowsExe = bin\vr.exe