Based on feedback from Ton, I've recoded the way "PoseLibs" are implemented/exposed. Therefore, quite a bit of code has been changed to fit this in better.
Now, ANY ACTION can be a "PoseLib". A set of Markers which belong to the Action (it's taken a year, but they're finally back), are used to tag "poses" in the Action. These markers are shown using diamond-shaped blue icons (designed by Matt Ebb) in three shades - unselected/normal, selected, active.
Notes:
* Each Armature Object has an Action which acts as a PoseLib.
* Improved UI presented in buttons panel for this
-- added proper buttons for action assigning
-- renamed "Validate PoseLib" to "Auto-Sync PoseLib" (this option auto-tags poses based on keyframes found)
Like in the 3d-view, use the hotkeys:
* Shift-L to add a local marker
* Ctrl-Shift-L to rename a local marker
* Alt-L to delete selected local markers
Note: transforms, etc. are not currently available with these markers
== PoseLib Preview ==
Added a few features here:
* Left/Right-Arrow keys now change the poses too (previous and next respectively)
* Up/Down-Arrow keys also change the poses, but "jump" to a pose 5 steps away in their respective directions
at all if you use new 'minimal' option. The new option works much nicer
if it only sets the minimum. (use texture with 'refl' map)
Added option to env map too!
Image texture "Filter size" was not well usable for making the
appearance soft filtered, this because it multiplied the sample
values, and such values could be extreme small.
Added next to "Filter" buton a new "Min" option, which enforces
a filter size to be a minimum of 'filter' pixels in size.
Since there was no easy way to apply a constraint's transformation back to the original objects transformation.
Also adjusted how Apply Scale/Rot works so that it wont change some objects then raise an error and leave others unchanged, better to check first so it changes everything or nothing.
- protecting the particle cache now actually protects the cache a bit better and not just prevent the clear button from working
- cache was being used for "none" physics.
- a bad tooltip for "reactor initial velocity"
This commit adds a missing initialization that caused "Toggle Link (f key)"
not to work properly in case a file with an existing selection status was
opened.
Directional Blur node allows the users to do various blur operations on the input
image. It essentially offers three different kind of ways of blurring in one node.
It is possible to blur using a certain direction, spin and zoom. These three ways
can be used in conjunction.
The node contains following controls:
*Iterations, Wrap
*Center: X, Y
*Distance, Angle
*Spin
*Zoom
Iterations is used to determine the smoothness of the result. The more iterations,
the smoother result. Low values are good for preview.
Wrap means that the image is wrapped as if it was tiled on both x and y directions.
To see better what this means, try it with spin for instance.
Center values (X and Y) determine the location which is used as a pivot point for
the operations. It is center (0.5) of the image by default.
Distance and angle are used to adjust directional blur. The result can be described
as a sweep that varies based on given distance (bigger distance, longer sweep) and
angle. Angle is given in degrees.
Spin produces rotating blur based on given angle. Yet again it is in degrees. Also
negative values work.
Zoom causes the image to be zoomed towards set center point (Center values).
Thanks to Alfredo de Greef (eeshlo) for contribution.
Possible development ideas:
*Make an algorithm to extend image in case spin is used. Extend would temporarily
change the size of the canvas of the input image. Canvas would be filled based on
colors on the edges of the input image. After the blur operation has been done,
the image would be cropped back to normal size. The advantage of this would be nicer
result of spin (no problems with image size) on a computational cost.
*Make values animatable. This is something that is better solved on more general
level. ("everything is animatable" paradigm)
*Provide an option to calculate automatic value for iterations. A good value that
produces a smooth result could be calculated based on direction deltas. This would be
useful in conjuction of animatable values.
* Fixed crash using Interactive Preview, on an armature without a PoseLib
* Cancelling Interactive Preview now correctly restores the original Pose
* Interactive Preview now sets the correct active pose after it is run
* Interactive Preview now also updates the buttons window after it is run
* Clicking on the "New PoseLib" button now creates a new PoseLib action, even when one existed before
* Poses can be applied using the Pose browsing menu (i.e. when a menu item from that list is clicked, that pose is assigned)
This commit adds a new tool, Toggle Links, to the node editor. This tool
allows the user to toggle the status (linked/not linked) between desired
sockets. The tool can be used either by using the f key or the menus.
This functionality is analogue to one found in object editing modes except
for its additional toggle functionality.
To use this tool, the user has to first select an input and an output socket.
Selecting is done by clicking with right mouse button on a socket. After the
tool has been invoked, the link between those two sockets is toggled. The
result may vary based on existing linkage.
There can be only one input and one output selected at maximum in a node
tree. This means that if the user selects a socket while one of the same
type is already selected, the old one will be deselected.
The tool complements the current way of connecting nodes. One possible use
for it is to use it to review output of nodes by using a viewer node. Just
select wanted input socket of a viewer node, set it visible and use selection
of an output socket in conjuction with f key to show the output in the viewer
node. Select another output and hit f to see its output and so on.
* When previewing poses, it is now possible to manipulate the view to look at the pose from another angle. It is a known issue, that the normal header displays when using the MMB to do so.
* Added a tool to "validate" or sync its PoseLib data to the keys stored in the Action.
Kent
Notes From the author:
The attached patch syncs the DDS code in Blender with the latest revision
(324) of the nvidia texture tools. This fixes a few minor issues and adds
support for a more types of DDS textures, in particular uncompressed textures
that don't have the standard 16, 24, or 32 bits per pixel.
Note: I have started using the nvidia texture tools convention for naming
integer types (uint, uint16, uint8, uint64 etc.) because doing so makes it
much easier to merge patches from upstream. Since the code is compiled
separately from the rest of Blender, this likely does not pose a problem.
However, if there turns out to be a good reason for avoiding those nvidia type
names from upstream, I'd be happy to fix it.
Regards,
Amorilia
Moved status info bar into panels. It was always shown on the wrong place...
Added anim-startofs and anim-endofs, so that one can specify the range of
_input_ that should be used.
There is a subtle difference to start-ofs and end-ofs,
which will show, when you use "Reverse Frames" or "Speed Control". Both
effects operate on the input-range and _not_ on the display range! Now
you can control both in a comfortable way. Only thing missing: a button
to copy start-ofs and end-ofs to anim-startofs and anim-endofs.
(Andy: that was the feature you missed, when storyboarding with the sequencer
and the speed control effect :)
Also: added File-Name and Dir-Name to redirect input as needed.
Node curves maintain handles status (normal, auto, vector) even after adding
a control point now. This makes the behavior the same as in case of removing a control
point. Previously the status of handles was reseted.
Moved N-keys dialog into panel (sub panel of "Scene")
_much_ better :)
Since UI-code isn't directly my main field of coding, please check
thoroughly...
"A slightly late Christmas present for the Animators out there :-)"
This tool allows animators to store frequently used poses in an action, and be able to label those poses to help them retrieve them later. In a way, it acts as a glorified clipboard for poses.
One of the cool features with this is the ability to select which stored pose to use interactively in the 3d-view. Once a few poses have been stored in the PoseLib, simply use the "Ctrl L" hotkey to start previewing. Use the Mousewheel or the Page Up/Down keys to change poses, and confirm/cancel the preview in the same way as you do for transforms.
Usage Notes:
* Each Armature may get its own PoseLib. PoseLibs are simply actions with extra data, so they can get relinked.
* Manually editing actions used as PoseLibs is not a good idea, as some data may not be able to be found. Tools to automagically find poses in an action could be investigated...
* PoseLib will only apply/retrieve poses to/from selected bones
* A basic UI for this can be found in the "Links and Materials" panel. Most of the PoseLib tools are presented there.
Useful Hotkeys (also found in Pose->PoseLib menu):
* Ctrl L - interactively preview poses
* Shift L - add a new pose or replace an existing pose in the PoseLib with the current pose
* Ctrl Shift L - rename an existing pose in the PoseLib
* Alt L - remove a pose from the poselib.c
Cleaned up bad level calls for multires; moved most of multires functions to blenkern, where they should have been in the first place. Functionality of the tool is unchanged.
Adding special hotkey (MMB) to reverse the direction of the warp.
Normal input is 0..360 mapped to the horizontal position of the mouse on the 3D view (the 3D view becomes a sort of giant horizontal slider), pressing MMB reverses the value to 0..-360 and back if you press it again.
I've used MMB mostly because it's unused in Warp, easily accessible and already used to switches mode for Shear (shear x/y).
Indirectly suggested by a user question on ba.
Reworked image / movie loading, to add the following features:
- Mute strip
- Lock strip (peach request :)
- Crop / Translate _before_ image rescaling
- N-keys editing of start, startofs, endofs, startstill, endstill
Added (currently disabled) data structures for
- proxy support
- strip blend modes (currently only "REPLACE" works, which always did :)
Planed:
- automatic FPS rescaling
- command keys to lock/mute a bunch of selected strips
(which would complete the peach request to lock tracks)
Caveats: now the N-keys dialog is four-tabbed. I think, we should move those
tabs into the panels dialog in the future...
Updated scons to work with the ffmpeg binaries in
lib/windows/gcc again. Also fixed a bug reported by
Debolaz on irc. Blender's internal avi reading (which can
only read simple formats like motion jpeg) was telling the
video code it could read all avis, without checking their
codec.
To fix this, I copied AVI_open_movie(), and modified it to
to replace AVI_is_avi(). Now it properly checks the codec,
and validates the header.
[#7861] Sequencer segfaults when trying to add images
Fixed some _really_ stupid bugs in transform_seq, that made it segfault
if one selected 0 images.
Fixes [#7475] no video as background
libswscale sets the alpha channel to 0 by default... grmbl.
Added a workaround. Big endian users please complain, if it doesn't work.
Correct playback frames per second when "Play" is pressed. (Play spawns a new instance of blender, it could pass an argument that sets the frames per second)
(double credit :)