Sequencer Feature, Split Image Sequence.
Splits a image sequence into strips. useful for importing frames for animatics.
Also added undo calls in a few places that did not have it.
Object constraints with a driven influence ipo were not being evaluated
properly. The code for adding the depsgraph relation and updating without
time changes was simply missing.
Fixed Campbell's patch for IMB_flipx:
- header file declaration is corrected
- reordered loops to make things faster (less cache misses
and no tests for float-buffers on a _per pixel basis_!)
(Campbell: it'd be nice, if you could check with me before patching
the sequencer. Or at least pay attention to compiler warnings :) )
new option for the image sequencer's image strips, flip x/y, (useful when making animatics to test the direction characters walk across the screen)
added IMB_flipy was alredy there, needed to add IMB_flipx.
When auto-keyframing AND 'around selected' were both activated, extra keyframes were being added when the view was moved.
This was because the transform code was being used for special center calculations (using TFM_DUMMY), so auto-keying is not skipped for that mode.
B-Bones already deformed the mesh in the armature rest position, which is
unconvenient. For backwards compatibility existing .blend files still have
a button for the old behavior enabled.
(peach feature request)
Grab/Extend from frame - similar to a feature thats know as ripple editing in other applications. this is a fast way to add or remove frames
from
clips. to use.
Select all, drag the playbak head to the area you want to extend and press Ekey, the clips will be extended on the side the playhead that
the mouse is on.
Also did more cleanups to sequencer transform code.
Now MMB-constraint select should now work better than it did after the refactor. I've made some changes to setNearestAxis so that it is now an entrypoint from which spacetype (currently divided into 3D or 2D) specific methods can be used. The old code for this (IPO MMB-constraint) has effectively been restored.
When transforming on one axis in a 2d-editor, it no longer mentions 'global' in the header print.
Un-related note: the mmb constraint selection in 2d-editors is currently quite wonky, as the current code for this only suits the 3d-view.
Trackball transform did not work correctly for "individual centers" pivot mode in face-select mode. It was missing a case that would allow this happen.
changed teh way single images operate,
* they dont act like a sequence of 1 image - so you can drag and resize without the trouble of having teh center image.
* they draw without the single frame in them. and no 'gutter?' strip drawing.
* the start frame is always set to be where the handles start.
This is done in the transform and draw areas of the sequencer. added 2 functions,
fix_single_image_seq - moves the seq start without any visible change - so it will load in older blend's
check_single_image_seq - quick way to check for single image.
rewrote the part that deals with moving the strips on the X axis - only user visible functionality is that you can move the seq bounds in one step now.
internally added macro's to make dealing with sequence's less touble.
by Fahrezal Effendi (exavolt)
This adds an additional preference to the view and controls section, which uses the mouse's position as the centre of the zoom when zooming in the 3D View with Ctrl-MMB or the mouse wheel. It's very nice for big scenes, thanks Fahrezal!
A nice todo would be to add this for 2D views as well.
Pasting values into/onto sliders in the Action Editor didn't insert new keyframes for the related channels.
I've added a one-liner to the interface/buttons code which calls the button callback upon pasting values, thus fixing this bug and perhaps some others in the future. This shouldn't cause any problems in general (I haven't seen any yet!).
Thanks to venomgfx (Pablo Vazquez) for reporting this.
* editaction.c - merged the functions for channel properties (renaming, slider limits, protect/mute, etc.)
* blenlib
- added a new function BLI_findindex which finds the index position of a given item in a list. It will return -1 if it can't find the item
- tidied up code formatting so that (the bits I have checked) have a single formatting style instead of a few different ones
- added a few paranoia checks for NULL in one of the listbase-related functions
- removed some half-dutch variable names still lurking around
- culled a few compiler warnings... there are still two in util.c related to (const char *) and (char *) type things