Page MenuHome

Include node name for socket animation channel UI
ClosedPublic

Authored by Philipp Oeser (lichtwerk) on Nov 3 2021, 12:21 PM.

Details

Summary

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.

before


after

before

after

ref. T91917

Diff Detail

Repository
rB Blender

Event Timeline

Philipp Oeser (lichtwerk) requested review of this revision.Nov 3 2021, 12:21 PM
Philipp Oeser (lichtwerk) created this revision.
Jacques Lucke (JacquesLucke) requested changes to this revision.Nov 3 2021, 12:48 PM

I like the change in general, however the call to nodeFindNode is not good enough unfortunately. It currently has to iterate over all nodes and sockets internally to find the node. This could make the editor much slower under some circumstances.
You could try to extract the node name from the rna path instead.

This revision now requires changes to proceed.Nov 3 2021, 12:48 PM

retrieve name from rna path for performance reasons (label is not possible anymore)

Philipp Oeser (lichtwerk) retitled this revision from Include node name/label for socket animation channel UI to Include node name for socket animation channel UI.Nov 3 2021, 1:08 PM
Philipp Oeser (lichtwerk) edited the summary of this revision. (Show Details)

Nice, much better than before.

source/blender/editors/animation/anim_ipo_utils.c
39

The includes are not necessary anymore.

149

typo (distinguishable)

This revision is now accepted and ready to land.Nov 3 2021, 1:20 PM

Looks great! Maybe eventually we can hide the "Default Value" text too, this function looks complicated enough right now though.

Looks great! Maybe eventually we can hide the "Default Value" text too, this function looks complicated enough right now though.

I agree. Default Value doesn't say anything and makes the string too long to even see the useful bit in small sidebars. For a different patch (and a welcome one!).
Thanks for working on this quality of life improvement.

Looks great! Maybe eventually we can hide the "Default Value" text too, this function looks complicated enough right now though.

I agree. Default Value doesn't say anything and makes the string too long to even see the useful bit in small sidebars. For a different patch (and a welcome one!).
Thanks for working on this quality of life improvement.

The thing is that we cant just swap the display from "Property (Node : Socket)" to the more appealing "Socket (Node)", because (at least in theory) other socket properties could be animated:


Of course I agree that in 99% of cases it will be Default Value being animated here and displaying that feels redundant.
So how could we do this?

  • display "Node : Socket" in the case of Default Value? And "Property (Node : Socket)" otherwise?
  • display "Socket (Node)" in the case of Default Value? And "Property (Node : Socket)" otherwise? (this might make sense for most people, but being strict this would be wrong because the socket is not the property being animated here...)