Here you will find documentation on all the descriptions that Cinema 4D currently has. You can list them Alphabetically, by Type or Plugin . The sample Python and C++ code is automatically generated and in some cases may not be 100% correct. If something doesn't work then please refer to the official Cinema 4D SDK documentation for more information.

IDs and information for vpwatermark

vpwatermark

Attributes

  • ENGLISH NAME : Watermark
  • NAME : vpwatermark
  • INCLUDE : VPbase
  • PATH : newman/description/vpwatermark.res
  • PLUGIN : newman
  • MAXON online help (may not exist): VPWATERMARK

Elements

ID UI Name Type Parameters Cycle
VP_WATERMARK_TEXT_ENABLE Enable BOOL  
VP_WATERMARK_TEXT_DYNAMICLAYOUT DynamicLayout BOOL  
VP_WATERMARK_TEXT_SHOWLABELS ShowLabels BOOL  
VP_WATERMARK_TEXT_TIMECODE TimeCode BOOL  
VP_WATERMARK_TEXT_RENDERTIME RenderTime BOOL  
VP_WATERMARK_TEXT_ACTIVECAMERA ActiveCamera BOOL  
VP_WATERMARK_TEXT_DATE Date BOOL  
VP_WATERMARK_TEXT_SCENENAME ProjectName BOOL  
VP_WATERMARK_TEXT_POLYCOUNT PolygonCount BOOL  
VP_WATERMARK_TEXT_C4DVERSION VersionInfo BOOL  
VP_WATERMARK_TEXT_MACHINEINFO MachineInfo BOOL  
VP_WATERMARK_TEXT_TAKE Take BOOL  
VP_WATERMARK_TEXT_CUSTOM Footer BOOL  
VP_WATERMARK_TEXT_CUSTOM_TEXT Text STRING  
VP_WATERMARK_TEXT_CUSTOM_TEXT_PH POPUP  
VP_WATERMARK_TEXT_BG_OPACITY BackgroundOpacity REAL
UNIT PERCENT
MIN 0.0
MAX 100.0
STEP 1.0
CUSTOMGUI REALSLIDER
VP_WATERMARK_TEXT_POS_Y VerticalAlignment LONG  
VP_WATERMARK_POS_TOP Top
VP_WATERMARK_POS_BOTTOM Bottom
VP_WATERMARK_TEXT_FONT Font FONT
SCALE_H
FONTCHOOSER_ENABLE_SIZE
OPEN
VP_WATERMARK_TEXT_COLOR Color COLOR  
VP_WATERMARK_TEXT_BG_COLOR BackgroundColor COLOR  
VP_WATERMARK_IMG_ENABLE Enable BOOL  
VP_WATERMARK_IMG_FILENAME Filename FILENAME ANIM
VP_WATERMARK_IMG_OPACITY Opacity REAL
UNIT PERCENT
MIN 0.0
MAX 100.0
STEP 1.0
CUSTOMGUI REALSLIDER
VP_WATERMARK_IMG_BLENDMODE BlendMode LONG  
VP_IMG_BLENDMODE_NORMAL Normal
VP_IMG_BLENDMODE_LIGHTEN Lighten
VP_IMG_BLENDMODE_DARKEN Darken
VP_IMG_BLENDMODE_MULTIPLY Multiply
VP_IMG_BLENDMODE_ADD Add
VP_IMG_BLENDMODE_OVERLAY Overlay
VP_IMG_BLENDMODE_COLORDODGE ColorDodge
VP_IMG_BLENDMODE_COLORBURN ColorBurn
VP_IMG_BLENDMODE_LINEARDODGE LinearDodge
VP_IMG_BLENDMODE_LINEARBURN LinearBurn
VP_IMG_BLENDMODE_COLOR Color
VP_IMG_BLENDMODE_COLOR_INV Color(inverse)
VP_WATERMARK_IMG_POS_X HorizontalAlignment LONG  
VP_WATERMARK_POS_LEFT Left
VP_WATERMARK_POS_CENTER Center
VP_WATERMARK_POS_RIGHT Right
VP_WATERMARK_IMG_POS_Y VerticalAlignment LONG  
VP_WATERMARK_POS_TOP Top
VP_WATERMARK_POS_CENTER Center
VP_WATERMARK_POS_BOTTOM Bottom
VP_WATERMARK_IMG_MARGIN Margin LONG MIN
VP_WATERMARK_IMG_SCALE Scale REAL
UNIT PERCENT
MIN 0.1
MAX 1000.0
STEP 1.0
VP_WATERMARK_IMG_SCALE_ASPECT KeepAspectRatio BOOL  
VP_WATERMARK_IMG_SCALE_KEEPSIZE KeepOriginalSize BOOL  

Example Code

