blender/intern
Damien Picard 1410615079 Nodes: expose multi-input sockets to custom nodes in the Python API
Currently the multi-input sockets are not exposed to the custom nodes
Python API. This makes some features cumbersome to implement if one
wants a node to process an arbitrary number of inputs.
One workaround is to make inputs duplicate themselves when a link is
created, but a proper multi-input would be easier to use for both
add-on developers and users.

This commit exposes a new `use_multi_input` boolean parameter when
creating a new node socket. This makes it possible to declare a
multi-input, while still leaving the existing `is_multi_input`
property read-only so that existing nodes cannot be made unstable.

The parameter is optional so existing scripts stay compatible. It also
raises an error when used on output sockets, since it makes no sense
for those to be multi-input.

The Custom Node Tree Python template was updated to reflect this
change by making one of the inputs of the custom node multi-input.

Pull Request: https://projects.blender.org/blender/blender/pulls/114474
2024-02-12 20:28:56 +01:00
..
atomic Cleanup: move CMake test utility functions into testing.cmake 2024-01-03 14:49:11 +01:00
audaspace Cleanup: use braces for sources in intern/ 2023-09-17 09:05:40 +10:00
clog Cleanup: CMake: Modernize bf_intern_clog dependencies 2023-11-24 17:12:24 +01:00
cycles Nodes: expose multi-input sockets to custom nodes in the Python API 2024-02-12 20:28:56 +01:00
dualcon Mesh: Rename MLoopTri variable names, and functions 2023-12-19 14:57:49 +01:00
eigen Cleanup: remove redundant define checks 2023-12-07 10:39:03 +11:00
ffmpeg Tests: add option to build one binary per GTest file 2024-01-03 18:35:50 +01:00
ghost Merge branch 'blender-v4.1-release' 2024-02-08 12:42:23 +11:00
guardedalloc Cleanup: Make format 2024-01-16 10:56:55 -05:00
iksolver Clang Format: bump to version 17 2024-01-03 13:38:14 +01:00
itasc License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
libc_compat License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
libmv UI: fix and improve a few messages 2024-02-05 17:08:17 +01:00
locale License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
mantaflow Cleanup: Replace MIN/MAX macros with C++ functions 2024-01-22 15:58:18 +01:00
memutil Cleanup: use braces in headers 2023-09-24 14:52:38 +10:00
mikktspace Cleanup: use braces in headers 2023-09-24 14:52:38 +10:00
opencolorio Build: support OpenColorIO 2.3 2023-10-02 19:31:19 +02:00
opensubdiv Cleanup: Remove unnecessary keywords from C++ headers 2024-01-04 15:07:48 -05:00
openvdb Volumes: refactor volume grid storage 2023-12-20 15:32:52 +01:00
quadriflow Cleanup: Replace MVertTri type with C++ vector 2023-12-20 20:59:11 -05:00
renderdoc_dynload CMake: include missing files in source files 2023-08-24 11:51:25 +10:00
rigidbody Clang Format: bump to version 17 2024-01-03 13:38:14 +01:00
sky License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
utfconv CMake: Fix Compiling Shader Builder on macOS 2023-12-08 15:47:14 +01:00
wayland_dynload Fix #115878: build error with LIBDECOR & WITH_GHOST_WAYLAND_DYNLOAD=OFF 2023-12-13 10:17:07 +11:00
CMakeLists.txt CMake: Fix Compiling Shader Builder on macOS 2023-12-08 15:47:14 +01:00