Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
Windows users reports that C4D R2023.1 my python plugins are throw issues into console: OSError:cannot handle more than 50 object plugins from c4d.plugins.RegisterObjectPlugin(...) line.
OSError:cannot handle more than 50 object plugins
c4d.plugins.RegisterObjectPlugin(...)
C4D R26 has no such issue with same plugin.
Hi @baca there was always the limitation of 50 python plugins by plugin types. So the only solution is to remove some. This topic have been already discussed here.
Cheers, Maxime.
Hi @m_adam, thanks I seen this thread.
So issue is relates to the total python plugins amount installed in user's plugins folder? My customer argues that in R26 there're even more plugins are installed, but it works fine...
As explained in the post I linked the limitation is about Python and for each plugin type you have a limitation of 50 (call to RegisterXXXPlugin), wherever they are installed. So you can have 50 ObjectData and 50 TagData. But you can't have 51 ObjectData (the number of C++ plugins does not count). And there is no workaround.
The limitation is there since R11. Cheers, Maxime.
@m_adam said in Cinema 4D R2023 - c4d.plugins.RegisterObjectPlugin issue:
As explained in the post I linked the limitation is about Python and for each plugin type you have a limitation of 50 (call to RegisterXXXPlugin), wherever they are installed. So you can have 50 ObjectData and 50 TagData. But you can't have 51 ObjectData (the number of C++ plugins does not count). And there is no workaround. The limitation is there since R11.
The limitation is there since R11.
Thanks Maxime,
Any suggestion how to properly handle that kind of issues -- just catch exception and warn user using message box somehow?
Would it be reasonable to switch to NodeData from ObjectData -- does RegisterNodePlugin has separate 50 plugins registrations?
NodeData
ObjectData
RegisterNodePlugin
What's the logic behind plugin initialization order -- alphabetical, date-based, random?
@baca said in Cinema 4D R2023 - c4d.plugins.RegisterObjectPlugin issue:
Correct you can catch the OsError and check if there is the word 50 in the exception message.
Would it be reasonable to switch to NodeData from ObjectData -- It depends of your plugin if this is at the end an ObjectData then it's irrelevant, if this is just an object that you store in a list in memory or in a custom GeListHead then NodeData is perfectly relevant.
does RegisterNodePlugin has separate 50 plugins registrations?
Yes each type have 50 plugins.
Folders from g_additionalModulePath are iterated by alphabetical order and each files are then iterated by alphabetical order too.