Blender Git Loki
July 30, 2020, 14:57 (GMT) |
Remove recently introduced explicit flags After discussion with Brecht it seems to be more semantically correct to rename NO_MAIN flag to something what resembles copy-on-write process. |
July 30, 2020, 14:57 (GMT) |
Cleanup: Warning in release builds |
July 30, 2020, 14:40 (GMT) |
Cleanup: Spelling in comment |
July 30, 2020, 14:40 (GMT) |
Make sure sequence's UUID is always initialized on read Previously it would only be assigned if sequence has strip, which might not be the case if, for example, .blend file is from the future. This change also makes it possible to use UUID in other functions involved in reading, like BKE_sequencer_proxy_set(). |
July 30, 2020, 13:39 (GMT) |
Cleanup: Remove unused original pointer in Sequence |
July 30, 2020, 13:36 (GMT) |
Fix T78835: Ghosting audio after using undo The root of the issue comes to the fact that sub-data pointers were used to match strips before/after copy-on-write. The undo system might re-use sub-data pointers after re-allocating them, making it so that, for example, pointer used by sound strip is later re-used by video strip. This fix takes an advantage of recently introduced per-sequence UUID and uses it to match sequences before/after copy-on-write. |
July 30, 2020, 13:24 (GMT) |
BLI: Allow use of SessionUUID in Map |
July 30, 2020, 13:06 (GMT) |
Sequencer: Ensure UUIDs are updated when needed Document cases where it seems that they need to be updated, but where the proper behavior is to not update the UUID. |
July 30, 2020, 10:44 (GMT) |
Allows to preserve UUIDs on copy, outside of copy-on-write Could be useful for clipboard implementation where, for example, strips live outside of any reachable database. The UUID will be generated on paste, so there is no need to generate new UUID on copy. While generating UUID is almost harmless, incrementing global counter increases chance of overflowing the integer sooner. This changes makes it possible to solve issue when user opens .blend file with strips, which will generated UUIDs in the lower part of the integer, and then holds Ctrl-C for a very long time. |
July 30, 2020, 10:29 (GMT) |
Depsgraph: Add command line argument to debug UUIDs Will trigger code paths which makes sure UUIDs are generated and are unique. Enabled with --debug-depsgraph-uuid (which is also implied by --debug-depsgraph). |
July 30, 2020, 10:23 (GMT) |
Sequencer: Add session UUID check function Is aimed for use during development and debug, to help verifying that operations do not leave sequences with invalid UUIDs. |
July 30, 2020, 10:23 (GMT) |
Sequencer: Add session UUID field to the Sequence |
July 30, 2020, 10:23 (GMT) |
Depsgraph: Use explicit flag that ID is to copied for copy-on-write Before this this situation was deducted using NO_MAIN flag, which is no really reliable. This new flags makes things explicit. Currently unused, but will be used by the new code, and will replace legacy checks eventually. |
July 30, 2020, 10:23 (GMT) |
Initial implementation of generic session UUID API |
July 30, 2020, 10:23 (GMT) |
Sequencer: Add session UUID to Sequence This is the first step for having sequences covered with session UUID with the goal to remove code which uses original sequence pointer to match sequences. Currently this UUID is maintained on file load, allocation and leaf duplication function.There are more cases to cover and ensure UUID is re-generated or re-used when needed. It will be done as follow-up development. |
July 30, 2020, 09:36 (GMT) |
Add generic session UUID structures to DNA Allows to use pre-defined structure for session UUIDs in all data structures which needs it: pose channels, sequencer strips, modifiers. The goal of all this is to have a reliable way of matching original and copy-on-written versions of data, so that it's possible to preserve runtime caches. |