Revision 01e1944 by Julian Eisel July 2, 2021, 11:49 (GMT) |
File Browser: Refactor file "UUID" code (which wasn't really a "UUID") To some degree these are changes in preparation of further Asset Browser related changes, see D11119. But also, the current UUID design was written for the old Asset Engine design, which isn't part of the current Asset Browser/System design anymore. And lastly, "UUID" are a well established standard (https://en.wikipedia.org/wiki/Universally_unique_identifier) which this implementation didn't follow. What we have here is more of an index, or a unique identifier (https://en.wikipedia.org/wiki/Unique_identifier). So this does the following changes: * Renames "UUID" to "UID" * Changes the type of the UID to (a typedef'ed) `uint32_t`, which is more than enough for our current asset system design and simplifies things. * Due to the new type, we can avoid allocations for hash-table storage. * Add/use functions for UID handling Note that I am working on a major rewrite of the file-list code. Meanwhile we want to keep things sensible. |
Revision 29b65f5 by Antonio Vazquez July 2, 2021, 10:04 (GMT) |
GPencil: New modifier to generate weights dynamically his new modifier allows to generate weights base on: * Angle of the stroke relative to object or world orientation. For example, if the value is 90, the maximum weights will be for vertical lines and minimum for horizontal lines. * Distance to Target object. The distance calculated is normalized to get valid weights between 0 and 1.0. The weights are created in an existing vertex group and the data can be replaced or mixed with the existing value to combine different weight effects. The minimum parameter, allows to define the minimum weight generated. This is useful to avoid very low weights. The generated weights can be used in any modifier. For example, the angle weight value can be used to mimic FreeStyle Caligraphy modifier using the weight with the thickness modifier. Also some modifier has been changed to inlude a new option to use the weights as factor of the effect. As result of this change, the fading option has been removed from Thickness and Opacity modifiers because this can be done using the new modifier, it's not logic to repeat the same. Reviewed By: mendio, filedescriptor Differential Revision: https://developer.blender.org/D11604 |
Revision 9f5c0ff by Hans Goudey July 2, 2021, 04:03 (GMT) |
Cleanup: Use const variables for object's evaluated mesh Generally the evaluated mesh should not be changed, since that is the job of the modifier stack. Current code is far from const correct in that regard. This commit uses a const variable for the reult of `BKE_object_get_evaluated_mesh` in some cases. The most common remaining case is retrieving a BVH tree from the mesh. |
Revision 016a270 by Campbell Barton July 2, 2021, 02:51 (GMT) |
Cleanup: refactor edit-mesh copy functions into functions |
Revision addb1a5 by Campbell Barton July 2, 2021, 02:15 (GMT) |
Cleanup: spelling in comments |
Revision 841b2ce by Campbell Barton July 2, 2021, 02:15 (GMT) |
Cleanup: compiler & clang-tidy warnings |
Revision b39d66a by Harley Acheson July 2, 2021, 01:08 (GMT) |
Fix T88909: Win32 getTitle() UTF8 Support In the Win32 platform our setTitle() can properly assign a Unicode utf-8 window title. Unfortunately our getTitle() will only read regular 8-bit character strings. This means that we can never compare what we set to what we get. This patch updates getTitle() to use Unicode-aware GetWindowTextLengthW and GetWindowTextW. see T88909 for an example of this affecting user experience. Differential Revision: https://developer.blender.org/D11782 Reviewed by Ray Molenkamp |
Revision 0ff1c38 by Hans Goudey July 1, 2021, 21:46 (GMT) |
Cleanup: Move bvhutils.c to C++ This will be useful when adding a utility to create a BVH tree from a `CurveEval` for the attribute proximity and attribute transfer nodes. |
Revision 7eecf77 by Richard Antalik July 1, 2021, 21:38 (GMT) |
VSE: Fix handle size calculation Handle width calculation was incorrect in drawing code. This caused handles to be invisible when zoomed out. After fixing math, handles become too large, so now they are constrained to quarter of strip width, which feels more natural and represents clickable area more closely. `sequence_handle_size_get_clamped()` did not return size in pixels, but in 2D-View space, this comment was corrected. |
Revision fd1fec5 by Hans Goudey July 1, 2021, 21:33 (GMT) |
Cleanup: Clang tidy, remove typedef |
Revision b7b5c23 by Richard Antalik July 1, 2021, 20:14 (GMT) |
Fix memory leak in VSE transform code SeqCollection wasn't freed. It wasn't easy to find culprit so added argument to SEQ_collection_create() to pass function name. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11746 |
Revision 519c12d by Richard Antalik July 1, 2021, 20:08 (GMT) |
VSE: Snapping feedback Address initial feedback: - Use checkboxes instead of radio buttons - Hide snapping distance control from UI - Tweak snapping line color - use selected strip color, 50% transparency. Similar to other editors - Draw 2px thick line, since strip outline is also 2px thick Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D11759 |
Revision 4a7951f by Germano Cavalcante July 1, 2021, 14:13 (GMT) |
Cleanup: Separate each extractor into specific compile units Makes code cleaner and easier to find. |
Revision 4617172 by Julian Eisel July 1, 2021, 13:22 (GMT) |
Fix race condition when loading multiple File/Asset Browsers at once When multiple File or Asset Browsers would load at once (e.g. when loading a file with two File Browsers open) and they would load multiple directories or .blend files (using the Recursions option in the File Browser or loading an asset library with multiple .blends), often only one File/Asset Browser would correctly load all files. Others would be incomplete or entirely empty. That was because of a race condition, where the directories or .blend files would be loaded concurrently and the first one that finished would cancel the other ones. This again happened because they used the job system with the same "owner", which by design makes all jobs with the same owner cancel as soon as the first is finished. Address this by making sure they have different owners. That is, not the scene anymore, but the filelist the job belongs to. Doesn't make much sense to use the scene as owner for scene-unrelated file loading anyway. Steps to reproduce were: * Open two File Browsers as regular editors. * In the Display Settings popover, set "Recursions" to 2 or 3 levels. * Navigate to a directory with plenty of subdirectories in both File Browsers. * Save the file. * Reload the file, one of the File Browsers likely has an incomplete file list. Alternatively, use Asset Browsers and open an asset library containing multiple .blends. |
Revision 19d1997 by Joerg Mueller July 1, 2021, 12:26 (GMT) |
Fix T88887: Audio causes issues with Playback when PC put to Sleep, Hibernate or when Screensaver appears Porting WASAPI device reinitialization from upstream. |
Revision a112adf by Joerg Mueller July 1, 2021, 12:26 (GMT) |
Audaspace: porting pulseaudio fixes from upstream. |
Revision 8c3855d by Brecht Van Lommel July 1, 2021, 10:58 (GMT) |
Fix broken physics modifiers after cleanup commits 4f3ec0110 and 5a64c687dd should have removed the entire conditional to skip time depedent modifiers, rather than always enable it. |
July 1, 2021, 10:21 (GMT) |
Fix: Export subtitles timecode relative to scene start frame, ignore muted strips This patch writes the timecode in the .srt file relative to the start frame of the scene. If the timecode is global but scene does not start at frame 0 the subtitles don't match if they get loaded in an external video player. Muted strips will be ignored. Don't allow negative timecodes in .srt. Reviewed By: Richard Antalik Differential Revision: https://developer.blender.org/D11762 |
Revision 96d487b by Campbell Barton July 1, 2021, 07:25 (GMT) |
Cleanup: remove redundant calls to BMO_error_clear |
Revision aaa8ee1 by Campbell Barton July 1, 2021, 07:01 (GMT) |
Cleanup: remove bmesh-operator error code The error codes could be used to look up messages from a table of messages however this wasn't especially useful. Now all calls to BMO_error_raise must inclue a message. |
|