- no need to link to scenes when using a frame from the pydriver, this made linking rigs for eg, quite messy.
- advantage that we get subframe values (where scenes from was fixed to a whole number).
Only real bug was, that effect strips' start frame and length were editable. Made all four frame properties readonly on RNA level for those kind of strips (those for which get_sequence_effect_num_inputs returns a non-null value).
Also fixed the tooltip of frame_final_duration.
Added "Extend" flag to border select operators for editors:
- UV Editor
- Sequencer
- NLA
- Info Space
- Graph Editor
- File Browser
- Clip Editor
- Action Editor
- Channels and markers regions
Can be used for custom keymaps.
* Wave simulation speed doesn't anymore depend on surface size, but uses relative distances instead. This change will likely change simulation behavior on existing saves, but can be easily tweaked back using the "Wave Speed" parameter.
* Added a new wave brush type, "Depth Change". It uses the change of brush intersection between frames, giving a better looking "wake" for moving objects. It also doesn't leave any "dent" to the surface while remaining still.
RenderLayers and RenderPasses don't show the generic Hide/Unhide/Select/Deselect
popup which is irrelevant for this use case. I've included a commented-out call
here that can be replaced when we have some operations which can be performed on
this data (*)
(*) For new devs looking to get into blender dev, this could be a nice little
project to work on.
- Changed some names so now people who aren't really familiar with
motion tracking can understand what they exactly means
- Also cleaned up and rephraded some descriptions
- Changed behavior of operator which creates empty for 2d tracks:
now it operates on all selected tracks rather than active track only
- Added checkbox to enable/disable rotation stabilization
Reviewed behaviour of selection operators, and decided that ultimately, it's
better if select left/right/column didn't change the channel selections at all.
This is because with the highlighting of the active curve nowadays, it's a bit
distracting to suddenly lose track of it after performing these operations, when
you may have been trying to select all of the keyframes on that curve for
further tweaking.
Crash was caused by several conditions:
- Frame which failed to decode tried to be converted to RGB colorspace
and some filters like deinterlacing used to be applied as well
(it's avscale stuff sws_scale where crash happened).
- In some cases it happened reading of freed memory when calling
sws_scale function. Looks like it happened because of freeing
packet on which decoding of frame finished and reading next packet.
Solved this two issues by making YUV->RGB conversion as soon as
frame was decoded in ffmpeg_decode_video_frame (such postprocessing
used to happen in callee of this function ffmpeg_fetchibuf), so now
sws_scale would be called before freeing packet on which decoding of
frame finished and it wouldn't be called in cases when decoding of
frame failed.
If decoding of frame failed, it'll be black ibuf returned to the sequencer.