Page MenuHome

NLA: Always Show All Strips and Sync Length Fix

Authored by Wayde Moss (GuiltyGhost) on Apr 26 2020, 3:17 AM.



This patch has been separated into

Everything afterward is obselete.

I'm still learning how to upload patches correctly using arc, apologies that the first commit is unrelated.


Currently, it's difficult to use the NLA system for users who are only interested in using it as animation layers. (1) Entering tweak mode hides strips which are not evaluated. If the user wanted to edit a different strip, they must exit tweak mode, look for the strip, then re-enter tweak mode. (2) This should've been a separate diff but syncing strip length to the action length changes the overall NLA evaluation result. This is due to only the length being synced instead of the start and end times.


  1. All strips are always shown. The user can now see the next strip they want to start editting. While in tweak mode, if the user selects a new strip, we remain in tweak mode. The process is now simplified to: User wants to edit a different strip so all they have to do is select it.
  2. Both strip start and end sync to the action, accounting for strip speed scaling. Now when the user exits tweak mode, the overall NLA result is unchanged.

Old: Changing tweaked strip

New: Changing tweaked strip

Old: Sync Strip Length which changes the NLA result

New: Sync Strip Length which preserves the NLA result

Diff Detail

rB Blender
nla_user_friendliness (branched from master)
Build Status
Buildable 7732
Build 7732: arc lint + arc unit

Event Timeline

Wayde Moss (GuiltyGhost) requested review of this revision.Apr 26 2020, 3:17 AM
Wayde Moss (GuiltyGhost) created this revision.
Wayde Moss (GuiltyGhost) retitled this revision from I'm still learning how to properly upload patches. Apologies since the first commit in this diff is unrelated. to NLA: Always Show All Strips and Sync Length Fix.Apr 26 2020, 3:18 AM
Wayde Moss (GuiltyGhost) edited the summary of this revision. (Show Details)

This should've been a separate diff but syncing strip length to the action length changes the overall NLA evaluation result.

I don't quite understand this. If things should be in a separate diff, please update this diff so that it only has the relevant code changes.

Alright, I've separated the diff into 3 to keep the changes clearer and removed the unrelated changes.

D7600 shows all strips even if in tweak mode
D7601 remains in tweak mode if selection changes
D7602 no longer changes the NLA result when the strip is synced to the action bounds

Please don't use indentation to separate headers from the rest of the text. This is meant for code formatting.

@Wayde Moss (GuiltyGhost) can you update the patch description so that it also includes information on how it impacts people who are used to the current way things work? If strips automatically start changing their length, I can imagine that this could also cause problems for people.

Also update the description for things like "This should have been a separate diff" -- well, it is now, so please make it simple to understand what exactly is part of this diff and what is not.