Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    Cinema 4D R2023 - c4d.plugins.RegisterObjectPlugin issue

    Cinema 4D SDK
    2023 python
    2
    6
    906
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bacaB
      baca
      last edited by

      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.

      C4D R26 has no such issue with same plugin.

      1 Reply Last reply Reply Quote 0
      • M
        m_adam
        last edited by m_adam

        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.

        MAXON SDK Specialist

        Development Blog, MAXON Registered Developer

        bacaB 1 Reply Last reply Reply Quote 0
        • bacaB
          baca @m_adam
          last edited by baca

          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...

          1 Reply Last reply Reply Quote 0
          • M
            m_adam
            last edited by m_adam

            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.

            MAXON SDK Specialist

            Development Blog, MAXON Registered Developer

            bacaB 1 Reply Last reply Reply Quote 0
            • bacaB
              baca @m_adam
              last edited by

              @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.

              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?

              What's the logic behind plugin initialization order -- alphabetical, date-based, random?

              M 1 Reply Last reply Reply Quote 0
              • M
                m_adam @baca
                last edited by

                @baca said in Cinema 4D R2023 - c4d.plugins.RegisterObjectPlugin issue:

                Any suggestion how to properly handle that kind of issues --
                just catch exception and warn user using message box somehow?

                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.

                What's the logic behind plugin initialization order -- alphabetical, date-based, random?

                Folders from g_additionalModulePath are iterated by alphabetical order and each files are then iterated by alphabetical order too.

                Cheers,
                Maxime.

                MAXON SDK Specialist

                Development Blog, MAXON Registered Developer

                1 Reply Last reply Reply Quote 1
                • First post
                  Last post