The following code does not use the correct values when setting the data. You should check directly in C4D for the correct values that you should use in place of the ones that are shown. This code is just to show you how to access the values for getting and setting the parameters.

Python

import c4d
from c4d import gui
def main():
    videoPost = c4d.BaseVideoPost(c4d.vpwatermark)
    
    #You can set parameters two different ways. 
    #First way              
    videoPost[c4d.VP_WATERMARK_TEXT_ENABLE] = True
    videoPost[c4d.VP_WATERMARK_TEXT_DYNAMICLAYOUT] = True
    videoPost[c4d.VP_WATERMARK_TEXT_SHOWLABELS] = True
    videoPost[c4d.VP_WATERMARK_TEXT_TIMECODE] = True
    videoPost[c4d.VP_WATERMARK_TEXT_RENDERTIME] = True
    videoPost[c4d.VP_WATERMARK_TEXT_ACTIVECAMERA] = True
    videoPost[c4d.VP_WATERMARK_TEXT_DATE] = True
    videoPost[c4d.VP_WATERMARK_TEXT_SCENENAME] = True
    videoPost[c4d.VP_WATERMARK_TEXT_POLYCOUNT] = True
    videoPost[c4d.VP_WATERMARK_TEXT_C4DVERSION] = True
    videoPost[c4d.VP_WATERMARK_TEXT_MACHINEINFO] = True
    videoPost[c4d.VP_WATERMARK_TEXT_TAKE] = True
    videoPost[c4d.VP_WATERMARK_TEXT_CUSTOM] = True
    videoPost[c4d.VP_WATERMARK_TEXT_CUSTOM_TEXT] = "Hello World"
    videoPost[c4d.VP_WATERMARK_TEXT_BG_OPACITY] = 0.1
    videoPost[c4d.VP_WATERMARK_TEXT_POS_Y] = c4d.VP_WATERMARK_POS_TOP
    videoPost[c4d.VP_WATERMARK_IMG_ENABLE] = True
    videoPost[c4d.VP_WATERMARK_IMG_FILENAME] = "c:\\SomeFile.txt"
    videoPost[c4d.VP_WATERMARK_IMG_OPACITY] = 0.1
    videoPost[c4d.VP_WATERMARK_IMG_BLENDMODE] = c4d.VP_IMG_BLENDMODE_NORMAL
    videoPost[c4d.VP_WATERMARK_IMG_POS_X] = c4d.VP_WATERMARK_POS_LEFT
    videoPost[c4d.VP_WATERMARK_IMG_POS_Y] = c4d.VP_WATERMARK_POS_TOP
    videoPost[c4d.VP_WATERMARK_IMG_MARGIN] = 1
    videoPost[c4d.VP_WATERMARK_IMG_SCALE] = 0.1
    videoPost[c4d.VP_WATERMARK_IMG_SCALE_ASPECT] = True
    videoPost[c4d.VP_WATERMARK_IMG_SCALE_KEEPSIZE] = True
    
    #Second way, using the base container.
    bc = videoPost.GetDataInstance()
    bc.SetBool(c4d.VP_WATERMARK_TEXT_ENABLE,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_DYNAMICLAYOUT,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_SHOWLABELS,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_TIMECODE,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_RENDERTIME,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_ACTIVECAMERA,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_DATE,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_SCENENAME,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_POLYCOUNT,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_C4DVERSION,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_MACHINEINFO,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_TAKE,True)
    bc.SetBool(c4d.VP_WATERMARK_TEXT_CUSTOM,True)
    bc.SetString(c4d.VP_WATERMARK_TEXT_CUSTOM_TEXT,"Hello World")
    bc.SetFloat(c4d.VP_WATERMARK_TEXT_BG_OPACITY,0.1)
    bc.SetInt32(c4d.VP_WATERMARK_TEXT_POS_Y,c4d.VP_WATERMARK_POS_TOP)
    bc.SetBool(c4d.VP_WATERMARK_IMG_ENABLE,True)
    bc.SetFileName(c4d.VP_WATERMARK_IMG_FILENAME,"c:\\SomeFile.txt")
    bc.SetFloat(c4d.VP_WATERMARK_IMG_OPACITY,0.1)
    bc.SetInt32(c4d.VP_WATERMARK_IMG_BLENDMODE,c4d.VP_IMG_BLENDMODE_NORMAL)
    bc.SetInt32(c4d.VP_WATERMARK_IMG_POS_X,c4d.VP_WATERMARK_POS_LEFT)
    bc.SetInt32(c4d.VP_WATERMARK_IMG_POS_Y,c4d.VP_WATERMARK_POS_TOP)
    bc.SetInt32(c4d.VP_WATERMARK_IMG_MARGIN,1)
    bc.SetFloat(c4d.VP_WATERMARK_IMG_SCALE,0.1)
    bc.SetBool(c4d.VP_WATERMARK_IMG_SCALE_ASPECT,True)
    bc.SetBool(c4d.VP_WATERMARK_IMG_SCALE_KEEPSIZE,True)

