Plugin Class IDs
Sparrowhawke3D
Posts: 102
Every plugin needs a unique class ID which goes into the resource statement in the resource file. You also need a unique GUID which is uniquely generated. Menu commands also need a unique resource number which is added to kSDKCmdIDBase or they will clash. (I'm not sure of the scope there across all menus)
I maintain a list of all my IDs in my Laboratory http://www.sparrowhawke3d.com/PluginClassIDs.html.
I'd encourage any other developers to add a list of their IDs here or with a link.
For developers who are no longer active the resource IDs can be found in the .dat file of their plugins (if you have them and find a clash). Menu IDs will be in the .txt file.
Comments
Good idea.
These are mine:
And for the MenuResID
Although I am not the developer of PyCarrara, I did the Mac port, I will disclose it's ClassIDs. No new menu commands (CMNU RsID) are added by PyCarrara.
Please note that the ClassID of PyTweener ('COtw') is the same as the ClassID of the SDK Samples Tweener. If both are installed and used in an loaded scene, it will most likely cause Carrara to crash.
As much as I like this initiative, I find the data fragmented and incomplete. I think what's needed is a database (with search, filter and sort capability) containing data of all Carrara plug-ins (or as much as possible). Data that is crucial for the development of well behaving plug-ins that don't clash with others and don't crash Carrara.
This thread motivated me in exploring and examining how the resouces are organised in a .dat file and how to extract the data from these resouces. With the gained knowledge I started building a Plug-in Database. I will soon open a new thread on this subject.