Implemented basic audio animation.
* AnimatableProperty: Propper cache writing and spline interpolation for reading (the solution for stair steps in audio animation)
* Animatable properties so far are: volume, pitch, panning
* Users note: Changing the pitch of a sound results in wrong seeking, due to the resulting playback length difference.
* Users note: Panning only works for mono sources, values are in the range [-2..2], this basically controls the angle of the sound, 0 is front, -1 left, 1 right and 2 and -2 are back. Typical stereo panning only supports [-1..1].
* Disabled animation of audio related ffmpeg output parameters.
* Scene Audio Panel: 3D Listener settings also for Renderer, new Volume property (animatable!), Update/Bake buttons for animation problems, moved sampling rate and channel count here
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.
*Removed curve init code in readfile (no more needed since the split broke anyway compatibility with earlier WeightVGroup files…).
*Updated get_ob2ob_distance() code (much simpler – I’m not a matrices’ god!).
*Enhanced a few RNA names (Campbell has others in mind here, though, I think).
===========================
- 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.
Main: Complete rewrite of the sequencer related audio code to support 3D Audio objects later and especially adressing the animation system problems (see mailing list if interested).
Note: Animation is not working yet, so with this commit volume animation doesn't work anymore, that's the next step.
Minor things:
* Changed AUD_Reference behaviour a little to be more usage safe.
* Fixed bug in AUD_I3DHandle: Missing virtual destructor
* Fixed enmus in AUD_Space.h
* Fixed a warning in rna_scene.c
* Removed an unneeded call in rna_sound.c
- Default size of Graph Editor handle vertices is now 4 (up from 3).
This "small" change seems to be enough to make a substantial
difference when it comes to actually differentiating between these
- "Only Selected" DopeSheet filter is enabled for new Graph Editor
instances by default. It helps hone in on the F-Curves of the data
most animators hope to just be refining the motion for (i.e. the
selected stuff)
- "Only Selected Keyframe Handles" is now enabled, to reduce clutter
from handles of nearby keys getting in the way.