How do i check if another Plugin is loaded in Python?
-
My code depends on another Plugin to be completely loaded before it can be executed. How do ich check this in Code?
I once got advice from @ferdinand to wait for All-Plugins-Start:
"..I assume it is a plugin tied into PluginStart()? Be aware that depending on the plugin message, Cinema 4D might not yet have booted fully, you should not rely on the active document and similar things before C4DPL_STARTACTIVITY has been emitted. The earlier you are in the boot process, the less libraries and systems will work.."But i logged those out and it always seemed to be called before the commandline arguments are processed. If this is recieved what guarantees do i have on the other plugin black boxes?
That all have completed loading? Including gui-components? Is there another way to check if any plugin python is busy in the background?
Regards Florian
-
Hello @fss,
Thank you for reaching out to us. I understand your general question, but some aspects are unclear to me.
- What plugin interfaces/hooks are involved (
CommandData
,ObjectData
, ...)? - Your posting somewhat implies that you want to rely inside
PluginStart
(which is not technically part of a plugin interface) on another plugin being loaded, is that true? - If you are in
PluginStart()
, at which boot message (the ones emmited toPluginStart
) are you trying to determine if some pluginX
has been registered?
But i logged those out and it always seemed to be called before the commandline arguments are processed.
- I am not quite sure what is meant with 'logged those out' here?
The quick answer is to call c4d.plugins.FindPlugin to determine if a plugin is accessible, but depending on what you are trying to do, this might not the right way.
Cheers,
Ferdinand - What plugin interfaces/hooks are involved (