246 lines
10 KiB
Python
246 lines
10 KiB
Python
|
|
# SPDX-FileCopyrightText: 2022-2023 Blender Authors
|
||
|
|
#
|
||
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||
|
|
|
||
|
|
import bpy
|
||
|
|
from bpy.types import Menu
|
||
|
|
from bl_ui import node_add_menu
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_category_COMP_INPUT(Menu):
|
||
|
|
bl_idname = "NODE_MT_category_COMP_INPUT"
|
||
|
|
bl_label = "Input"
|
||
|
|
|
||
|
|
def draw(self, _context):
|
||
|
|
layout = self.layout
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeBokehImage")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeImage")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeMask")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeMovieClip")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeRLayers")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeRGB")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeSceneTime")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeTexture")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeTime")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeTrackPos")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeValue")
|
||
|
|
|
||
|
|
node_add_menu.draw_assets_for_catalog(layout, self.bl_label)
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_category_COMP_OUTPUT(Menu):
|
||
|
|
bl_idname = "NODE_MT_category_COMP_OUTPUT"
|
||
|
|
bl_label = "Output"
|
||
|
|
|
||
|
|
def draw(self, _context):
|
||
|
|
layout = self.layout
|
||
|
|
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeComposite")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeOutputFile")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeLevels")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeSplitViewer")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeViewer")
|
||
|
|
|
||
|
|
node_add_menu.draw_assets_for_catalog(layout, self.bl_label)
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_category_COMP_COLOR(Menu):
|
||
|
|
bl_idname = "NODE_MT_category_COMP_COLOR"
|
||
|
|
bl_label = "Color"
|
||
|
|
|
||
|
|
def draw(self, _context):
|
||
|
|
layout = self.layout
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeAlphaOver")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeBrightContrast")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeColorBalance")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeColorCorrection")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeExposure")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeGamma")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeHueCorrect")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeHueSat")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeInvert")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeMixRGB")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodePosterize")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeCurveRGB")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeTonemap")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeZcombine")
|
||
|
|
|
||
|
|
node_add_menu.draw_assets_for_catalog(layout, self.bl_label)
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_category_COMP_CONVERTER(Menu):
|
||
|
|
bl_idname = "NODE_MT_category_COMP_CONVERTER"
|
||
|
|
bl_label = "Converter"
|
||
|
|
|
||
|
|
def draw(self, _context):
|
||
|
|
layout = self.layout
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodePremulKey")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeValToRGB")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeCombineColor")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeCombineXYZ")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeConvertColorSpace")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeIDMask")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeMath")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeRGBToBW")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeSeparateColor")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeSeparateXYZ")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeSetAlpha")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeSwitchView")
|
||
|
|
|
||
|
|
node_add_menu.draw_assets_for_catalog(layout, self.bl_label)
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_category_COMP_FILTER(Menu):
|
||
|
|
bl_idname = "NODE_MT_category_COMP_FILTER"
|
||
|
|
bl_label = "Filter"
|
||
|
|
|
||
|
|
def draw(self, _context):
|
||
|
|
layout = self.layout
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeAntiAliasing")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeBilateralblur")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeBlur")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeBokehBlur")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeDefocus")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeDenoise")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeDespeckle")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeDilateErode")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeDBlur")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeFilter")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeGlare")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeInpaint")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeKuwahara")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodePixelate")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeSunBeams")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeVecBlur")
|
||
|
|
|
||
|
|
node_add_menu.draw_assets_for_catalog(layout, self.bl_label)
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_category_COMP_VECTOR(Menu):
|
||
|
|
bl_idname = "NODE_MT_category_COMP_VECTOR"
|
||
|
|
bl_label = "Vector"
|
||
|
|
|
||
|
|
def draw(self, _context):
|
||
|
|
layout = self.layout
|
||
|
|
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeMapRange")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeMapValue")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeNormal")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeNormalize")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeCurveVec")
|
||
|
|
|
||
|
|
node_add_menu.draw_assets_for_catalog(layout, self.bl_label)
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_category_COMP_MATTE(Menu):
|
||
|
|
bl_idname = "NODE_MT_category_COMP_MATTE"
|
||
|
|
bl_label = "Matte"
|
||
|
|
|
||
|
|
def draw(self, _context):
|
||
|
|
layout = self.layout
|
||
|
|
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeBoxMask")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeChannelMatte")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeChromaMatte")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeColorMatte")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeColorSpill")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeCryptomatteV2")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeCryptomatte")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeDiffMatte")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeDistanceMatte")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeDoubleEdgeMask")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeEllipseMask")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeKeying")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeKeyingScreen")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeLumaMatte")
|
||
|
|
|
||
|
|
node_add_menu.draw_assets_for_catalog(layout, self.bl_label)
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_category_COMP_DISTORT(Menu):
|
||
|
|
bl_idname = "NODE_MT_category_COMP_DISTORT"
|
||
|
|
bl_label = "Distort"
|
||
|
|
|
||
|
|
def draw(self, _context):
|
||
|
|
layout = self.layout
|
||
|
|
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeCornerPin")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeCrop")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeDisplace")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeFlip")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeLensdist")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeMapUV")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeMovieDistortion")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodePlaneTrackDeform")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeRotate")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeScale")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeStabilize")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeTransform")
|
||
|
|
node_add_menu.add_node_type(layout, "CompositorNodeTranslate")
|
||
|
|
|
||
|
|
node_add_menu.draw_assets_for_catalog(layout, self.bl_label)
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_category_COMP_GROUP(Menu):
|
||
|
|
bl_idname = "NODE_MT_category_COMP_GROUP"
|
||
|
|
bl_label = "Group"
|
||
|
|
|
||
|
|
def draw(self, context):
|
||
|
|
layout = self.layout
|
||
|
|
node_add_menu.draw_node_group_add_menu(context, layout)
|
||
|
|
node_add_menu.draw_assets_for_catalog(layout, self.bl_label)
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_category_COMP_LAYOUT(Menu):
|
||
|
|
bl_idname = "NODE_MT_category_COMP_LAYOUT"
|
||
|
|
bl_label = "Layout"
|
||
|
|
|
||
|
|
def draw(self, _context):
|
||
|
|
layout = self.layout
|
||
|
|
node_add_menu.add_node_type(layout, "NodeFrame")
|
||
|
|
node_add_menu.add_node_type(layout, "NodeReroute")
|
||
|
|
|
||
|
|
node_add_menu.draw_assets_for_catalog(layout, self.bl_label)
|
||
|
|
|
||
|
|
|
||
|
|
class NODE_MT_compositing_node_add_all(Menu):
|
||
|
|
bl_idname = "NODE_MT_compositing_node_add_all"
|
||
|
|
bl_label = ""
|
||
|
|
|
||
|
|
def draw(self, context):
|
||
|
|
layout = self.layout
|
||
|
|
layout.menu("NODE_MT_category_COMP_INPUT")
|
||
|
|
layout.menu("NODE_MT_category_COMP_OUTPUT")
|
||
|
|
layout.separator()
|
||
|
|
layout.menu("NODE_MT_category_COMP_COLOR")
|
||
|
|
layout.menu("NODE_MT_category_COMP_CONVERTER")
|
||
|
|
layout.menu("NODE_MT_category_COMP_DISTORT")
|
||
|
|
layout.menu("NODE_MT_category_COMP_FILTER")
|
||
|
|
layout.menu("NODE_MT_category_COMP_MATTE")
|
||
|
|
layout.menu("NODE_MT_category_COMP_VECTOR")
|
||
|
|
layout.separator()
|
||
|
|
layout.menu("NODE_MT_category_COMP_GROUP")
|
||
|
|
layout.menu("NODE_MT_category_COMP_LAYOUT")
|
||
|
|
|
||
|
|
node_add_menu.draw_root_assets(layout)
|
||
|
|
|
||
|
|
|
||
|
|
classes = (
|
||
|
|
NODE_MT_compositing_node_add_all,
|
||
|
|
NODE_MT_category_COMP_INPUT,
|
||
|
|
NODE_MT_category_COMP_OUTPUT,
|
||
|
|
NODE_MT_category_COMP_COLOR,
|
||
|
|
NODE_MT_category_COMP_CONVERTER,
|
||
|
|
NODE_MT_category_COMP_FILTER,
|
||
|
|
NODE_MT_category_COMP_VECTOR,
|
||
|
|
NODE_MT_category_COMP_MATTE,
|
||
|
|
NODE_MT_category_COMP_DISTORT,
|
||
|
|
NODE_MT_category_COMP_GROUP,
|
||
|
|
NODE_MT_category_COMP_LAYOUT,
|
||
|
|
)
|
||
|
|
|
||
|
|
if __name__ == "__main__": # only for live edit.
|
||
|
|
from bpy.utils import register_class
|
||
|
|
for cls in classes:
|
||
|
|
register_class(cls)
|