Added a framework to run effects in several threads. Port most
of effects to this new framework.
Still some work to be done here (some effects are not so easy to port)
Before this the the whole sequencer cache would be invalidated
when hanging sequence settings.
This was completely annoying because changing color balance
settings would re-load image file for which color balance
is happening on every change,
In fact it's still an issue if color balance is changing for
image strip itself, but if this strip has got effect and
color balance is changing for it file wouldn't be reloaded.
The 'Add' menu in the node editor now has an option 'Search' at the top, which opens a separate popup for searching node types by name.
The operator for this is implemented completely in Python (this could also be done for the regular menu-based Add options in the future). There are a few necessary extensions to the RNA as well:
* The View2D struct in regions is now exposed. Currently only contains converter functions for coordinates from the region to the view (i.e. scrolled and zoomed view space). Used for converting mouse location to node space.
* The SpaceNode exposes the existing 'cursor_location' for operators to store mouse position beyond invoke calls. Not used for anything else (transforms) so far.
* The edit_tree in SpaceNode is also exposed, this is needed for operators to work correctly inside node groups.
impossible to delete ungrouped channels
* Active flag wouldn't get cleared off selected Groups and FCurves when clicking
on them again to deselect them
* Disabled property defaults saving for click-handling operator for channels.
While testing the fix for this bug, I noticed that the property-defaults stuff
was leading to selections always defaulting to "extend" once this had been used
once.
- dupligroup now only selects objects with dupligroup enabled.
- selected onjects are skipped, this way and undo push wont happen if no new objects are selected.
also minor edits to node view all/selected
Should give some more realtime update, but it's currently not the
biggest issue - changing color balance settings would imply reloading
of file which is slow. Would be investigated further.
This change shouldn't affect on pre-fetching job which is already
multi-threaded and doing threaded color balance would make things
only worse.
This is an intended feature but works too unreliably.
- This setting was stored in each face and only editable by re-running the unwrap, this is too hidden (only discovered this by reading code).
- This worked with blender internal but not with cycles, such basic options as changing an image shouldn't behave different depending on the render engine selected.
I've ifdef'd out the aspect correction for now, it could be added back as a per scene option and be made to run on both cycles or blender internal but for now I prefer to keep this disabled.
The reason is that the per-node updates used for Reroute node type inheritance are not supposed to be looking at connected nodes, they are purely for "local" updates. For this sort of "global" update which requires depth-first search, the update function on the node tree level must be used instead.
Useful in cases when masking stuff like self-intersecting
ropes. This could probably be smarter option, but can't
currently think about robust approach here.