**Preface:**
I know this isn't the place for feature requests. However I plan on implementing this myself soon. This is more of a heads up and acts a way to get feedback before or while I'm working on it. Maybe I'm overlooking something or maybe the idea can be developed further. People can discuss problems and improvements here instead of within the patch comments itself. That way the important discussion can remain here for easier reference.
**Problem:**
For the animation layer workflow, the only way to combine strips into a single strip is to use the Bake Operator. However, it will always bake all active NLA strips to a single full replace strip. Effectively, this is a "Merge All" operator. There is no way to merge a selected set of strips.
**Solution/Implementation:**
The solution is close to what we already do for keyframe remapping in //anim_sys.c// : //BKE_animsys_nla_remap_keyframe_values()//. For a set of contiguous selected NLA strips, we calculate two NLA snapshots. One includes the lowest strip up to and including the selected NLA strips, //merge_result_snapshot//. This is the result that the merge output strip must satisfy when the selected NLA strips are muted or (optionally) deleted. The other is similar but excludes the selected NLA strips, //lower_result_snapshot//. After muting all the selected NLA strips, we use //merge_result_snapshot// and invert //lower_result_snapshot// which leaves us with the fcurve values of the merged strip.
Diff: {D8867}