Page MenuHome

Fix T90595: some VSE strip properties do not identify strip name in anim channel names
ClosedPublic

Authored by Philipp Oeser (lichtwerk) on Aug 11 2021, 2:34 PM.

Details

Summary

Working with multiple strips keyframes was unneccessarily difficult in
Animation Editors (since some anim channels could not be distinguished).

Namely Crop and Transform are nested structs (nested under
Sequence), so these were just displaying the raw struct name.
Also strip modifiers did not have their strip name in their channel
names. Now include the strip name for these.

before

after

Diff Detail

Repository
rB Blender

Event Timeline

Philipp Oeser (lichtwerk) requested review of this revision.Aug 11 2021, 2:34 PM
Philipp Oeser (lichtwerk) created this revision.
This revision is now accepted and ready to land.Aug 11 2021, 2:44 PM

Just noticed a memleak, will need to correct before committing...

Hans Goudey (HooglyBoogly) added inline comments.
source/blender/editors/animation/anim_ipo_utils.c
138–140

Some grammar thingies here.

141–143

IMO this is a bit more readable with the "or" part separated into another if statement (at the cost of another indentation of course).

Just to make sure if this OK performance wise (string lookups run on certain UI refreshes), will add corresponding reviewers.

Note though that this only runs for properties not directly on an ID (there are string lookups right above this change for "bones[" and "constraints[" that always run, so...)

If we want to remove the malloc/free we should move this code to CPP and use Blender::StringRef.

  • improve string parsing performance a bit (use "startswith", also only do for scenes)
  • address review comments
Philipp Oeser (lichtwerk) marked 2 inline comments as done.Aug 13 2021, 3:10 PM