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
    • Register
    • Login

    Is there a Message ID for Render Data or Render Document Change?

    Cinema 4D SDK
    python 2023
    3
    4
    561
    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.
    • T
      Thodos
      last edited by

      Hi!
      Is there a way to get a Message ID for Render Document or Render Data change?
      I'm using GeDialog so it would work as a listener and every time render data is changed(or Active Render Document is changed) to react on this event.
      Screenshot_6.png

      Thanks for checking in advance,
      Thodos.

      1 Reply Last reply Reply Quote 0
      • T
        Thodos
        last edited by Thodos

        I found int ID by printing IDs, but would be nice to know c4d.EVMGS !

        ferdinandF 1 Reply Last reply Reply Quote 0
        • ferdinandF
          ferdinand @Thodos
          last edited by ferdinand

          Hello @Thodos,

          thank you for reaching out to us. I would suggest to have a look at our message system manual.

          There are no dedicated messages associated with render data changes. If you want to track render data changes in a document, you will have to cache its state. With the help of a MessageData::CoreMessage method (or the GeDialog method of the same name) you can then listen for c4d.EVMSG_CHANGE and then compare the current state of the render data against your cache. You can of course also use the dirty counters in case that information is enough for you, i.e., when you only want to know that the render data are data container dirty, but do not care what changed in the data container.

          Document loading and unloading events are conveyed by the node message c4d.MSG_DOCUMENTINFO. Due to being a node message, you will need a NodeData::Message method to receive it, i.e., you need to implement some kind of (document bound)[1] node. For anything else, you will have to use c4d.EVMSG_CHANGE too.

          Cheers,
          Ferdinand

          [1] PreferenceData is technically a node, but it will not be included in the MSG_DOCUMENTINFO stream.

          MAXON SDK Specialist
          developers.maxon.net

          J 1 Reply Last reply Reply Quote 0
          • J
            jana @ferdinand
            last edited by

            Hello @Thodos ,

            without further questions or postings, we will consider this topic as solved by Friday, the 11th of august 2023 and flag it accordingly.

            Thank you for your understanding,
            Maxon SDK Group

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