POC for Maya Conductor Module and Conductor Menu#271
POC for Maya Conductor Module and Conductor Menu#271lawschlosser wants to merge 2 commits intomasterfrom
Conversation
This requires the user to set MAYA_MODULE_PATH=<conductor_client>/maya_plugin
hoolymama
left a comment
There was a problem hiding this comment.
Menu looks great! With "About" and "Help" etc. It gives Conductor a more tightly integrated feel, and sends the signal that we know what we're doing in Maya and we follow Maya conventions.
It's always difficult to make comments that correctly apply to how extensive the work is intended to be. With that disclaimer out the way...
Have you tried PyMEL? It's way better for scripting in Maya - more pythonic and object-oriented than maya.cmds, which is just a thin wrapper around MEL.
Python in maya done right
Why PyMEL
Will the "submit" button submit the job immediately or bring up the UI? It looks like it submits, but in Maya you'd normally have a [] next to the button to bring up the optional UI to change values if there are any. (The values in the UI would typically be handled by optionVars, but switching that would turn this into a major project.)
A better name for the folder might be maya_module because it's not really a plugin in Maya terminology - it doesn't appear in the plugin window and pluginInfo doesn't know about it etc.
Having said that, I think it should be a plugin. The main difference is that you'd call build_conductor_menu() from the registerPlugin() method, and remove it in unregisterPlugin(). Example: see what goes on in the Cache menu when you load and unload the Alembic plugins. It gives the user the ability to control Conductor's presence in Maya without uninstalling Conductor from the machine. The mod file takes care of the plugin path.
I don't think Clean Scene is something we should provide (if it's the same as New Scene)?
This has the benefit of giving customers greater control of whether they want conductor loaded or not. Note that this approach will NOT pollute the user's maya scene with Conductor dependencies/nodes (since conductor doesn't register any nodes/commands etc).
78c6c78 to
8225378
Compare
NOT FOR MERGING. PROOF OF CONCEPT ONLY
UPDATE 2019.12.06
Per @hoolymama's comment, this POC has been updated to use maya's plugin registry (instead of relying on userSetup.py). This has the benefit of giving customers greater control of whether they
want conductor loaded or not. Note that this approach will NOT pollute the user's maya scene with
Conductor dependencies/nodes (since conductor doesn't register any nodes/commands etc).
This PR functionally demonstrates (crudely) how we could make use of maya's Module mechanism to load the conductor plugin/lib within maya.
We would need to set
MAYA_MODULE_PATH=<conductor_client>/maya_pluginWe would no longer need to set the
XBMLANGPATH.Additionally, this PR adds a Conductor menu to Maya's main window. This would replace/supplant conductor's maya shelf/button (and we would no longer need to set
MAYA_SHELF_PATH).