diff --git a/node_wrangler.py b/node_wrangler.py index 03223540e6773d5a7a89c7f1ed44ac8103dd6afa..e26da88bdfba3e62f03c73903bc2ec3f10c074d3 100644 --- a/node_wrangler.py +++ b/node_wrangler.py @@ -90,61 +90,73 @@ rl_outputs = ( # shader nodes # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. shaders_input_nodes_props = ( - ('ShaderNodeTexCoord', 'TEX_COORD', 'Texture Coordinate'), + ('ShaderNodeAmbientOcclusion', 'AMBIENT_OCCLUSION', 'Ambient Occlusion'), ('ShaderNodeAttribute', 'ATTRIBUTE', 'Attribute'), - ('ShaderNodeLightPath', 'LIGHT_PATH', 'Light Path'), + ('ShaderNodeBevel', 'BEVEL', 'Bevel'), + ('ShaderNodeCameraData', 'CAMERA', 'Camera Data'), ('ShaderNodeFresnel', 'FRESNEL', 'Fresnel'), - ('ShaderNodeLayerWeight', 'LAYER_WEIGHT', 'Layer Weight'), - ('ShaderNodeRGB', 'RGB', 'RGB'), - ('ShaderNodeValue', 'VALUE', 'Value'), - ('ShaderNodeTangent', 'TANGENT', 'Tangent'), ('ShaderNodeNewGeometry', 'NEW_GEOMETRY', 'Geometry'), - ('ShaderNodeWireframe', 'WIREFRAME', 'Wireframe'), - ('ShaderNodeObjectInfo', 'OBJECT_INFO', 'Object Info'), ('ShaderNodeHairInfo', 'HAIR_INFO', 'Hair Info'), + ('ShaderNodeLayerWeight', 'LAYER_WEIGHT', 'Layer Weight'), + ('ShaderNodeLightPath', 'LIGHT_PATH', 'Light Path'), + ('ShaderNodeObjectInfo', 'OBJECT_INFO', 'Object Info'), ('ShaderNodeParticleInfo', 'PARTICLE_INFO', 'Particle Info'), - ('ShaderNodeCameraData', 'CAMERA', 'Camera Data'), + ('ShaderNodeRGB', 'RGB', 'RGB'), + ('ShaderNodeTangent', 'TANGENT', 'Tangent'), + ('ShaderNodeTexCoord', 'TEX_COORD', 'Texture Coordinate'), ('ShaderNodeUVMap', 'UVMAP', 'UV Map'), + ('ShaderNodeValue', 'VALUE', 'Value'), + ('ShaderNodeVertexColor', 'VERTEX_COLOR', 'Vertex Color'), + ('ShaderNodeVolumeInfo', 'VOLUME_INFO', 'Volume Info'), + ('ShaderNodeWireframe', 'WIREFRAME', 'Wireframe'), + ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. shaders_output_nodes_props = ( - ('ShaderNodeOutputMaterial', 'OUTPUT_MATERIAL', 'Material Output'), + ('ShaderNodeOutputAOV', 'OUTPUT_AOV', 'AOV Output'), ('ShaderNodeOutputLight', 'OUTPUT_LIGHT', 'Light Output'), + ('ShaderNodeOutputMaterial', 'OUTPUT_MATERIAL', 'Material Output'), ('ShaderNodeOutputWorld', 'OUTPUT_WORLD', 'World Output'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. shaders_shader_nodes_props = ( - ('ShaderNodeMixShader', 'MIX_SHADER', 'Mix Shader'), ('ShaderNodeAddShader', 'ADD_SHADER', 'Add Shader'), + ('ShaderNodeBsdfAnisotropic', 'BSDF_ANISOTROPIC', 'Anisotropic BSDF'), ('ShaderNodeBsdfDiffuse', 'BSDF_DIFFUSE', 'Diffuse BSDF'), + ('ShaderNodeEmission', 'EMISSION', 'Emission'), + ('ShaderNodeBsdfGlass', 'BSDF_GLASS', 'Glass BSDF'), ('ShaderNodeBsdfGlossy', 'BSDF_GLOSSY', 'Glossy BSDF'), - ('ShaderNodeBsdfTransparent', 'BSDF_TRANSPARENT', 'Transparent BSDF'), + ('ShaderNodeBsdfHair', 'BSDF_HAIR', 'Hair BSDF'), + ('ShaderNodeHoldout', 'HOLDOUT', 'Holdout'), + ('ShaderNodeMixShader', 'MIX_SHADER', 'Mix Shader'), + ('ShaderNodeBsdfPrincipled', 'BSDF_PRINCIPLED', 'Principled BSDF'), + ('ShaderNodeBsdfHairPrincipled', 'BSDF_HAIR_PRINCIPLED', 'Principled Hair BSDF'), + ('ShaderNodeVolumePrincipled', 'PRINCIPLED_VOLUME', 'Principled Volume'), ('ShaderNodeBsdfRefraction', 'BSDF_REFRACTION', 'Refraction BSDF'), - ('ShaderNodeBsdfGlass', 'BSDF_GLASS', 'Glass BSDF'), + ('ShaderNodeSubsurfaceScattering', 'SUBSURFACE_SCATTERING', 'Subsurface Scattering'), + ('ShaderNodeBsdfToon', 'BSDF_TOON', 'Toon BSDF'), ('ShaderNodeBsdfTranslucent', 'BSDF_TRANSLUCENT', 'Translucent BSDF'), - ('ShaderNodeBsdfAnisotropic', 'BSDF_ANISOTROPIC', 'Anisotropic BSDF'), + ('ShaderNodeBsdfTransparent', 'BSDF_TRANSPARENT', 'Transparent BSDF'), ('ShaderNodeBsdfVelvet', 'BSDF_VELVET', 'Velvet BSDF'), - ('ShaderNodeBsdfToon', 'BSDF_TOON', 'Toon BSDF'), - ('ShaderNodeSubsurfaceScattering', 'SUBSURFACE_SCATTERING', 'Subsurface Scattering'), - ('ShaderNodeEmission', 'EMISSION', 'Emission'), - ('ShaderNodeBsdfHair', 'BSDF_HAIR', 'Hair BSDF'), ('ShaderNodeBackground', 'BACKGROUND', 'Background'), - ('ShaderNodeAmbientOcclusion', 'AMBIENT_OCCLUSION', 'Ambient Occlusion'), - ('ShaderNodeHoldout', 'HOLDOUT', 'Holdout'), ('ShaderNodeVolumeAbsorption', 'VOLUME_ABSORPTION', 'Volume Absorption'), ('ShaderNodeVolumeScatter', 'VOLUME_SCATTER', 'Volume Scatter'), - ('ShaderNodeBsdfPrincipled', 'BSDF_PRINCIPLED', 'Principled BSDF'), ) # (rna_type.identifier, type, rna_type.name) +# Keeping things in alphabetical orde so we don't need to sort later. # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. shaders_texture_nodes_props = ( ('ShaderNodeTexBrick', 'TEX_BRICK', 'Brick Texture'), ('ShaderNodeTexChecker', 'TEX_CHECKER', 'Checker Texture'), ('ShaderNodeTexEnvironment', 'TEX_ENVIRONMENT', 'Environment Texture'), ('ShaderNodeTexGradient', 'TEX_GRADIENT', 'Gradient Texture'), + ('ShaderNodeTexIES', 'TEX_IES', 'IES Texture'), ('ShaderNodeTexImage', 'TEX_IMAGE', 'Image Texture'), ('ShaderNodeTexMagic', 'TEX_MAGIC', 'Magic Texture'), ('ShaderNodeTexMusgrave', 'TEX_MUSGRAVE', 'Musgrave Texture'), @@ -153,46 +165,55 @@ shaders_texture_nodes_props = ( ('ShaderNodeTexSky', 'TEX_SKY', 'Sky Texture'), ('ShaderNodeTexVoronoi', 'TEX_VORONOI', 'Voronoi Texture'), ('ShaderNodeTexWave', 'TEX_WAVE', 'Wave Texture'), + ('ShaderNodeTexWhiteNoise', 'TEX_WHITE_NOISE', 'White Noise'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. shaders_color_nodes_props = ( - ('ShaderNodeMixRGB', 'MIX_RGB', 'MixRGB'), - ('ShaderNodeRGBCurve', 'CURVE_RGB', 'RGB Curves'), + ('ShaderNodeBrightContrast', 'BRIGHTCONTRAST', 'Bright Contrast'), + ('ShaderNodeGamma', 'GAMMA', 'Gamma'), + ('ShaderNodeHueSaturation', 'HUE_SAT', 'Hue/Saturation'), ('ShaderNodeInvert', 'INVERT', 'Invert'), ('ShaderNodeLightFalloff', 'LIGHT_FALLOFF', 'Light Falloff'), - ('ShaderNodeHueSaturation', 'HUE_SAT', 'Hue/Saturation'), - ('ShaderNodeGamma', 'GAMMA', 'Gamma'), - ('ShaderNodeBrightContrast', 'BRIGHTCONTRAST', 'Bright Contrast'), + ('ShaderNodeMixRGB', 'MIX_RGB', 'MixRGB'), + ('ShaderNodeRGBCurve', 'CURVE_RGB', 'RGB Curves'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. shaders_vector_nodes_props = ( - ('ShaderNodeMapping', 'MAPPING', 'Mapping'), ('ShaderNodeBump', 'BUMP', 'Bump'), - ('ShaderNodeNormalMap', 'NORMAL_MAP', 'Normal Map'), + ('ShaderNodeDisplacement', 'DISPLACEMENT', 'Displacement'), + ('ShaderNodeMapping', 'MAPPING', 'Mapping'), ('ShaderNodeNormal', 'NORMAL', 'Normal'), + ('ShaderNodeNormalMap', 'NORMAL_MAP', 'Normal Map'), ('ShaderNodeVectorCurve', 'CURVE_VEC', 'Vector Curves'), + ('ShaderNodeVectorDisplacement', 'VECTOR_DISPLACEMENT', 'Vector Displacement'), ('ShaderNodeVectorTransform', 'VECT_TRANSFORM', 'Vector Transform'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. shaders_converter_nodes_props = ( - ('ShaderNodeMath', 'MATH', 'Math'), + ('ShaderNodeBlackbody', 'BLACKBODY', 'Blackbody'), + ('ShaderNodeClamp', 'CLAMP', 'Clamp'), ('ShaderNodeValToRGB', 'VALTORGB', 'ColorRamp'), + ('ShaderNodeCombineHSV', 'COMBHSV', 'Combine HSV'), + ('ShaderNodeCombineRGB', 'COMBRGB', 'Combine RGB'), + ('ShaderNodeCombineXYZ', 'COMBXYZ', 'Combine XYZ'), + ('ShaderNodeMapRange', 'MAP_RANGE', 'Map Range'), + ('ShaderNodeMath', 'MATH', 'Math'), ('ShaderNodeRGBToBW', 'RGBTOBW', 'RGB to BW'), - ('ShaderNodeVectorMath', 'VECT_MATH', 'Vector Math'), ('ShaderNodeSeparateRGB', 'SEPRGB', 'Separate RGB'), - ('ShaderNodeCombineRGB', 'COMBRGB', 'Combine RGB'), ('ShaderNodeSeparateXYZ', 'SEPXYZ', 'Separate XYZ'), - ('ShaderNodeCombineXYZ', 'COMBXYZ', 'Combine XYZ'), ('ShaderNodeSeparateHSV', 'SEPHSV', 'Separate HSV'), - ('ShaderNodeCombineHSV', 'COMBHSV', 'Combine HSV'), + ('ShaderNodeVectorMath', 'VECT_MATH', 'Vector Math'), ('ShaderNodeWavelength', 'WAVELENGTH', 'Wavelength'), - ('ShaderNodeBlackbody', 'BLACKBODY', 'Blackbody'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. shaders_layout_nodes_props = ( ('NodeFrame', 'FRAME', 'Frame'), ('NodeReroute', 'REROUTE', 'Reroute'), @@ -201,122 +222,134 @@ shaders_layout_nodes_props = ( # compositing nodes # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. compo_input_nodes_props = ( - ('CompositorNodeRLayers', 'R_LAYERS', 'Render Layers'), + ('CompositorNodeBokehImage', 'BOKEHIMAGE', 'Bokeh Image'), ('CompositorNodeImage', 'IMAGE', 'Image'), - ('CompositorNodeMovieClip', 'MOVIECLIP', 'Movie Clip'), ('CompositorNodeMask', 'MASK', 'Mask'), + ('CompositorNodeMovieClip', 'MOVIECLIP', 'Movie Clip'), + ('CompositorNodeRLayers', 'R_LAYERS', 'Render Layers'), ('CompositorNodeRGB', 'RGB', 'RGB'), - ('CompositorNodeValue', 'VALUE', 'Value'), ('CompositorNodeTexture', 'TEXTURE', 'Texture'), - ('CompositorNodeBokehImage', 'BOKEHIMAGE', 'Bokeh Image'), ('CompositorNodeTime', 'TIME', 'Time'), ('CompositorNodeTrackPos', 'TRACKPOS', 'Track Position'), + ('CompositorNodeValue', 'VALUE', 'Value'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. compo_output_nodes_props = ( ('CompositorNodeComposite', 'COMPOSITE', 'Composite'), - ('CompositorNodeViewer', 'VIEWER', 'Viewer'), - ('CompositorNodeSplitViewer', 'SPLITVIEWER', 'Split Viewer'), ('CompositorNodeOutputFile', 'OUTPUT_FILE', 'File Output'), ('CompositorNodeLevels', 'LEVELS', 'Levels'), + ('CompositorNodeSplitViewer', 'SPLITVIEWER', 'Split Viewer'), + ('CompositorNodeViewer', 'VIEWER', 'Viewer'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. compo_color_nodes_props = ( - ('CompositorNodeMixRGB', 'MIX_RGB', 'Mix'), ('CompositorNodeAlphaOver', 'ALPHAOVER', 'Alpha Over'), - ('CompositorNodeInvert', 'INVERT', 'Invert'), - ('CompositorNodeCurveRGB', 'CURVE_RGB', 'RGB Curves'), - ('CompositorNodeHueSat', 'HUE_SAT', 'Hue Saturation Value'), - ('CompositorNodeColorBalance', 'COLORBALANCE', 'Color Balance'), - ('CompositorNodeHueCorrect', 'HUECORRECT', 'Hue Correct'), ('CompositorNodeBrightContrast', 'BRIGHTCONTRAST', 'Bright/Contrast'), - ('CompositorNodeGamma', 'GAMMA', 'Gamma'), + ('CompositorNodeColorBalance', 'COLORBALANCE', 'Color Balance'), ('CompositorNodeColorCorrection', 'COLORCORRECTION', 'Color Correction'), + ('CompositorNodeGamma', 'GAMMA', 'Gamma'), + ('CompositorNodeHueCorrect', 'HUECORRECT', 'Hue Correct'), + ('CompositorNodeHueSat', 'HUE_SAT', 'Hue Saturation Value'), + ('CompositorNodeInvert', 'INVERT', 'Invert'), + ('CompositorNodeMixRGB', 'MIX_RGB', 'Mix'), + ('CompositorNodeCurveRGB', 'CURVE_RGB', 'RGB Curves'), ('CompositorNodeTonemap', 'TONEMAP', 'Tonemap'), ('CompositorNodeZcombine', 'ZCOMBINE', 'Z Combine'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. compo_converter_nodes_props = ( - ('CompositorNodeMath', 'MATH', 'Math'), - ('CompositorNodeValToRGB', 'VALTORGB', 'ColorRamp'), - ('CompositorNodeSetAlpha', 'SETALPHA', 'Set Alpha'), ('CompositorNodePremulKey', 'PREMULKEY', 'Alpha Convert'), + ('CompositorNodeValToRGB', 'VALTORGB', 'ColorRamp'), + ('CompositorNodeCombHSVA', 'COMBHSVA', 'Combine HSVA'), + ('CompositorNodeCombRGBA', 'COMBRGBA', 'Combine RGBA'), + ('CompositorNodeCombYCCA', 'COMBYCCA', 'Combine YCbCrA'), + ('CompositorNodeCombYUVA', 'COMBYUVA', 'Combine YUVA'), ('CompositorNodeIDMask', 'ID_MASK', 'ID Mask'), + ('CompositorNodeMath', 'MATH', 'Math'), ('CompositorNodeRGBToBW', 'RGBTOBW', 'RGB to BW'), ('CompositorNodeSepRGBA', 'SEPRGBA', 'Separate RGBA'), - ('CompositorNodeCombRGBA', 'COMBRGBA', 'Combine RGBA'), ('CompositorNodeSepHSVA', 'SEPHSVA', 'Separate HSVA'), - ('CompositorNodeCombHSVA', 'COMBHSVA', 'Combine HSVA'), ('CompositorNodeSepYUVA', 'SEPYUVA', 'Separate YUVA'), - ('CompositorNodeCombYUVA', 'COMBYUVA', 'Combine YUVA'), ('CompositorNodeSepYCCA', 'SEPYCCA', 'Separate YCbCrA'), - ('CompositorNodeCombYCCA', 'COMBYCCA', 'Combine YCbCrA'), + ('CompositorNodeSetAlpha', 'SETALPHA', 'Set Alpha'), + ('CompositorNodeSwitchView', 'VIEWSWITCH', 'View Switch'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. compo_filter_nodes_props = ( - ('CompositorNodeBlur', 'BLUR', 'Blur'), ('CompositorNodeBilateralblur', 'BILATERALBLUR', 'Bilateral Blur'), - ('CompositorNodeDilateErode', 'DILATEERODE', 'Dilate/Erode'), - ('CompositorNodeDespeckle', 'DESPECKLE', 'Despeckle'), - ('CompositorNodeFilter', 'FILTER', 'Filter'), + ('CompositorNodeBlur', 'BLUR', 'Blur'), ('CompositorNodeBokehBlur', 'BOKEHBLUR', 'Bokeh Blur'), - ('CompositorNodeVecBlur', 'VECBLUR', 'Vector Blur'), ('CompositorNodeDefocus', 'DEFOCUS', 'Defocus'), + ('CompositorNodeDenoise', 'DENOISE', 'Denoise'), + ('CompositorNodeDespeckle', 'DESPECKLE', 'Despeckle'), + ('CompositorNodeDilateErode', 'DILATEERODE', 'Dilate/Erode'), + ('CompositorNodeDBlur', 'DBLUR', 'Directional Blur'), + ('CompositorNodeFilter', 'FILTER', 'Filter'), ('CompositorNodeGlare', 'GLARE', 'Glare'), ('CompositorNodeInpaint', 'INPAINT', 'Inpaint'), - ('CompositorNodeDBlur', 'DBLUR', 'Directional Blur'), ('CompositorNodePixelate', 'PIXELATE', 'Pixelate'), ('CompositorNodeSunBeams', 'SUNBEAMS', 'Sun Beams'), + ('CompositorNodeVecBlur', 'VECBLUR', 'Vector Blur'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. compo_vector_nodes_props = ( - ('CompositorNodeNormal', 'NORMAL', 'Normal'), - ('CompositorNodeMapValue', 'MAP_VALUE', 'Map Value'), ('CompositorNodeMapRange', 'MAP_RANGE', 'Map Range'), + ('CompositorNodeMapValue', 'MAP_VALUE', 'Map Value'), + ('CompositorNodeNormal', 'NORMAL', 'Normal'), ('CompositorNodeNormalize', 'NORMALIZE', 'Normalize'), ('CompositorNodeCurveVec', 'CURVE_VEC', 'Vector Curves'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. compo_matte_nodes_props = ( - ('CompositorNodeKeying', 'KEYING', 'Keying'), - ('CompositorNodeKeyingScreen', 'KEYINGSCREEN', 'Keying Screen'), + ('CompositorNodeBoxMask', 'BOXMASK', 'Box Mask'), ('CompositorNodeChannelMatte', 'CHANNEL_MATTE', 'Channel Key'), + ('CompositorNodeChromaMatte', 'CHROMA_MATTE', 'Chroma Key'), + ('CompositorNodeColorMatte', 'COLOR_MATTE', 'Color Key'), ('CompositorNodeColorSpill', 'COLOR_SPILL', 'Color Spill'), - ('CompositorNodeBoxMask', 'BOXMASK', 'Box Mask'), - ('CompositorNodeEllipseMask', 'ELLIPSEMASK', 'Ellipse Mask'), - ('CompositorNodeLumaMatte', 'LUMA_MATTE', 'Luminance Key'), + ('CompositorNodeCryptomatte', 'CRYPTOMATTE', 'Cryptomatte'), ('CompositorNodeDiffMatte', 'DIFF_MATTE', 'Difference Key'), ('CompositorNodeDistanceMatte', 'DISTANCE_MATTE', 'Distance Key'), - ('CompositorNodeChromaMatte', 'CHROMA_MATTE', 'Chroma Key'), - ('CompositorNodeColorMatte', 'COLOR_MATTE', 'Color Key'), ('CompositorNodeDoubleEdgeMask', 'DOUBLEEDGEMASK', 'Double Edge Mask'), + ('CompositorNodeEllipseMask', 'ELLIPSEMASK', 'Ellipse Mask'), + ('CompositorNodeKeying', 'KEYING', 'Keying'), + ('CompositorNodeKeyingScreen', 'KEYINGSCREEN', 'Keying Screen'), + ('CompositorNodeLumaMatte', 'LUMA_MATTE', 'Luminance Key'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. compo_distort_nodes_props = ( - ('CompositorNodeScale', 'SCALE', 'Scale'), - ('CompositorNodeLensdist', 'LENSDIST', 'Lens Distortion'), - ('CompositorNodeMovieDistortion', 'MOVIEDISTORTION', 'Movie Distortion'), - ('CompositorNodeTranslate', 'TRANSLATE', 'Translate'), - ('CompositorNodeRotate', 'ROTATE', 'Rotate'), - ('CompositorNodeFlip', 'FLIP', 'Flip'), + ('CompositorNodeCornerPin', 'CORNERPIN', 'Corner Pin'), ('CompositorNodeCrop', 'CROP', 'Crop'), ('CompositorNodeDisplace', 'DISPLACE', 'Displace'), + ('CompositorNodeFlip', 'FLIP', 'Flip'), + ('CompositorNodeLensdist', 'LENSDIST', 'Lens Distortion'), ('CompositorNodeMapUV', 'MAP_UV', 'Map UV'), - ('CompositorNodeTransform', 'TRANSFORM', 'Transform'), - ('CompositorNodeStabilize', 'STABILIZE2D', 'Stabilize 2D'), + ('CompositorNodeMovieDistortion', 'MOVIEDISTORTION', 'Movie Distortion'), ('CompositorNodePlaneTrackDeform', 'PLANETRACKDEFORM', 'Plane Track Deform'), - ('CompositorNodeCornerPin', 'CORNERPIN', 'Corner Pin'), + ('CompositorNodeRotate', 'ROTATE', 'Rotate'), + ('CompositorNodeScale', 'SCALE', 'Scale'), + ('CompositorNodeStabilize', 'STABILIZE2D', 'Stabilize 2D'), + ('CompositorNodeTransform', 'TRANSFORM', 'Transform'), + ('CompositorNodeTranslate', 'TRANSLATE', 'Translate'), ) # (rna_type.identifier, type, rna_type.name) # Keeping mixed case to avoid having to translate entries when adding new nodes in operators. +# Keeping things in alphabetical orde so we don't need to sort later. compo_layout_nodes_props = ( ('NodeFrame', 'FRAME', 'Frame'), ('NodeReroute', 'REROUTE', 'Reroute'), @@ -484,21 +517,42 @@ operations = [ ('SUBTRACT', 'Subtract', 'Subtract Mode'), ('MULTIPLY', 'Multiply', 'Multiply Mode'), ('DIVIDE', 'Divide', 'Divide Mode'), + ('MULTIPLY_ADD', 'Multiply Add', 'Multiply Add Mode'), ('SINE', 'Sine', 'Sine Mode'), ('COSINE', 'Cosine', 'Cosine Mode'), ('TANGENT', 'Tangent', 'Tangent Mode'), ('ARCSINE', 'Arcsine', 'Arcsine Mode'), ('ARCCOSINE', 'Arccosine', 'Arccosine Mode'), ('ARCTANGENT', 'Arctangent', 'Arctangent Mode'), + ('ARCTAN2', 'Arctan2', 'Arctan2 Mode'), + ('SINH', 'Hyperbolic Sine', 'Hyperbolic Sine Mode'), + ('COSH', 'Hyperbolic Cosine', 'Hyperbolic Cosine Mode'), + ('TANH', 'Hyperbolic Tangent', 'Hyperbolic Tangent Mode'), ('POWER', 'Power', 'Power Mode'), ('LOGARITHM', 'Logatithm', 'Logarithm Mode'), + ('SQRT', 'Square Root', 'Square Root Mode'), + ('INVERSE_SQRT', 'Inverse Square Root', 'Inverse Square Root Mode'), + ('EXPONENT', 'Exponent', 'Exponent Mode'), ('MINIMUM', 'Minimum', 'Minimum Mode'), ('MAXIMUM', 'Maximum', 'Maximum Mode'), - ('ROUND', 'Round', 'Round Mode'), ('LESS_THAN', 'Less Than', 'Less Than Mode'), ('GREATER_THAN', 'Greater Than', 'Greater Than Mode'), + ('SIGN', 'Sign', 'Sign Mode'), + ('COMPARE', 'Compare', 'Compare Mode'), + ('SMOOTH_MIN', 'Smooth Minimum', 'Smooth Minimum Mode'), + ('SMOOTH_MAX', 'Smooth Maximum', 'Smooth Maximum Mode'), + ('FRACT', 'Fraction', 'Fraction Mode'), ('MODULO', 'Modulo', 'Modulo Mode'), + ('SNAP', 'Snap', 'Snap Mode'), + ('WRAP', 'Wrap', 'Wrap Mode'), + ('PINGPONG', 'Pingpong', 'Pingpong Mode'), ('ABSOLUTE', 'Absolute', 'Absolute Mode'), + ('ROUND', 'Round', 'Round Mode'), + ('FLOOR', 'Floor', 'Floor Mode'), + ('CEIL', 'Ceil', 'Ceil Mode'), + ('TRUNCATE', 'Truncate', 'Truncate Mode'), + ('RADIANS', 'To Radians', 'To Radians Mode'), + ('DEGREES', 'To Degrees', 'To Degrees Mode'), ] # in NWBatchChangeNodes additional types/operations. Can be used as 'items' for EnumProperty. @@ -3547,7 +3601,7 @@ class NWSaveViewer(bpy.types.Operator, ExportHelper): filename_ext: EnumProperty( name="Format", description="Choose the file format to save to", - items=(('.bmp', "PNG", ""), + items=(('.bmp', "BMP", ""), ('.rgb', 'IRIS', ""), ('.png', 'PNG', ""), ('.jpg', 'JPEG', ""), @@ -4102,7 +4156,7 @@ class NWSwitchShadersInputSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(shaders_input_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in shaders_input_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4113,7 +4167,7 @@ class NWSwitchShadersOutputSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(shaders_output_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in shaders_output_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4124,7 +4178,7 @@ class NWSwitchShadersShaderSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(shaders_shader_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in shaders_shader_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4135,7 +4189,7 @@ class NWSwitchShadersTextureSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(shaders_texture_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in shaders_texture_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4146,7 +4200,7 @@ class NWSwitchShadersColorSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(shaders_color_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in shaders_color_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4157,7 +4211,7 @@ class NWSwitchShadersVectorSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(shaders_vector_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in shaders_vector_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4168,7 +4222,7 @@ class NWSwitchShadersConverterSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(shaders_converter_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in shaders_converter_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4179,7 +4233,7 @@ class NWSwitchShadersLayoutSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(shaders_layout_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in shaders_layout_nodes_props: if node_type != 'FRAME': props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4191,7 +4245,7 @@ class NWSwitchCompoInputSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(compo_input_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in compo_input_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4202,7 +4256,7 @@ class NWSwitchCompoOutputSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(compo_output_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in compo_output_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4213,7 +4267,7 @@ class NWSwitchCompoColorSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(compo_color_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in compo_color_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4224,7 +4278,7 @@ class NWSwitchCompoConverterSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(compo_converter_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in compo_converter_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4235,7 +4289,7 @@ class NWSwitchCompoFilterSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(compo_filter_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in compo_filter_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4246,7 +4300,7 @@ class NWSwitchCompoVectorSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(compo_vector_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in compo_vector_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4257,7 +4311,7 @@ class NWSwitchCompoMatteSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(compo_matte_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in compo_matte_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4268,7 +4322,7 @@ class NWSwitchCompoDistortSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(compo_distort_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in compo_distort_nodes_props: props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident @@ -4279,7 +4333,7 @@ class NWSwitchCompoLayoutSubmenu(Menu, NWBase): def draw(self, context): layout = self.layout - for ident, node_type, rna_name in sorted(compo_layout_nodes_props, key=lambda k: k[2]): + for ident, node_type, rna_name in compo_layout_nodes_props: if node_type != 'FRAME': props = layout.operator(NWSwitchNodeType.bl_idname, text=rna_name) props.to_type = ident