===========================
Implemented 2D stabilization:
- Based on average point of several tracks.
- Tracks for stabilization are controllable from
"2D stabilization" panel.
- Implemented autoscaling. Could fail if average point is
too close to frame boundary.
- Background clip in 3D viewport and MovieClip input
compositor nodes are using stable shot.
Some internal weak things:
- Stable shots aren't cached in moviecache. There is
only one "slot" for stable shot inside stabilization
structure.
- This could fail if several threads are requested different
frames (for example when starting playback, pause to make
Nodes Editor trigger refresh, continue playback).
- Due to it shouldn't crash i decided to implement better
caching for stable shots a bit later.
Enabled by default and also enabled for older filesm so
there should be no regressions.
In some cases it's useful to not use subdivided uvs for multires.
===========================
- Small code cleanup.
- Added missed notifier for animation play start.
- Fixed bundle colorcode detection (it didn't use track
offset to determine distance between original track
position and bundle projection).
- Changed behavior of alt-g grabbing. Now it defines offset.
===========================
Attempt to switch moviecache to use CacheLimiter.
Some changes in limiter were necessary:
- Limiter counted mapped memory twice when was chacking
how many memory is used.
- It was using "global" memory usage not memory usage by
cached elements. It will cause big problems when there's
large mesh or plenty of undo steps are in memory nothing
would be cached in sequencer.
- To solve this problem introduced "callback" to measure
cached element size. It could be not very accurate in general,
but it works well for image buffers. And if this callback
isn't set old-school memory usage check would be used.
- The whole cache used to get freed when memory limit exceeded,
now it'll drop only as much elements as necessary to reduce
memory usage.
Sequence cache wasn't switched to use moviecache but
now it's really easy to do. When i'll be sure new caching
scheme works fine.
Now clip editor uses as much memory for cache as it's set in
User Preferences (Preferences -> System -> Sequencer -> Memory
Cache Limit) which si 128Mb by default. Please do not complain
about few cached frames out-of-box and just increase limit
there. Caching fixed amount of frames wasn't so nice indeed.
===========================
- glog should no flood into logs files now.
- Request from Francois - changes in sliding:
* Anchor point is for sliding the whole marker.
* Square on pattern moves pattern and search relative
to anchor point.
* Square on search moves search only.
- Bundles in 3d viewport are colored by track custom color.
===========================
- Clip Editor now could be an owner for jobs. It was useful
when i've been attaching Peter's work in my local repo.
- Fixed mouse selection to handle offset correct.
- added menu templates
- move template menu into the header of the text editor (so users will find more easily)
- updated mathutils examples, switching the order of multiplication.
===========================
- Split clip hotkeys into two categories:
* Global
* Editing
This allows to re-use such hotkeys as track markers
from properties region without worrying about conflicts.
- Anchor point could now be offseted from marker position.
- Pattern can now be symmetrical relative to marker position only.
- Changes to mouse sliding:
* Left top rectangle used for marker position and now
it's half inside and half outside of marker.
* Right bottom corners are for size.
* Anchor point can be slided with mouse to adjust offset.
- Resolved conflict caused by left-mouse selection option.
Now it works perfectly with sliding -- no more "sticky" keys or so.
- Fixed some typos.
trying to fix blenderplayer startup warnings. It seems we do need to init
the SDL video subsystem even if we only want events, thanks Juha Maki-Kanto
for pointing this out.
This was never highly tested, that's why I never committed (my patch for this was from September 2010).
But once again I got a report that this bug was a deal-break and the patch seems to work for this artist.
I believe it's working, but I will keep my eyes open for this.
vector * matrix
vector *= matrix
vector * quaternion
vector *= quaternion
Use the reverse order instead, enable WITH_ASSERT_ABORT in cmake to promote the warnings into errors.