[Bf-blender-cvs] [8b516d87120] master: Include node name for socket animation channel UI
Philipp Oeser
noreply at git.blender.org
Wed Nov 3 15:34:48 CET 2021
Commit: 8b516d8712024af9380fe3f7559c336042d612f5
Author: Philipp Oeser
Date: Wed Nov 3 12:05:43 2021 +0100
Branches: master
https://developer.blender.org/rB8b516d8712024af9380fe3f7559c336042d612f5
Include node name for socket animation channel UI
The channel names were often indistingushable in animation editors.
Now include the node _name_ (unfortunately, getting the _label_ could
result in bad performance in some circustances -- see previous version
of D13085).
Similar to what rB77744b581d08 did for some VSE strip properties.
ref. T91917
Maniphest Tasks: T91917
Differential Revision: https://developer.blender.org/D13085
===================================================================
M source/blender/editors/animation/anim_ipo_utils.c
===================================================================
diff --git a/source/blender/editors/animation/anim_ipo_utils.c b/source/blender/editors/animation/anim_ipo_utils.c
index 6fe32699907..05837ed17b9 100644
--- a/source/blender/editors/animation/anim_ipo_utils.c
+++ b/source/blender/editors/animation/anim_ipo_utils.c
@@ -145,6 +145,22 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
}
}
}
+ /* For node sockets, it is useful to include the node name as well (multiple similar nodes
+ * are not distinguishable otherwise). Unfortunately, the node label cannot be retrieved
+ * from the rna path, for this to work access to the underlying node is needed (but finding
+ * the node iterates all nodes & sockets which would result in bad performance in some
+ * circumstances). */
+ if (RNA_struct_is_a(ptr.type, &RNA_NodeSocket)) {
+ char nodename[256];
+ if (BLI_str_quoted_substr(fcu->rna_path, "nodes[", nodename, sizeof(nodename))) {
+ const char *structname_all = BLI_sprintfN("%s : %s", nodename, structname);
+ if (free_structname) {
+ MEM_freeN((void *)structname);
+ }
+ structname = structname_all;
+ free_structname = 1;
+ }
+ }
}
/* Property Name is straightforward */
More information about the Bf-blender-cvs
mailing list