This fixes several issues with the Speed Control Effect:
* IPO curve-deletion resulted in non-working effect
* easy retiming only allowed enlarging of strips,
now shrinking is also possible (easy retiming:
use the right display handle of input strip and
shrink or enlarge, will make the speed of the
strip exactly fit the effect strip's length)
* frames after end-of-display of input strips can
now be accessed (which is necessary for fix#2)
=> just use easy retiming from now on, it's fun :)
Fixed color balance tool. Problem was: we pretended to do Lift/Gamma/Gain,
but in reality we did (1-Offset)/Power/Slope. (slightly modified ASC CDL).
So now, the GUI is able to switch modes between ASC CDL-mode and real
Lift/Gamma/Gain.
It also adds a switch to enable Neutral Black/White flipping
(very usefull for black point selection)
This closes:
[#18078] bugfix #18010 Sequencer lift
This adds a per preview option to set render sizes (which proxy size is used).
That makes it possible to have
* several small preview screens which update really fast using the proxy files
* one large output screen that operates in full resolution
Since most of the time not all input strips are considered when calculating
an output screen, this is a big win.
Also: one can disable a preview screen completely using this option.
Other use cases: vector + chromaviews don't always need full resolution
pictures and work equally well on proxy files!
This option finally makes my working setup _completely_ realtime :)
This adds custom proxy file storage to the sequencer.
Reasoning: sometimes low resolution versions are already available as a
seperate file built by the capture application.
So there is no real reason to make blender build it's own seperate proxy.
This also somewhat fixes (aehm works around :) )
[#13632] Creating Proxy Takes Over Process, Should be Background
Since now you can just fire up ffmpeg to build your proxies in the background.
(You could have done before and build a directory of jpeg files, but then you
would have to rename all the files since otherwise things are off by one...)
This fixes:
[#18007] Audio playback of a scene strip containing audio is broken.
(needed a different recursion protection than video render code, since
video and audio render can be called simultaneously because of SDL audio thread
callbacks)
Also: we don't display a wait cursor, if the scene strip has DOSEQ enabled.
(no need to wait, it is the sequencer which is realtime by definition :)
+bvhtree cache (if the derived model doenst gets destroyed then the same BVHtree can be used)
this was needed to allow shrinkwrap constraint to be usable.
It has been ready for a long time.. but only got merged now, for 2.49.
Snap to armature correctly in edit mode and when posed.
Merge snap and embed in skeleton sketching. Ctrl key does both, depends on the snap mode (volume or other). Snaps to other strokes in all snapping mode except Volume.
- Volume embed is available as a transform snap option (need new icon). Not as "continuous" as stroke embed, will have to be fixed somehow.
- Transform snaps work in armature edit mode (only snap to mesh, not other armatures, for now). Adding to other edit data type should be easy.
- Strokes can use all the transform snap options plus volume embed.
Bug fix: added small threshold to face snap (and volume embed) to prevent slipping in cracks between faces. More tweaking needed but this now takes care of all the worst cases.
vector in perspective mode. This is default OpenGL behavior, but
by now this optimization is really insignificant. Works in both
the 3d view and game engine.
* Renamed view_autodist to view_mouse_depth
* Accept args for mouse location and pixel distance around the hotspot used to lookup the depth.
* removed persp(PERSP_VIEW) within this function, since it didnt set the view back.
imagepaint.c
* normal falloff now works as Brecht suggests. Normal limit of 80 will blend between 80 and 85deg, 70deg limit blends between 70-80deg.
* convert normal falloff to radians on initializing rather then on every comparison.
* Ctrl+Click setting the cursor in its own function.
* projection painting wasnt accounting for an exception for too high pressure values on first touch in windows for some tablets.
* removed grease pencil benchmark function
This also adds a special Embedding option called "Peel Objects". This option makes the embedding snap consider objects as whole, taking the first and last hit of each of them to calculate the embedding point (instead of peeling with first/second, third/fourth and so on). This option is useful if you have mecanical pieces with lots of details (as single objects) and want to put bones in the middle (think of adding bones to a mecha, for example).
outliner. Clicking on one activates it and takes you to the object buttons - it's a
lot better to see what's going on than a little < 1 Part 5 > that gives very little
indication.
Reset transform restriction flags when switching to other transformations while running.
Also don't draw constraint if no constraint flag is on (old annoyance).
Display the number of joints in the selected template in the sketch panel
When using selected bones as template, turn off Connected if bone has a parent that is not copied.
Calculate new roll based on the angle to the normal of the joint (cross produce of the two bones).
This works best in some cases but not in others, so it's an option for now.
I'll have to see if I can iron the left over kinks, then it can be made the default (with Align to view an added option).
Fix the roll mess in transform. Since roll is based on an automatically calculated up axis, transforming bones would mess up bone orientation. This code automatically adjusts the roll value to keep bone orientation as consistant as possible. That works all around in transform for all transformations.
Doesn't work with x-axis mirror though as that doesn't use transform elements (fixing it would be nice for later)
Most interesting is that it works with the mirror tool (obviously), so you don't have to fix all the rolls after mirroring one side of an armature.
It could be made an option if someone presents a good enough point for that, but I can't see why you'd want the previous mess instead.
NB: this also ports a utility fonction from etch-a-ton to set bone roll from an up axis.
Robin (Frrr) Allen did a decent job on this, so we can also welcome him
as a member in the svn committers team to maintain it!
I do the first commit with some minor fixes:
- get Makefiles work
- fix rounding issue with tiles on unit faces
- removed UI includes from tex node
A nice doc in wiki is here:
http://wiki.blender.org/index.php/User:Frr/TexnodeManual
On the todo for Robin is:
- When using one or more Texture-input nodes, you cannot edit them by activating
(as works now for Material nodes).
- The new "output node" option fails on the default case, when only one
output node is active. It then shows often a blank menu. Will get fixed asap.
- When using a NodeTree-Texture as input node, the menu for 'active output'
should not show. NodeTree should ignore other nodetrees to keep things sane
for now.
- On a future todo is proper usage of "Dxt" and "Dyt" texture vectors for
superior antialising of checkers/bricks.
General note; I know people are dying to get a full integrated shader system
with nodes. In theory we could merge this with Material Nodetrees... but I
rather wait for a solid and very well thought out design proposal for this,
also including design ideas for unifying with a shader language (GPU, CPU).
For the time being this is a nice extension of current textures. :)
This commit adds an exception for rotations (standard rotation and tracball) to still work on children of transformed objects and bones in an expected fashion. That is, you can select a chain of finger bones and rotate to flex them all at once.
Notes:
[1] This could be expended to other transformations if needed.
[2] Center of transformation is determined using the same principle as hinge bones (transformed children aren't taken into account)
First pass for retargetting template's renaming magic. For now, in new retargetted bone's name: %S (side) and %N (number) will be replaced by user defined strings.
Will need to experiment on how useful that is and how it could be better.
Moving stuff home, saving doesn't work ok yet, will finish this later today, demo video when done.
Also a couple of bug fixes for crashing and some text reformulation and the like.
Use stroke normal to align roll of the retargetted bones.
Unlike stroke conversion, the final roll is not forced to point exactly to the normal. Rather, It tries to align the X or Z axis of the bones (whichever is closest) to the stroke normal. Forcing the roll can invert knees while this rightly only makes one of the joints rotation axis perpendicular.