if __name__=='__main__':
    main()
             

C++

#include "c4d.h"
#include "../newman/description/vpwatermark.h"
void SampleFunction()
{
    BaseDocument *pDoc = GetActiveDocument();
    BaseVideoPost *pVideoPost = BaseVideoPost::Alloc(vpwatermark);  
    
    //You can set parameters two different ways. 

    //First way              
    //Some objects do not store all their data in the container. You need to use GetParameter()/SetParameter() instead. 

    DESCFLAGS_SET flags = DESCFLAGS_SET_PARAM_SET;
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_ENABLE),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_DYNAMICLAYOUT),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_SHOWLABELS),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_TIMECODE),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_RENDERTIME),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_ACTIVECAMERA),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_DATE),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_SCENENAME),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_POLYCOUNT),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_C4DVERSION),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_MACHINEINFO),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_TAKE),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_CUSTOM),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_CUSTOM_TEXT),GeData("Hello World"),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_BG_OPACITY),GeData(0.1),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_TEXT_POS_Y),GeData(VP_WATERMARK_POS_TOP),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_IMG_ENABLE),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_IMG_FILENAME),GeData(Filename("c:\\SomeFile.txt"),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_IMG_OPACITY),GeData(0.1),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_IMG_BLENDMODE),GeData(VP_IMG_BLENDMODE_NORMAL),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_IMG_POS_X),GeData(VP_WATERMARK_POS_LEFT),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_IMG_POS_Y),GeData(VP_WATERMARK_POS_TOP),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_IMG_MARGIN),GeData(1),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_IMG_SCALE),GeData(0.1),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_IMG_SCALE_ASPECT),GeData(true),flags);
    pVideoPost->SetParameter(DescID(VP_WATERMARK_IMG_SCALE_KEEPSIZE),GeData(true),flags);
    pVideoPost->Message(MSG_UPDATE);            

    //Second way, using the base container.
    BaseContainer *bc =     pVideoPost->GetDataInstance();
    bc->SetBool(VP_WATERMARK_TEXT_ENABLE,true);
    bc->SetBool(VP_WATERMARK_TEXT_DYNAMICLAYOUT,true);
    bc->SetBool(VP_WATERMARK_TEXT_SHOWLABELS,true);
    bc->SetBool(VP_WATERMARK_TEXT_TIMECODE,true);
    bc->SetBool(VP_WATERMARK_TEXT_RENDERTIME,true);
    bc->SetBool(VP_WATERMARK_TEXT_ACTIVECAMERA,true);
    bc->SetBool(VP_WATERMARK_TEXT_DATE,true);
    bc->SetBool(VP_WATERMARK_TEXT_SCENENAME,true);
    bc->SetBool(VP_WATERMARK_TEXT_POLYCOUNT,true);
    bc->SetBool(VP_WATERMARK_TEXT_C4DVERSION,true);
    bc->SetBool(VP_WATERMARK_TEXT_MACHINEINFO,true);
    bc->SetBool(VP_WATERMARK_TEXT_TAKE,true);
    bc->SetBool(VP_WATERMARK_TEXT_CUSTOM,true);
    bc->SetString(VP_WATERMARK_TEXT_CUSTOM_TEXT,"Hello World");
    bc->SetFloat(VP_WATERMARK_TEXT_BG_OPACITY,0.1);
    bc->SetInt32(VP_WATERMARK_TEXT_POS_Y,VP_WATERMARK_POS_TOP);
    bc->SetBool(VP_WATERMARK_IMG_ENABLE,true);
    bc->SetFileName(VP_WATERMARK_IMG_FILENAME,"c:\\SomeFile.txt");
    bc->SetFloat(VP_WATERMARK_IMG_OPACITY,0.1);
    bc->SetInt32(VP_WATERMARK_IMG_BLENDMODE,VP_IMG_BLENDMODE_NORMAL);
    bc->SetInt32(VP_WATERMARK_IMG_POS_X,VP_WATERMARK_POS_LEFT);
    bc->SetInt32(VP_WATERMARK_IMG_POS_Y,VP_WATERMARK_POS_TOP);
    bc->SetInt32(VP_WATERMARK_IMG_MARGIN,1);
    bc->SetFloat(VP_WATERMARK_IMG_SCALE,0.1);
    bc->SetBool(VP_WATERMARK_IMG_SCALE_ASPECT,true);
    bc->SetBool(VP_WATERMARK_IMG_SCALE_KEEPSIZE,true);
    pVideoPost->Message(MSG_UPDATE);                                                      
}