addCheckReferenceCallback wont take a function as a parameter

addCheckReferenceCallback wont take a function as a parameter

Anonymous
Not applicable
682 Views
1 Reply
Message 1 of 2

addCheckReferenceCallback wont take a function as a parameter

Anonymous
Not applicable

I'm currently experimenting with the maya.api.OpenMaya.MSceneMessage to get a feel for in what ways this is useable in a larger setup like my current one

addCallback and addCheckCallback both eork ass expected with an integer and function as arguments

addCheckReferenceCallback, however, continiously gives me:  RuntimeError: (kInvalidParameter): Invalid parameter

That error on it's own doesn't tell me much so instead I tried to inspect the method which just tells me it's not a python method (because of course =(  It can't be that easy!)


This is my test code with which I was trying to feel my way through the MSceneMessage class. How on earth is this method wired or is it just impossible to make this work?

import maya.api.OpenMaya as om

class CallbackMsgHandler(object):
    def __init__(self):
        self.bOpenCall = None
        self.bOpenCheckCall = None
        self.bRefCheckCall = None

    def createSceneCallbacks(self):
        self.bOpenCall = om.MSceneMessage.addCallback(om.MSceneMessage.kBeforeOpen, self.bOpenCallback)
        self.bOpenCheckCall = om.MSceneMessage.addCheckCallback(om.MSceneMessage.kBeforeOpenCheck, self.bOpenCheckCallback)
        self.bRefCheckCall = om.MSceneMessage.addCheckReferenceCallback(om.MSceneMessage.kBeforeLoadReference, self.bLoadRefCallback)#om.MSceneMessage.kBeforeLoadReference, self.bLoadRefCallback)

    def bOpenCallback(self, retCode):
        print "Open Callback"
        print self
        print retCode

        return True

    def bOpenCheckCallback(self, retCode):
        print "Open Check Callback"
        print self
        print retCode

        return True

    def bLoadRefCallback(self, retCode, referenceNode, FileObject):
        print "Open Ref Check Callback"
        print retCode
        print referenceNode
        print FileObject

        return True

handler = CallbackMsgHandler()
handler.createSceneCallbacks()







0 Likes
Accepted solutions (1)
683 Views
1 Reply
Reply (1)
Message 2 of 2

Anonymous
Not applicable
Accepted solution

Nevermind it's me.. I'm an idiot I missed the correct scene message by a word

it's kBeforeLoardReferenceCheck and not kBeforeLoadReference....

Don't code when tired you do really dumb things ^^;

0 Likes