Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Tönne <lukas.toenne@gmail.com>2021-07-24 17:32:28 +0300
committerLukas Tönne <lukas.toenne@gmail.com>2021-07-24 17:32:28 +0300
commit9bff211ac9e38de090ac2cddd2bbe9636443af6f (patch)
treecfea5324a6b776729b5520ea007bfb9200e30eec /release/scripts/startup
parent23209dc8f9aedf90ddf4cc53d7170d38ddaeb5d7 (diff)
parent05c7d935e77025b87c5593dcbae38de42ed5a3ce (diff)
Merge branch 'master' into node-group-single-socket-nodes
Diffstat (limited to 'release/scripts/startup')
-rw-r--r--release/scripts/startup/bl_operators/assets.py1
-rw-r--r--release/scripts/startup/bl_operators/geometry_nodes.py5
-rw-r--r--release/scripts/startup/bl_operators/rigidbody.py21
-rw-r--r--release/scripts/startup/bl_operators/sequencer.py13
-rw-r--r--release/scripts/startup/bl_ui/properties_collection.py11
-rw-r--r--release/scripts/startup/bl_ui/properties_data_mesh.py2
-rw-r--r--release/scripts/startup/bl_ui/properties_material.py16
-rw-r--r--release/scripts/startup/bl_ui/space_sequencer.py27
-rw-r--r--release/scripts/startup/nodeitems_builtins.py2
9 files changed, 55 insertions, 43 deletions
diff --git a/release/scripts/startup/bl_operators/assets.py b/release/scripts/startup/bl_operators/assets.py
index d2655784afd..c782cd0646e 100644
--- a/release/scripts/startup/bl_operators/assets.py
+++ b/release/scripts/startup/bl_operators/assets.py
@@ -18,7 +18,6 @@
# <pep8 compliant>
from __future__ import annotations
-from pathlib import Path
import bpy
from bpy.types import Operator
diff --git a/release/scripts/startup/bl_operators/geometry_nodes.py b/release/scripts/startup/bl_operators/geometry_nodes.py
index 71ef89a066b..ec2887a1a74 100644
--- a/release/scripts/startup/bl_operators/geometry_nodes.py
+++ b/release/scripts/startup/bl_operators/geometry_nodes.py
@@ -81,7 +81,10 @@ class NewGeometryNodeTreeAssign(Operator):
return geometry_modifier_poll(context)
def execute(self, context):
- modifier = context.object.modifiers.active
+ if context.area.type == 'PROPERTIES':
+ modifier = context.modifier
+ else:
+ modifier = context.object.modifiers.active
if not modifier:
return {'CANCELLED'}
diff --git a/release/scripts/startup/bl_operators/rigidbody.py b/release/scripts/startup/bl_operators/rigidbody.py
index bc80500c888..7f5edac4dfb 100644
--- a/release/scripts/startup/bl_operators/rigidbody.py
+++ b/release/scripts/startup/bl_operators/rigidbody.py
@@ -60,17 +60,22 @@ class CopyRigidbodySettings(Operator):
def execute(self, context):
obj_act = context.object
- view_layer = context.view_layer
- # deselect all but mesh objects
+ # Deselect all non mesh objects and objects that
+ # already have a rigid body attached.
+ rb_objects = []
for o in context.selected_objects:
- if o.type != 'MESH':
+ if o.type != 'MESH' or o.rigid_body is not None:
o.select_set(False)
- elif o.rigid_body is None:
- # Add rigidbody to object!
- view_layer.objects.active = o
- bpy.ops.rigidbody.object_add()
- view_layer.objects.active = obj_act
+ if o.rigid_body is not None:
+ rb_objects.append(o)
+
+ bpy.ops.rigidbody.objects_add()
+
+ # Ensure that the rigid body objects
+ # we've de-selected are selected again.
+ for o in rb_objects:
+ o.select_set(True)
objects = context.selected_objects
if objects:
diff --git a/release/scripts/startup/bl_operators/sequencer.py b/release/scripts/startup/bl_operators/sequencer.py
index 48a02a4c5c6..8f678896e61 100644
--- a/release/scripts/startup/bl_operators/sequencer.py
+++ b/release/scripts/startup/bl_operators/sequencer.py
@@ -108,14 +108,13 @@ class SequencerSplitMulticam(Operator):
if s.multicam_source == camera or camera >= s.channel:
return {'FINISHED'}
- if not s.select:
- s.select = True
-
cfra = context.scene.frame_current
- bpy.ops.sequencer.split(frame=cfra, type='SOFT', side='RIGHT')
- for s in context.scene.sequence_editor.sequences_all:
- if s.select and s.type == 'MULTICAM' and s.frame_final_start <= cfra and cfra < s.frame_final_end:
- context.scene.sequence_editor.active_strip = s
+ right_strip = s.split(frame=cfra, split_method='SOFT')
+
+ if right_strip:
+ s.select = False
+ right_strip.select = True
+ context.scene.sequence_editor.active_strip = right_strip
context.scene.sequence_editor.active_strip.multicam_source = camera
return {'FINISHED'}
diff --git a/release/scripts/startup/bl_ui/properties_collection.py b/release/scripts/startup/bl_ui/properties_collection.py
index b51d7157c06..3f7c0735eec 100644
--- a/release/scripts/startup/bl_ui/properties_collection.py
+++ b/release/scripts/startup/bl_ui/properties_collection.py
@@ -86,12 +86,15 @@ class COLLECTION_PT_lineart_collection(CollectionButtonsPanel, Panel):
row = layout.row()
row.prop(collection, "lineart_usage")
- layout.prop(collection, "lineart_use_intersection_mask")
+ layout.prop(collection, "lineart_use_intersection_mask", text="Collection Mask")
- row = layout.row(align=True, heading="Masks")
- row.active = collection.lineart_use_intersection_mask
+ col = layout.column(align=True)
+ col.active = collection.lineart_use_intersection_mask
+ row = col.row(align=True, heading="Masks")
for i in range(8):
- row.prop(collection, "lineart_intersection_mask", index=i, text=str(i), toggle=True)
+ row.prop(collection, "lineart_intersection_mask", index=i, text=" ", toggle=True)
+ if i == 3:
+ row = col.row(align=True)
classes = (
diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py
index 7f4328bb25a..d9ad094ac4f 100644
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@ -646,7 +646,7 @@ class DATA_PT_mesh_attributes(MeshButtonsPanel, Panel):
if len(colliding_names) == 0:
return
- layout.label(text="Name Collisions: {}".format(", ".join(colliding_names)), icon='INFO')
+ layout.label(text="Name collisions: {}".format(", ".join(colliding_names)), icon='ERROR')
classes = (
diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py
index b217e33de12..1c7f3639f0a 100644
--- a/release/scripts/startup/bl_ui/properties_material.py
+++ b/release/scripts/startup/bl_ui/properties_material.py
@@ -291,18 +291,18 @@ class MATERIAL_PT_lineart(MaterialButtonsPanel, Panel):
mat = context.material
lineart = mat.lineart
- layout.prop(lineart, "use_material_mask")
+ layout.prop(lineart, "use_material_mask", text="Material Mask")
- row = layout.row(align=True, heading="Masks")
- row.active = lineart.use_material_mask
+ col = layout.column(align=True)
+ col.active = lineart.use_material_mask
+ row = col.row(align=True, heading="Masks")
for i in range(8):
- row.prop(lineart, "use_material_mask_bits", text=str(i), index=i, toggle=True)
+ row.prop(lineart, "use_material_mask_bits", text=" ", index=i, toggle=True)
+ if i == 3:
+ row = col.row(align=True)
row = layout.row(align=True, heading="Custom Occlusion")
- row.prop(lineart, "use_mat_occlusion", text="")
- sub = row.row(align=False)
- sub.active = lineart.use_mat_occlusion
- sub.prop(lineart, "mat_occlusion", slider=True, text="Levels")
+ row.prop(lineart, "mat_occlusion", text="Levels")
classes = (
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index 55714e0b0a5..47b04f9cdbc 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -1156,14 +1156,19 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel):
flow.prop(strip, "use_only_boost")
elif strip_type == 'SPEED':
- layout.prop(strip, "use_default_fade", text="Stretch to Input Strip Length")
- if not strip.use_default_fade:
- layout.prop(strip, "use_as_speed")
- if strip.use_as_speed:
- layout.prop(strip, "speed_factor")
- else:
- layout.prop(strip, "speed_factor", text="Frame Number")
- layout.prop(strip, "use_scale_to_length")
+ col = layout.column(align=True)
+ col.prop(strip, "speed_control", text="Speed Control")
+ if strip.speed_control == "MULTIPLY":
+ col.prop(strip, "speed_factor", text=" ")
+ elif strip.speed_control == "LENGTH":
+ col.prop(strip, "speed_length", text=" ")
+ elif strip.speed_control == "FRAME_NUMBER":
+ col.prop(strip, "speed_frame_number", text=" ")
+
+ row = layout.row(align=True)
+ row.enabled = strip.speed_control != "STRETCH"
+ row = layout.row(align=True, heading="Interpolation")
+ row.prop(strip, "use_frame_interpolate", text="")
elif strip_type == 'TRANSFORM':
col = layout.column()
@@ -1233,11 +1238,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel):
layout.prop(strip, "wrap_width", text="Wrap Width")
col = layout.column(align=True)
- if strip_type == 'SPEED':
- col.prop(strip, "multiply_speed")
- col.prop(strip, "use_frame_interpolate")
-
- elif strip_type in {'CROSS', 'GAMMA_CROSS', 'WIPE', 'ALPHA_OVER', 'ALPHA_UNDER', 'OVER_DROP'}:
+ if strip_type in {'CROSS', 'GAMMA_CROSS', 'WIPE', 'ALPHA_OVER', 'ALPHA_UNDER', 'OVER_DROP'}:
col.prop(strip, "use_default_fade", text="Default Fade")
if not strip.use_default_fade:
col.prop(strip, "effect_fader", text="Effect Fader")
diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py
index 2b0ac6046bc..f130a79ede0 100644
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@ -544,8 +544,10 @@ geometry_node_categories = [
NodeItem("GeometryNodeMeshToCurve"),
NodeItem("GeometryNodeCurveToPoints"),
NodeItem("GeometryNodeCurveEndpoints"),
+ NodeItem("GeometryNodeCurveTrim"),
NodeItem("GeometryNodeCurveLength"),
NodeItem("GeometryNodeCurveReverse"),
+ NodeItem("GeometryNodeCurveSetHandles"),
]),
GeometryNodeCategory("GEO_PRIMITIVES_CURVE", "Curve Primitives", items=[
NodeItem("GeometryNodeCurvePrimitiveLine"),