For the curious:

it would seem there's a bug with
api.MNodeMessage.addNodeDirtyPlugCallback in python in maya 2008 -
thankfully, it appears to have been fixed in 2009!

Huzzah!

Anyway, this code seems to fail with maya 2008, and succeeds in
2009...

- Paul

http://pastebin.com/f4332cc67

# test code for MNodeMessage.addNodeDirtyPlugCallback
import maya.OpenMaya as api

nodeName = 'side'

def getMobj(mayaName):
        selList = api.MSelectionList()
        selList.add(mayaName)
        mobj = api.MObject()
        selList.getDependNode(0, mobj)
        return mobj

def plugDirtyCallback(mObj, plug, data):
    print plug, "on", mObj, "was dirtied!"

api.MNodeMessage.registeringCallableScript()
api.MNodeMessage.addNodeDirtyPlugCallback(getMobj(nodeName),
plugDirtyCallback, None)
# Error: in method 'MNodeMessage_addNodeDirtyPlugCallback', argument 2
of type 'MMessage::MNodePlugFunction'
# Traceback (most recent call last):
#   File "<maya console>", line 17, in <module>
# TypeError: in method 'MNodeMessage_addNodeDirtyPlugCallback',
argument 2 of type 'MMessage::MNodePlugFunction' #

--~--~---------~--~----~------------~-------~--~----~
Yours,
Maya-Python Club Team.
-~----------~----~----~----~------~----~------~--~---

Reply via email to