Hi all,<br><br>This week I spent quite a bit of time recoding various existing functionality to allow it to work correctly with NLA, and addressing some of the wishlist items animators had for 2.5&#39;s animation editors. The following (most of the todo tasks from last week, plus a few extras) tasks were done:<br>
- Operators to move strips up/down one track. <br>- Renamed NLA operators to use a cleaner naming convention<br>- Made repeat work again. This started out as a bugfix, but quickly turned into a rather major refactor of a few API&#39;s. Repeats are now shown on the buttons.<br>
- F-Modifiers now work from the NLA too (NLA-Strips can have F-Modifiers added to affect all of the F-Curves they reference). The (unnecessary) FModifier&lt;-&gt;FCurve dependency was cleared up for the API functions there. Likewise, the UI drawing code was ported over to the layout-engine to make the layouts work in the NLA-Editor, with code cleanups made along the way. <br>


- Added option to toggle between tweaking some strip&#39;s action &#39;in place&#39; (default) and in its unmapped timespace <br>- Added additional filtering options for action Groups - muting of all F-Curves within a group, and hiding all F-Curves within a group (in the Graph Editor only)<br>


<br>


Bugfixes Done:<br>- repeat works again<br>- showing/hiding layers
correctly updates the scene layers again, so objects on the previously
hidden layers get shown in Animation Editors. I&#39;ll hold off porting this until the <br><br>Questions/Issues:<br>- I
have a minor problem trying to provide RNA-access to an array of
dynamically allocated floats. This is needed for the &#39;Coefficients&#39;
array of the Generator F-Modifier (see rna_fcurve.c for the relevant
RNA-wrapping code. I&#39;ve commented out an approach to get this working
using collections, though I can&#39;t easily see how I&#39;m supposed to string
together a complete set of collection-funcs to iterate or otherwise so
that the items can be accessed as a list or so of floats. For now, this is not that critical, since I could still manage to hack together a hybrid layout_rna + old-skool widgets UI to access these. However, it would be good to clean this up.<br>
<br>- I&#39;m currently still stumped on how to extend the transform code for NLA strips in the best way to solve 2 issues noted during user testing:<br>a) moving strips between tracks interactively - there&#39;s the single-step operator as a fallback now, but being able to move between tracks while transforming does seem more intuitive<br>
b) preventing truncation of (normal) strips when they run into other strips<br>If I don&#39;t come up with any interesting ideas to this in the next few days, I might just drop this target for now. Part of the dilemma is that none of the existing transform methods really work well for this (sequencer style results in unacceptable overlapping strips within the same track/layer, graph editor style doesn&#39;t deal with scaling too elegantly, ...)<br>
<br>- User testing time :)   Nice screenies and files demonstrating how this works would be nice<br><br>Todos:<br>- user-animateable influence/time controls -&gt; implement changes to keyframing code to cope<br>- review keyframing for modifier properties (related to above item too?)<br>
- finish writing the documentation<br>- track down any crashers/bugs which I find...<br>- ... yet to be decided... (hook up stride/cycle/whatever that last auto-walking solution was again)<br><br><br>BTW, this week should be a good time for users to start testing again. Probably after I release the docs, to reduce the confusion about how things worked that cropped up last time :)<br>
<br><br>Regards,<br>Joshua<br>