This fixes again some segfaults on error conditions.
It also gives some reasonable error-messageboxes if chooses the wrong
DV-format-options.
More to come...
- Improved lighting and background (also turned off shadows, unnecessary and
a potential slowdown in generating the preview)
- UV unwrapped the sphere and monkey models, so you can actually see something
useful when a texture is mapped to UV
- Added a 'hair' preview option (reused sphere icon will be eventually
forthcoming)
some avi's have 0 sized chunks that we were not handling properly.
(Need to basically rewind the avi to previous frame in this case)
http://www.cs.umn.edu/~mein/blender/avi/examp.avi has 25 frames,
4,7 and 9 are "dropped frames"
blender use to crash on these now it displays the frame before it assuming
there is one.
Kent
To enable python to change border while render, I moved the initialize
call inside of the main loop that went over the frames.
Forgot to do move the movie-initialize call as well... which now got
called with zero'ed values.
Thanks Peter Schlaile for the poke!
are already defined locally, probably does not work fully yet.
Added extra 'threads' parameter as requested by Lynx3d.
Optimized drawing of rendered tiles, so that the entire image doesn't have
to be redrawn every time a tile is complete.
The blender code that handles this part was not yet complete and could only
draw (sets of) scanlines. I extended the renderwin_progress() function in
renderwin.c to handle a given subrectangle.
This code needs review!
For the limited test I did it seems to work at least...
This code enables IPO-pinning for Sequence-strips again, by working
around the missing libdata in blenloader/intern/readfile.c.
Bad hack(tm). Maybe we find a way, to make Sequence-strips true libdata?
It also fixes two places in IPO-editing where frame-locking wasn't handled.
Edit Mesh: "Add duplicate" failed when used in mixed edge/face select mode,
you then can make incoherent vertex selections. Nicely solved.
Also, related, uncommitted fix I did 6 months ago for EM_selectmode_set().
It is supposed to deliver full consistant selection, for all combos of
selection modes.
Hotkeys Ctrl/Command (Mac) X, C, and V will cut, copy and paste the selected
text to and from the 'buttons clipboard'.
This clipboard is still not that good since it doesn't even use the same
storage as the blender text editor, let alone the host OS. But I guess that
sort of thing should be tackled inside of GHOST. Any takers? :)
strand texcoords as orco coords, so yafray doesn't have to be adapted for this.
bugfix #4254 added support for dupligroups, but might not work completely
correct yet at this point, more testing needed.
Also added some missing parts from the code apparently removed at some time.
Mainly having to do with dupliverts, cam.info for aspect ratio/ortho mode/etc.
Header stats (render window) should now work again too.
Fixed missing last tile draw of render window.
Added the missing const_cast in the win32 part of the xml export code.
[ #4272 ] Camera zooming problem
Move the camera in camera view could block inexplicably sometimes.
Was a silly programmation error that any competant compiler should have given a warning for. Alas, I'm using gcc...
Bugfixes:
- hddaudio now allocates it's decode buffer + AVCODEC_MAX_AUDIO_FRAME_SIZE
safety interval. (The former code expected all decoded audio frames to
be the same size which can hurt under some circumstances e.g. VBR files)
- writeffmpeg: some pointers where not initialized on start and after
deletion not set to null. Could segfault randomly on error conditions.
- drawseq: use startdisp and enddisp to decide, if a strip should be drawn.
(Just extend strips first or last frame beyond screen dimensions in
the previous version and watch the strip disappear)
Sequencer:
A call to view2d_do_locks() got accidentally added in main drawing loop,
causing an infinite loop of redraws when this option was used with more
sequence windows open.
Added missing view2d_do_locks() to zooming in Sequence window. Also
cleaned this call a bit.
Bugfix: If you use the IPO-pinning feature and edited an IPO that wasn't
highlighted as the current Sequence (current Sequence being a Metastrip),
you'll get obscure crashes, since the code
a) was mistakenly using last_seq
b) didn't test for se->ok != 2, thereby doing double frees on imbufs
Am I the only one, who wants to remove the last_seq global completely... ?
Small fix, but results are at least less frustrating now. It uses the
"compatible euler" function from inserting key positions here, preventing
euler values to be constrainted that differ weirdly.
I've tried several other approaches to get a definite rotate constraint,
but only constraining a single axes seems to me impossible magic still...
The new (months ago) added option for "Local Constraint" always copied
and restored a PoseChannel quaternion, that disabled the required
normalizing of quaternions.
Only visible when you manually draw Ipo Curves, but it's probable that
it showed in other cases too.
Object Layer Ipos didn't work when the Ipo was moved an Object Action.
Can't get this to work though... this option has been added with a lot
of exception handling already, and for action/nla it's very nasty to
blend/mix/add layer bit values. So; better not support that.
As feedback for users, I've added a notice popup when you try to move
layer-ipos to an action.
Compositor:
Viewer Nodes inside of Groups now work too. To not frustrate interactive
speed, the following rules apply:
- Making a Group editable (or closing) doesn't signal recalculation of
composite
- clicking on an Input socket always checks changes and calulcates
- When there are Viewers inside an edited Group, Viewers in the main tree
are not executed.
Also added: a "hide unused sockets" icon in the header of Viewer nodes.
This allows cleanup of Groups, to prevent these sockets get reveiled.
Appending a Scene, which had group-objects, accidentally linked these
objects to the active scene too. This was a mixup with the case of just
appending a group.
Define macros for Py_RETURN_TRUE and Py_RETURN_FALSE (for Python 2.3). Also
make Py_RETURN_NONE macro a little safer. Current macro will not work as
expected in situations like below since it expands to two C statements:
if( !attr )
Py_RETURN_NONE;