Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python 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

    Parameters don't appear in Render Settings tabs

    SDK Help
    0
    8
    777
    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.
    • H
      Helper
      last edited by

      On 03/10/2016 at 06:33, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   R18 
      Platform:   Windows  ;   
      Language(s) :     C++  ;

      ---------
      Hello.

      I have a VideoPostData as render engine.

      Here is my RenderEngineCheck:

      Bool RenderEngineCheck(BaseVideoPost* node, Int32 id) {
      	switch (id) {
      		case RENDERSETTING_STATICTAB_OUTPUT:
      		case RENDERSETTING_STATICTAB_SAVE:
      		case RENDERSETTING_STATICTAB_MULTIPASS:
      		case MY_RENDER_ENGINE_ID:
      			return TRUE;
      	}
      	return FALSE;
      }
      

      The problem is that the contents of Output, Save and Multipass tabs don't appear after I click them. It was working fine in pre R18 versions. Is there anything changed in this part of code ?

      Thank you.

      1 Reply Last reply Reply Quote 0
      • H
        Helper
        last edited by

        On 04/10/2016 at 10:22, xxxxxxxx wrote:

        Hi,

        I'm not aware of any changes in this corner.

        It shouldn't be related to the code snippet you posted, because, if understand you correctly, the groups are actually showing up, but only the content on the right side is missing, when you select them. I can't reproduce this behavior here. So I'm afraid we'll need to slowly close in on this issue.
        Is the page of your VideoPost showing up?
        Do the Output, Save and Multipass pages show up with Standard or Physical renderer (just to be sure, that not the actual resource files are corrupted)?
        Which language do you use for testing (just to be sure we are not having issues with not so common characters)?
        Do you rely on a resource file only or do you have GetDDescription() implemented?
        Sorry, I'm just poking around to get some ideas...

        1 Reply Last reply Reply Quote 0
        • H
          Helper
          last edited by

          On 04/10/2016 at 23:49, xxxxxxxx wrote:

          Hello.

          Originally posted by xxxxxxxx

          It shouldn't be related to the code snippet you posted, because, if understand you correctly, the groups are actually showing up, but only the content on the right side is missing, when you select them.

          Exactly.

          Originally posted by xxxxxxxx

          Is the page of your VideoPost showing up?
          Do the Output, Save and Multipass pages show up with Standard or Physical renderer (just to be sure, that not the actual resource files are corrupted)?

          Yes in both.

          Originally posted by xxxxxxxx

          Which language do you use for testing (just to be sure we are not having issues with not so common characters)?

          C++ in Visual Studio or English (if you mean printing language).

          Originally posted by xxxxxxxx

          Do you rely on a resource file only or do you have GetDDescription() implemented?

          I use my own GetDDescription. When I remove it, the issue remains.

          Thank you for your time.

          1 Reply Last reply Reply Quote 0
          • H
            Helper
            last edited by

            On 05/10/2016 at 11:28, xxxxxxxx wrote:

            Man, you are currently having some hard nuts to crack. 😉
            To be honest, I have no idea, what's going on on your end.
            Could you try to strip your code down, so I could get a simplified version for doing some tests here?

            1 Reply Last reply Reply Quote 0
            • H
              Helper
              last edited by

              On 06/10/2016 at 02:09, xxxxxxxx wrote:

              Hello.

              I have removed as much as possible.
              My PluginStart has only:

              if (!resource.Init()) {
              	return FALSE;
              }
              if (!MyVideoPost::RegisterPlugin()) return FALSE; 
              

              I have removed all the calls from VideoPostData leaving only:

              virtual VIDEOPOSTINFO GetRenderInfo(BaseVideoPost* node);
              virtual Bool RenderEngineCheck(BaseVideoPost* node, LONG id);
              

              Execute and GetDDescription are out.

              Edit: I use R18.026

              Thank you for your time.

              1 Reply Last reply Reply Quote 0
              • H
                Helper
                last edited by

                On 06/10/2016 at 03:37, xxxxxxxx wrote:

                Here is the whole plugin code:

                  
                #include <c4d.h>
                #include <c4d_string.h>
                #include <c4d_baselist.h>
                #include <c4d_videopostdata.h>
                  
                #include "res/c4d_symbols.h"
                #include "res/description/c4d_my_video_post.h"
                  
                #define MY_VIDEO_POST_ID			12345678 
                  
                class MyVideoPost : public VideoPostData {
                    INSTANCEOF(MyVideoPost, VideoPostData)
                  
                public:
                    static Bool RegisterPlugin();
                    static NodeData *Alloc();
                	MyVideoPost();
                    virtual VIDEOPOSTINFO GetRenderInfo(BaseVideoPost* node);
                    virtual Bool RenderEngineCheck(BaseVideoPost* node, Int32 id); 
                };
                  
                  
                Bool MyVideoPost::RegisterPlugin(void){
                	return	RegisterVideoPostPlugin(MY_VIDEO_POST_ID, GeLoadString(MY_VIDEO_POST), 
                			PLUGINFLAG_VIDEOPOST_ISRENDERER | PLUGINFLAG_VIDEOPOST_ISRENDERER_NET, Alloc, "c4d_my_video_post", 0, 0);
                }
                  
                  
                NodeData *MyVideoPost::Alloc() {
                	return NewObjClear(MyVideoPost);
                }
                  
                MyVideoPost::MyVideoPost() {}
                  
                VIDEOPOSTINFO MyVideoPost::GetRenderInfo(BaseVideoPost* node) {
                	return VIDEOPOSTINFO_0 /*| VIDEOPOSTINFO_NETRUNONSERVER*/;
                }
                  
                Bool MyVideoPost::RenderEngineCheck(BaseVideoPost* node, Int32 id) {
                	switch (id) {
                		case RENDERSETTING_STATICTAB_OUTPUT:
                		case RENDERSETTING_STATICTAB_SAVE:
                		case RENDERSETTING_STATICTAB_MULTIPASS:
                		case RENDERSETTING_STATICTAB_OPTIONS:
                		case MY_VIDEO_POST_ID:
                			return TRUE;
                	}
                	return FALSE;
                }
                  
                Bool PluginStart(){
                	if (!resource.Init()) {
                		return FALSE;
                	}
                	if (!MyVideoPost::RegisterPlugin()) return FALSE; 
                	return TRUE;
                }
                  
                void PluginEnd(){
                	
                }
                  
                Bool PluginMessage(Int32 id, void *data) {
                	switch (id)	{
                		case C4DPL_BUILDMENU:
                			break;
                	}		
                  
                	return FALSE;
                }
                

                Thank you.

                1 Reply Last reply Reply Quote 0
                • H
                  Helper
                  last edited by

                  On 06/10/2016 at 07:39, xxxxxxxx wrote:

                  Hi,

                  I'm not sure yet, why this is only a problem in R18, but the reason for your issue is, that you use an inverted logic compared to all of our examples in RenderEngineCheck(). Please change it to return true by default and only false on those you want to deselect. Reason are a bunch of internal id being checked, which in the end cause the problem in your case.

                  1 Reply Last reply Reply Quote 0
                  • H
                    Helper
                    last edited by

                    On 07/10/2016 at 02:02, xxxxxxxx wrote:

                    Hello.

                    That solved the problem.

                    Thank you very much Andreas.

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