Skip to content
This repository has been archived by the owner on Jul 21, 2022. It is now read-only.

POC for Maya Conductor Module and Conductor Menu #271

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

lawschlosser
Copy link
Contributor

@lawschlosser lawschlosser commented Dec 6, 2019

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).

conductor_plugin_manager


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_plugin
We 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).

image

This requires the user to set
MAYA_MODULE_PATH=<conductor_client>/maya_plugin
Copy link
Contributor

@hoolymama hoolymama left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants