Package: ciomax
Conductor for 3DS Max3ds Max plugin submitter for the Conductor Cloud rendering service.InstallTo install the latest version.pipinstall--upgradeciomax--target=$HOME/ConductorTo install a specific version, for example 0.1.0.pipinstall--upgrade--force-reinstallciomax==0.1.0--target=$HOME/ConductorSetup the Plugin startup file from a command prompt or Powershell on a Windows machine.python~/Conductor/ciomax/post_install.pyNOTEAn alternative is to install from the Plugins page in theConductor Companion appUsageTo set up a render, go toRenderingmenu in 3ds Max and chooseRender with Conductor.For detailed help, checkout thetutorialandreferencedocumentation.ContributingNOTE:These instructions were written from the point of view of a developer coding on Mac or Linux, and where 3ds Max on Windows has access to $HOME/ConductorStaging over the network.Clone the repo.git clone git@github.com:ConductorTechnologies/ciomax.git
cd ciomaxSet up a clean virtual envirionment with Python 2.7 for development (optional).python -m virtualenv venv
. ./venv/bin/activateInstall development dependenciespip install -r requirements_dev.txtBuild and install from this directory into to a convenient location for testing.pip install --upgrade -r requirements.txt --target=$HOME/ConductorStagingWhen you install from the file requirements.txt, the dependency on ciocore is specified as a local sibling of this project, meaning you can develop ciocore and ciomaya in parallel. If you have no interest in using a dev version of ciocore, then replace-r requirements.txtwith a dot.instead.As we are working on a different platform, you'll have to tell 3ds Max on Windows where to find the installation. This means you have to create in MaxScript stub file in one of the locations 3ds Max searches for plugins.Create the following stub file. Te content's must be a location reachable from the Windows machine.%LOCALAPPDATA%\Autodesk\3dsMax\2021 - 64bit\ENU\scripts\startup\ciomax_stub.ms-- Calls the Conductor 3DS Max plugin..
(
  include "Z:\\Mac\\Home\\ConductorStaging\\ciomax\\Conductor.ms"
)NOTEThe above file is created automatically for customers when they use the Companion app, as it runs a post_install script.If you develop natively on Windows, please consider adding your workflow steps to this section.LicenseMITChangelogVersion:0.6.1 -- 10 Nov 2023Files generated during the submission process are now checked for existence before being uploaded. This prevents submission failures caused by latency between shares. The affected files include timestamped scene files and project files for native submissions, ass and remap * files for kick submissions, and vrscene and remap files for Vray submissions.Several changes have been made to ensure compatibility with the latest versions of 3ds Max.We have removed the prerender script that used to set the project in the cloud. We now set an environment variable that serves the same purpose.The submitter uses the correct command line commands to match the installed Max versions: 3dsmaxcmd for version 2023, and 3dsmaxcmdio for versions 2021 and 2024.A bug related to preemptible checkbox has been fixed.We are now using ciocore version 7.0.2 which manages instance type descriptions and ensures there are no duplicates.We have implemented a cap on task count to alleviate stress on the dashboard. When the number of tasks goes over a specified value, frames are chunked.We use an updated dual combo box widget for instance types.Removed the preemptible checkbox when rendering on Coreweave since it is redundant.Version:0.5.17 -- 15 Nov 2022Task template is updated based on render settings. EXR is the default image type. [868d818]Version:0.5.16 -- 26 Aug 2022Submission now respects single frame setting, and no longer generates a range of tasks. [8cb63de]Version:0.5.15 -- 09 Aug 2022Change the load order of our packages so as to avoid conflicts with other packages or versions.Version:0.5.13 -- 28 Jul 2022Change preemptible label to Spot/Preemptible. [0d461ca]Version:0.5.12 -- 25 Jul 2022Max doesn't support color management, so we set abort_on_error to off while exporting so that the render doesn't stop when the OCIO config is not found. [1083175]Version:0.5.11 -- 16 May 2022Explicitly adds the vrscene extension. [ce9ddad]Version:0.5.10 -- 13 May 2022Doesn't use ammendments for submission as it can provide incorrect paths. [512458a]Version:0.5.8 -- 04 May 2022Attempt to become Python 2 compatible so that it works for 3dsMax 2019. [ba7c154]Version:0.5.7 -- 21 Apr 2022Adds validations to block invalid software or instance type fields. [64b0982]Filters out software for which there are no compatible instance types. [a5e0834]Version:0.5.6 -- 19 Apr 2022Adds support for vray scenes that are exported without an extension. [9d1a422]Version:0.5.5 -- 09 Mar 2022Sets up Conductor logging in in the 3dsMax plugin. [7040ff2]Version:0.5.4 -- 06 Mar 2022Adds a function to remove the color management block from 5.x ass files to work around a bug in the Linux build of Arnold 7.x. [465eebd]Version:0.5.3 -- 06 Mar 2022User environment overrides now come after amendments, for ultimate control. [d2e6dfe]Version:0.5.2 -- 03 Mar 2022Adds maxtoa versions: 5.x which maps to (arnold 7.x). [3f5f5a0]Version:0.5.1 -- 25 Jan 2022Internal pipeline changes that do not affect customers.Version:0.5.0 -- 08 Nov 2021The task template command for native 3ds Max renders now contains a preRenderScript flag to run a script that sets the current project. In addition, the project's mxp file is uploaded along with assets. This file specifies a mapping of paths to assets relative to the project. [d58dc9e]The presubmission scripts for different renderers now have a method that is called to get the payload amendments only. It's a kind of dry run. For example, the arnold presubmission script can return the list of ass files to be produced, without actually writing them. This allows you to get an exact representation of the payload in the preview window without waiting for file operations.The test/execute button next to th presubmission script has been removed as it wasn't clear what to expect if you clicked it.Version:0.4.2 -- 02 Nov 2021Fixed regression that caused error an when initializing the submitter in a new scene. [2df84b8]Version:0.4.1 -- 02 Nov 2021Fixed a bug where switching software was failing to switch platform, and therefore instance types were out of sync. This fix only addresses Arnold and the Native renderers, not Vray yet. [c2ec281]Version:0.4.0 -- 28 Oct 2021Adds windows package ids and dependencies. [fe6b801]Version:0.3.7 -- 07 Aug 2021Finalize send-to-Windows code, but disable it until we have Wiundows working on the backend. [983897b]Version:0.3.6 -- 28 Jul 2021Implement max-to-maya mapping to give us access to the latest arnold and allow vetter version
detection and selection of renderer. [d7320a8]Allow failed submission responses to be displayed in the response panel. [9f9997c]Reload only in dev mode, since it can cause unexpected results, such as duplicate validator plugins. [0d54bd5]Inject 3ds Max packages for Windows compatibilty. [e9c8629]Fix bug in post_install script where folder was not prepared before writing. [3438944]Version:0.3.5 -- 25 Jul 2021Use destination token in render templates. [6f17352]Version:0.3.4 -- 25 Jul 2021Catch legacy_max_map_support. [920b6c0]Version:0.3.3 -- 25 Jul 2021Catch empty path. [fde17e1]Version:0.3.2 -- 24 Jul 2021Only reload in dev mode (when CONDUCTOR_MODE env variable is "dev"). [8e54a96]Fix some small bugs that caused the submission to fail.Version:0.3.1 -- 24 Jul 2021Remove custom coloring so that it works in dark and light mode. [6dfba13]Max's own GetAssets function is now called with a flag to get full path. [ca26622]Adds save_max_scene pre-render script, to be consistent with other pre render scripts. [0cc56b4]Adds destinaton token, which can be used in task and pre-sub templates. [184eb4e]Templates now auto-update when software choice changes. [95150a1]Develop renderscope class to put the submitter in the context of the currently chosen renderer. [2720c1f]Version:0.3.0 -- 25 Jun 2021Adds Python3 compatibility including the removal of MaxPlus. [a0648c6]Ensure the destination field always uses forward slashes.Adds a Reconnect button and a Reset UI button.The dialog no longer reconnects every time it's opened. The reconnect button makes that behaviour
redundant.Version:0.2.9 -- 16 Mar 2021Adds slack to config. [6c09f33]Version:0.2.8 -- 12 Mar 2021Add .circleci/config.yml. [c922ffe]Change output path to something simpler: renders. [46aa00d]Version:0.2.5 -- 03 Mar 2021Scenes that used Conductor prior to this release should work fine, however, we recommended to delete theConductorStoreobject and reopen the dialog to get the latest defaults and to avoid unanticipated conflicts.Remove sampling flags from default kick command. [28857a0]Adds a drop-down menu to choose the render camera. The presubmission scripts then attach this camera to the active view so that the vrscene or ass files use it to render through. [f97866c]Changed behavior of the presubmission scriptExecutebutton. It now runs, and then displays thePreviewtab to show you how the fully resolved submission object looks. [35f551a]Presubmission scripts have a different return type. They now return an object the same shape as a regular submission, which means any fields can be amended during presubmission. A concrete example is adding theARNOLD_PATHMAPvariable to the environment. Extra Assets and Environment amendments work, but several fields are yet to be implemented. [d73690c]When rendering ass files, we now generate a path remapping file and set the ARNOLD_PATHMAP variable to point to the file on the remote render nodes. This is required to allow the renderer to find windows paths that start with drive letters on the Linux filesystem. ARNOLD_PATHMAP was introduced in Arnold 6.0.4.0 so we now limit the available versions of mtoa to those later than 4.0.4 for compatibility.This release adds two new validations.  [dcc77e5]Ensure either Vray or Artnold are the selected renderer.Ensure Legacy 3d Maps Support is off when Arnold is the renderer.The<timestamp>token now has 1-second granularity as opposed to 1 minute. This helps to reduce conflicts when 2 jobs are submitted close to each other, especially if using an upload daemon. [0e90e9a]Version:0.2.4 -- 19 Feb 2021Disable pathhelper and add a validator (#8). [c637b36]Improves template command and presubmit script. [1ab2650]Vray presubmit now writes out a remapPathFile, used by the task command. [c6e7136]Fix bug in frame section resolve method. [42c2831]Version:0.2.3 -- 10 Feb 2021Adds validation and confirmation to flow. [4204ed9]Refactor, abstract buttoned panel. [81c0d2a]Displays correctly on high DPI screens such as MBP retina. [c7765b8]Adds icons for validation severity panels. [390aeb8]Reading from saved settings no longer crashes when old scene oppened with missing keys. [74a40ff]Version:0.2.2 -- 02 Feb 2021Set maximum retries to 5. [96fe970]Remove timestamp from renderoutput path template. [6ea4eec]Version:0.2.1 -- 02 Feb 2021Fix export ass script. [e9b53e0]Remove autodefault to stop close on enter. [e6f63e8]Version:0.2.0 -- 01 Feb 2021Bump version file to 0.2.0. [59cd56d]Ct 1568 change software selection to include only Arnold and Vray (#6)Adds a close buttonAdds safe store getters, in case old scene is missing some properties. [fe1300e]Version:0.1.10 -- 24 Jan 2021Save collapsible state of sections between invocations. [2c1b9b3]Adds per-renderer defaults and renderer detection. [0747f07]Version:0.1.9 -- 15 Jan 2021Ass export support and simplified UI. [b14b6b4]Version:0.1.8 -- 07 Jan 2021Require 0.2.17 core which has UNC path support. [8c2ca64]Version:0.1.7 -- 07 Jan 2021Adds presubmit script with test functionality. [1169a6c]Sections namespace and - presubmit script wip. [96ce40f]Version:0.1.6 -- 28 Dec 2020resolve() function works in all sections.. [fb5a765]Version:0.1.5 -- 23 Dec 2020Signals and slots in advanced section. [7f1a220]Assets section store signals and slots. [fadce90]Sots and signals for kvpair widgets: env and metadata. [aba9d1a]Version:0.1.4 -- 17 Dec 2020Frames info calculation working. Remove fixtures directory option (assume ~/Conductor/fixtures). [09236b6]Version:0.1.3 -- 14 Dec 2020Post_install to use ~ because env-vars are invalid in companion. [28d02b4]Version:0.1.2 -- 14 Dec 2020Version:0.1.1 -- 14 Dec 2020Fix path variable bug in post_install. [9bc1984]Fix readme. [43a20e8]Version:0.1.0 -- 14 Dec 2020Post_install and prep for pypi. [fbc9529]Implement software section and provide dialog object to sections. [59ac89f]Populate from store. [e4662c6]Projects and inst types sourced from coredata. [a6197c0]Wip implementing resolve. [18595ce]Consolidate single sections into advanced section. [cd874de]Adds destination path - plus aesthetic improvements. [bcaf90d]Ct 1530 general (#3)