Time Limit for MSG_DESCRIPTION_CHECKUPDATE
-
'''
Hello PluginCafe!
I need to apply SetDirty() function only after finishing the manipulation process of the desired parameter.
Something like this is implemented in the material preview.
The update takes place only after ~0.5 seconds after finishing the manipulation.

So, I tried to check updates via MSG_DESCRIPTION_CHECKUPDATE and calculate the time by utilizing timeit module
'''
start = timeit.default_timer() #Start Timer if type == c4d.MSG_DESCRIPTION_CHECKUPDATE: if data["descid"][0].id == TEST_SLIDER: #Check if TEST_SLIDERis updated end = timeit.default_timer() #End Timer if end - start > 1: #Do something if time took more than 1 sec self.bmp.SetDirty() node.SetDirty(c4d.DIRTYFLAGS_DATA)But unfortunately, I can't find the solution in the documentation.
What am I doing wrong and how to do this properly?
-
Hello,
you could react to the message
MSG_DESCRIPTION_USERINTERACTION_ENDwhich is sent after the user stopped interacting with the parameter in the Attribute Manager.You find a list of related messages in the NodeData::Message() Manual.
best wishes,
Sebastian -
Is this feature available for Python?
-
Nice
it works with python but how to check only one parameter instead of everything?something like this
if type == c4d.MSG_DESCRIPTION_USERINTERACTION_END: if data["descid"][0].id == TEST_SLIDER: print "Finished" -
Hello,
the message MSG_DESCRIPTION_USERINTERACTION_END has no data. You could store the old value of the parameter in question and check if that value has changed.
best wishes,
Sebastian