I am trying to register multiple plugins that are instances of the same class, but do slightly different stuff (in this case construct different menus). I am getting some external data that I would like to put in a dictionary with the plugin ID as keys. I could then get the correct data set for each plugin by comparing the pluginID from e.g. within execute with the pluginIDs in the dictionary. But for that I would need a way to retrieve the pluginID of the class instance whose execute function was called.
Edit: I figured out a way. I can pass the pluginID when initializing the plugin in the register function and save it as a class member in __init__
Not that this is any help, but I'm currently also looking into some other memory leak issues and I get the same leak when running a clean Cinema R20.026.
Just to follow up, what Maxime suggested worked perfectly. No more cheating, basically just
Is there a way to output all renderpaths? Perhaps via the token system?
I tried setting up the token system to get to the render paths, but it seems to me, like it is basically the same as building your own string replacement. You still have to manually input all the relevant stuff in to the dictionary, am I wrong?
If only something like $take is used that might be handy, but if you are e.g. trying to output all paths that have tokens like $take, $pass and $frame and you have to cycle through them manually changing the values in the dictionary then that's not really more practical than just searching for the token string and replacing it.
Am I missing some great functionality of the token system that would allow me to just print all the render output paths?
After a LOT of testing around I finally found the culprit.
The header file was encoded UTF-8 with BOM. I finally figured it out after noticing that two versions of the header file that worked or didn't work had a 3 byte difference in file size. No idea how that snuck in there, but now it finally works.
Also now it makes sense that the error was pointing to line 1.