tornavis/scripts/templates_py
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
..
addon_add_object.py
background_job.py
batch_export.py
bmesh_simple.py
bmesh_simple_editmode.py
builtin_keyingset.py
custom_nodes.py Nodes: expose multi-input sockets to custom nodes in the Python API 2024-02-12 20:28:56 +01:00
driver_functions.py
external_script_stub.py
gizmo_custom_geometry.py
gizmo_operator.py
gizmo_operator_target.py
gizmo_simple.py
image_processing.py
operator_file_export.py
operator_file_import.py
operator_mesh_add.py
operator_mesh_uv.py
operator_modal.py
operator_modal_draw.py
operator_modal_timer.py
operator_modal_view3d.py
operator_modal_view3d_raycast.py
operator_node.py
operator_simple.py
ui_asset_shelf.py
ui_list.py
ui_list_generic.py
ui_list_simple.py
ui_menu.py
ui_menu_simple.py
ui_panel.py
ui_panel_simple.py
ui_pie_menu.py
ui_previews_custom_icon.py
ui_previews_dynamic_enum.py
ui_tool_simple.py