Rudi Hammad
2018-08-03 06:00:41 UTC
Hello,
although this a C++ question, I think it is okey to post it here since it
is Maya's API related.
So, I recently started writing plug-ins in C++ and I am planning on
freelancing rigs that use those plugins. Simply put: I want the clients to
use the rigs with the C++ plugins nodes, but I don't want them to be able
to create the node.
The reason why I want this is because if I spend months or a year of hard
work developing a muscle plugin, the client can ask me for 1 rig, and then
rip off the plugin and keep it to him self. So without going into license
stuff I thought that
maybe in C++ we have more protection measures?
This is what I have done so far to protect the plugin:
1-Build the plug-in in release mode (apparently in debug mode you can hack
it somehow, at least that's what a college told me when I was working at
MPC)
2-Delete everything in the scene if a disconnection is detected in the node
with:
connectionBroken(const MPlug& plug, const MPlug& otherPlug, bool asSrc)
3-Delete everything in the scene if the node is duplicated with:
::copyInternalData(MPxNode* node)
But the main problem is that you still can simple write
*cmds.createNode("theNode")* to create a new node. So the previous measures
are useless.
Any ideas?Maybe doing something after the maya scene was opened and loaded
the plugins?
Thanks,
R
although this a C++ question, I think it is okey to post it here since it
is Maya's API related.
So, I recently started writing plug-ins in C++ and I am planning on
freelancing rigs that use those plugins. Simply put: I want the clients to
use the rigs with the C++ plugins nodes, but I don't want them to be able
to create the node.
The reason why I want this is because if I spend months or a year of hard
work developing a muscle plugin, the client can ask me for 1 rig, and then
rip off the plugin and keep it to him self. So without going into license
stuff I thought that
maybe in C++ we have more protection measures?
This is what I have done so far to protect the plugin:
1-Build the plug-in in release mode (apparently in debug mode you can hack
it somehow, at least that's what a college told me when I was working at
MPC)
2-Delete everything in the scene if a disconnection is detected in the node
with:
connectionBroken(const MPlug& plug, const MPlug& otherPlug, bool asSrc)
3-Delete everything in the scene if the node is duplicated with:
::copyInternalData(MPxNode* node)
But the main problem is that you still can simple write
*cmds.createNode("theNode")* to create a new node. So the previous measures
are useless.
Any ideas?Maybe doing something after the maya scene was opened and loaded
the plugins?
Thanks,
R
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/64a4e39d-3ea7-495e-9f36-16c734d73faa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/64a4e39d-3ea7-495e-9f36-16c734d73faa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.