- Amsterdam, Netherlands
- https://cessen.com
-
Animator, rigger, and software developer. Currently working at the Blender Institute as a developer on Blender's animation system.
Been using Blender since 1998, and worked on Big Buck Bunny and Sintel (two of Blender's open movie projects).
- Joined on
2003-03-21
Ah! Good catch.
My guess is it shouldn't be allowed, but we're trying to reproduce the behavior of the existing system, so I'll double-check that first.
We decided to have the groups in layered actions use offsets into the fcurve array to specify membership, rather than pointers. We are, however, maintaining an invariant that the old system had:…
@dr.sybren is away from the office for a while. The code looks good to me and works in testing, and you've addressed his comments from his initial review. So let's merge.
I feel like the logic of either iterating FCurves of a slot or all FCurves on the legacy action will repeat a lot. Is it worth it to modify the
action_foreach_fcurve
function to work on legacy actions and just use that throughout?
We're passing both an object and animdata here. It appears that the animdata is always the passed object's animdata, so that feels a little redundant. But I might be missing something: is there a reason to pass them separately, rather than just passing the object and getting the animdata from that?
This could indeed be a bug.
@HSUCHIACHAN Can you confirm whether or not you have visual keying enabled? And if you do, can you try disabling it and see if the issue persists?
The reason I'm…
Looks good to me, and indeed seems to fix the issue when testing.