Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-17Fix T93080: Crash on scrubbing with snappingRichard Antalik
Sequencer wasn't initialized, snapping crashed on NULL dereference. Add Null check.
2021-11-02Fix lots of missing messages i18n handling in `uiItemL` calls.Bastien Montagne
Also fix several wrong usages of `IFACE_` (as a reminder, error/info messages should use `TIP_`, not `IFACE_`).
2021-11-01Revert "T78995: Enable keylist threaded drawing."Jeroen Bakker
This reverts commit 7f1fe10595065128aab2a4aea4bc9c46e155053c. Fixes: T92549 Root cause hasn't been discovered but assert failed at keyframes_keylist.cc#793. Like some data is shared between threads.
2021-10-26Animation UI: Make Ctrl+F use textbox instead of pop-upbird_d
Avoid blocking the UI when searching for animation channels with Ctrl+F. Instead of showing a single text input in a blocking popup, Ctrl+F now just focuses the search box above the channel list. It feels nicer to use and has the niceties that come from using that textbox, like searching per keystroke, compared to the old pop-up method. As the behaviour of the operator has changed considerably, this also changes the operator name from `anim.channels_find` to `anim.channels_select_filter` and updates the keymaps. Reviewed By: ChrisLend, sybren Differential Revision: https://developer.blender.org/D12146
2021-10-21Cleanup: Use array utility for cursor eventsAaron Carlisle
2021-10-20Cleanup: use an array for wmEvent cursor position variablesAaron Carlisle
Use arrays for wmEvent coordinates, this quiets warnings with GCC11. - `x, y` -> `xy`. - `prevx, prevy` -> `prev_xy`. - `prevclickx, prevclicky` -> `prev_click_xy`. There is still some cleanup such as using `copy_v2_v2_int()`, this can be done separately. Reviewed By: campbellbarton, Severin Ref D12901
2021-10-20Cleanup: use elem macrosCampbell Barton
2021-10-18Cleanup: clang formatPhilipp Oeser
2021-10-17UI: Improve contrast on playheadPablo Vazquez
Add an outine around the playhead, matching the color of the background (slightly darkened) to improve the readability of the current frame line when placed against curves or strips with a similar color. {F10944336, size=full} Differential Revision: https://developer.blender.org/D12810
2021-10-17UI: Visual style update to panelsPablo Vazquez
Back in Blender 2.30, the GUI project brought panels into Blender among other important visual updates. For the first time it was possible to move the wall of buttons around. Providing a clear separation between sections (it even allowed the grouping of panels in tabs!) During the 2.5 redesign, the separation between panels became a line on top of each panel, and panels received theme settings for background and header colors. The default theme used the same color for both. In 2.8 the background color of panels was different from headers in the default theme, so the separator line was removed. While the separator line wasn't elegant (only on top, non-themeable, hard-coded emboss effect), it provided a sort of separation between panels. This patch solves the panels-separation by simply adding a margin space around them (not visible in default theme yet). Even though the margin reduces the width of the working area slightly, it makes room for the upcoming always-visible scrollbars. Other adjustments: * Use arrow icon instead of triangle to collapse/expand * Use rounded corners to match the rest of the UI (editor corners, nodes, etc). {F10953929, size=full} Margin on panels makes use of the `style->panelouter` property that hasn't been used in a while. Also slight tweaks to `boxspace` and `templatespace` style properties so they are multiples of 2 and operations on them round better. There is technically no need to update the themes for them to work, so no theme changes are included in this patch. {F10953931, size=full} {F10953933, size=full} {F10953934, size=full} {F10954003, size=full} ---- A new theme setting under Style controls the roundness of all panels (added it to Style instead of ThemeSpace because I think controlling the panel roundness per editor is a bit overkill): {F11091561, size=full, autoplay, loop} Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D12814
2021-10-14Cleanup: pass the sizeof(..) as the second arg for array allocationCampbell Barton
By argument naming and convention this is the intended argument order.
2021-10-07Sequencer: 2D cursor for the preview & transformCampbell Barton
- Use 2D cursor in the preview space using shortcuts matching the UV editor and 3D view. - Add Cursor tool, cursor transform. - Support for cursor and bound-box pivot. - Add pivot pie menu.
2021-10-04Make keyframe inserts/removals less verbose when called from python.Gaia Clary
Following operators now only report messages back when they are called via their invoke-methods: - ANIM_OT_keyframe_insert - ANIM_OT_keyframe_insert_by_name - ANIM_OT_keyframe_insert_menu - ANIM_OT_keyframe_delete - ANIM_OT_keyframe_clear_v3d - ANIM_OT_keyframe_delete_v3d Also removed the attribute confirm_success from the following operators: - ANIM_OT_keyframe_insert - ANIM_OT_keyframe_insert_by_name - ANIM_OT_keyframe_insert_menu - ANIM_OT_keyframe_delete - ANIM_OT_keyframe_delete_by_name Note: addons/scripts possibly need to be updated if they use the above operators AND set the "confirm_success" attribute Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12697
2021-10-04Cleanup: `Neighbour` -> `Neighbor`. and other minor UI messages fixes.Bastien Montagne
Blender English should use 'American' variants, not 'British' variants.
2021-10-03Cleanup: spelling in commentsCampbell Barton
2021-09-29Add an option to silence bpy.ops.anim.keyframe_delete_v3d when used in AddonsGaia Clary
The issues: 1.) When we want to remove keyframes from a range of frames in an action, then we can use bpy.ops.anim.keyframe_delete_v3d to remove the keys frame by frame. However, whenever the operator hits a frame with no keyframes, then it generates an error. While when it hits a frame with keyframes, then it reports the numbner of removed keys. This creates a lot of unnecessary noise in the Blender console. 2.) Furthermore a related issue is that WM_event_add_notifier() is called also when no frames where removed. This seems to significantly slow down the removal of keyframes in a range of frames at least when i use vscode for debugging. A proposal for improvement: This patch adds an attribute 'confirm_success' which controls if the operator reports back what it did (or did not) while executing. Silent mode would then be called like this: bpy.ops.anim.keyframe_delete_v3d(confirm_success=False) Note: confirm_success is True by default so this patchj does not change the behavior of Blender, it only gives the option to scripts. 3.) Personal note: I have chosen the attribute name to be equal as it is used in other related operators. However i rather would rename the attribute to "verbose" (preferred) or "with_confirm". But i let this to be decided by the reviewers. Thanks for your time to review! Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12629
2021-09-28Cleanup: typo in commentPhilipp Oeser
Noticed by @david_black in D12392, thx!
2021-09-28Fix Drivers Editor showing playhead on the X AxisPhilipp Oeser
Currently the Drivers Editor shows this (the blue thing can be dragged to change frame): {F10647661} But the Drivers Editors X axis is the output of the driver [which can be further tweaked by the curve] not time(frame). So it seems better to not mix them here, it is just confusing to have two different units on one axis. Especially since what we really want to look at in X (the drivers output value) can be in a totally unrelated range compared to frames, so e.g. we might be interested in a drivers range from 0.0 to 1.0 and a framerange of 100 to 200, so putting this on one axis just does not make sense. Better to use a separate timeline for this. Note 2.79 also did not do this. Maniphest Tasks: T91157 Differential Revision: https://developer.blender.org/D12392
2021-09-27Fix T81922: Pose bones F-Curves hidden for unselected objectsCampbell Barton
Whilst in pose-mode, the selection filter only includes other objects in pose-mode instead of the object selection. This makes sense as the selection of the pose bones what the user as acting on in the 3D view. The object selection only makes sense to use in object mode. Reviewed By: sybren Maniphest Tasks: T81922 Ref D12494
2021-09-24Cleanup: spelling in commentsCampbell Barton
2021-09-23Cleanup: Remove hardcoded values and rename keyframe shape shadersDalai Felinto
No functional change. The shader is complicated by itself, having hardcoded values makes it even more cryptic. I also renamed the shader because the shader is not for the keyfarme diamond only, but for all the keyframe shapes. Differential Revision: https://developer.blender.org/D12615
2021-09-21Fix T91458: Displaying dope-sheet with sequencer keyframes crashesCampbell Barton
Error in e6194e735791b42feb51e810a4910a41d999d3bf.
2021-09-21VSE: Image transform toolsRichard Antalik
Add tools for image manipulation in sequencer preview region. This includes: - Translate, rotate and resize operators, tools and gizmos - Origin for image transformation - Median point and individual origins pivot modes - Select and Box select operator works in preview - Image overlay drawing ref T90156 Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12105
2021-09-10Cleanup: Fix comment in recent commit.Jeroen Bakker
A task is created for each item in a list base. It used to say that a thread was created for each item.
2021-09-10T78995: Enable keylist threaded drawing.Jeroen Bakker
This enabled multithreaded building of the keys that needs to be drawn in the timeline (and other action editors). On an AMD Ryzen 3800 using a mocap data test file (available in patch) the performance went from 2fps to 8fps. The performance increase depends on the number of rows of keyframes that is shown in for example the timeline editor. Each row will be using a different thread. Currently the bottleneck is the summary channel that we could split up in the future even more ( although that is a complex refactoring work). Reviewed By: sybren Differential Revision: https://developer.blender.org/D12198
2021-09-10Anim: Keylist drawing optimization by using arrays.Jeroen Bakker
Change data structure of keylists. Reducing the balancing overhead and therefore increases performance. | **Function** | **Master** | **Patch** | |`draw_summary_channel`| 0.202105s| 0.083874s | When adding items to the keylist it will store it in a linked list. This linked list is accompanied with the length (key_len) and a `last_accessed_column`. last_accessed_column is a cursor that improve the performance when adding new items as they are mostly ordered by frame numbers. last_accessed_column is reset when a new fcurve/mask/... is added to the keylist. Before searching or array access. the listbase needs to be converted to an array. `ED_keylist_prepare_for_direct_access`. After that the caller can use `ED_keylist_find_*` or `ED_keylist_array*` functions. The internal array can also be accessed via the `ED_keylist_listbase` function. The items inside the array link to the previous/next item in the list. Reviewed By: sybren Differential Revision: https://developer.blender.org/D12052
2021-09-04RNA: support extracting names from paths without allocating memoryCampbell Barton
Support extracting identifiers RNA paths into fixed size buffer since the maximum size of the identifier is known all cases. - Add BLI_str_unescape_ex to support limiting the destination buffer. - Add BLI_str_quoted_substr to copy values into a fixed size buffer.
2021-09-03Docs: add note to skip_fcurve_selected_data sequence strip checkCampbell Barton
Without an explanation the sequencer logic looked wrong since other selection checks don't skip data that can't be found.
2021-09-02Cleanup: remove redundant alloc argument to SEQ_editing_getCampbell Barton
Callers that require lazy initialization can use SEQ_editing_ensure.
2021-09-01Fix errors pasting flipped names in the action editorCampbell Barton
Use BLI_str_quoted_substr_range instead of in-line quote extraction to resolve: - Bone names containing quotes caused flip to fail. - Missing NULL check if a matching quote could not be found.
2021-09-01Cleanup: remove redundant strstr callsCampbell Barton
Rely on BLI_str_quoted_substrN to detect if the prefix exists since this function exists early there is no need to check before calling.
2021-08-13Fix T90595: some VSE strip properties do not identify strip name in animPhilipp Oeser
channel names Working with multiple strips keyframes was unneccessarily difficult in Animation Editors (since some anim channels could not be distinguished). Namely `Crop` and `Transform` are nested structs (nested under `Sequence`), so these were just displaying the raw struct name. Also strip modifiers did not have their strip name in their channel names. Now include the strip name for these. before {F10277439} after {F10277441} Maniphest Tasks: T90595 Differential Revision: https://developer.blender.org/D12193
2021-08-13Keyframe: Reduce GPU context switches.Jeroen Bakker
This change reduces the GPU context switches when drawing keyframes. In the previous situation the keyframe blocks and keyframe keys were drawn per channel. With this patch first all the keyframe blocks are drawn for all channels and after that the keyframe keys are collected for all channels and send to the GPU in a single draw call.
2021-08-13Cleanup: remove unused draw_gpencil_channel.Jeroen Bakker
Code is integrated with draw_scene_channel since 2.80.
2021-08-11Cleanup: moved keyframe drawing to a draw list.Jeroen Bakker
In preparation to do threaded drawing preparation. There should not be any functional changes.
2021-08-11Cleanup: Keylist Drawing - Split up in multiple functions.Jeroen Bakker
2021-08-10Fix T90551: Dopesheet displays keyframes differently.Jeroen Bakker
Regression introduced by {rB73b047bcd431}. Missing a check when converting the file to use LISTBASE_FOREACH.
2021-08-10Cleanup: mixing enum/non-enum type warning in conditional expressionCampbell Barton
2021-08-09Cleanup: Changed keyframe_keylist to CPP.Jeroen Bakker
Just a straight-forward change. Not utilizing CPP features.
2021-08-06Cleanup: use const result in `ED_keyframes_find_*` functions.Jeroen Bakker
2021-08-06Cleanup: use range2f in `ED_keylist_find_any_between`.Jeroen Bakker
2021-08-06Cleanup: const pass `keyframes_keylist`.Jeroen Bakker
2021-08-06Cleanup: use MEM_SAFE_FREE macroCampbell Barton
2021-08-04Cleanup: rename restrict to hide/visibility in Object, Collection, MaskLayerBrecht Van Lommel
This makes the internal naming consistent with the public API. And also gives us a visibility_flag rather than restrictflag that can be extended with more flags.
2021-08-04Added some TODO remarks.Jeroen Bakker
2021-08-04Cleanup: spellingCampbell Barton
2021-08-03Fix T90364: buttons (partially) behind animchannel search block searchPhilipp Oeser
When channels are scrolled to be (partially) behind the search bar, their widget buttons would still be interactive, preventing the seach buttons to be usable. We have to make sure the events are consumed from the search and dont reach other UI blocks. We can do so by flagging the block `UI_BLOCK_CLIP_EVENTS` -- but also have to make sure the bounds are calculated correctly (otherwise the check relating `UI_BLOCK_CLIP_EVENTS` in `ui_but_find_mouse_over_ex` wont trigger properly. Maniphest Tasks: T90364 Differential Revision: https://developer.blender.org/D12103
2021-08-03Cleanup: Hide implementation details for ED_keyframe_keylist.Jeroen Bakker
For T78995 we want to change the data structure of keylists to improve performance. (Probably a Vector with bin-search capabilities). This patch hides the internal structure of the keylists behind `AnimKeylist` structure. This allows us to change the internals without 'breaking' where it is being used. The change adds functions to create, free, find and walk over the keylist. Reviewed By: sybren Maniphest Tasks: T78995 Differential Revision: https://developer.blender.org/D11974
2021-07-30Cleanup: clang-format (re-run after v12 version bump)Campbell Barton
2021-07-29Fix T89952: GPencil channel box selection offsetFalk David
The channel box selection was offset for grease pencil layers. This is a proposed fix by @yann-lty Before: {F10227973} After: {F10227974} Reviewed By: #grease_pencil, antoniov Maniphest Tasks: T89952 Differential Revision: https://developer.blender.org/D11962