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
2020-12-15Asset System: Prepare File Browser backend for the Asset BrowserJulian Eisel
The Asset Browser will be a sub-editor of the File Browser. This prepares the File Browser code for that. **File-Lists** * Support loading assets with metadata read from external files into the file-list. * New main based file-list type, for the "Current File" asset library. * Refresh file-list when switching between browse modes or asset libraries. * Support empty file-lists (asset library with no assets). * Store file previews as icons, so scripts can reference them via icon-id. See previous commit. **Space Data** * Introduce "browse mode" to differeniate between file and asset browsing. * Add `FileAssetSelectParams` to `SpaceFile`, with `FileSelectParams` as base. Makes sure data is separated between asset and file browsing when switching between them. The active params can be obtained through `ED_fileselect_get_active_params()`. * `FileAssetSelectParams` stores the currently visible asset library ID. * Introduce file history abstraction so file and asset browsing can keep a separate history (previous and next directories). **General** * Option to only show asset data-blocks while file browsing (not exposed here). * Add "active_file" context member, so scripts can get and display info about the active file. * Add "active_id" context member, so `ED_OT_lib_id_load_custom_preview` can set a custom ID preview. (Only for "Current File" asset library) * Expose some of `FileDirEntry` in RNA as (non-editable). That way scripts can obtain name, preview icon and asset-data. Part of the first Asset Browser milestone. Check the #asset_browser_milestone_1 project milestone on developer.blender.org. Differential Revision: https://developer.blender.org/D9724 Reviewed by: Bastien Montagne
2020-12-15Asset System: Support dragging assets and appending on dropJulian Eisel
For the Asset Browser, it needs to be possible to drag assets into various editors, which may not come from the current .blend file. In other words, the dragging needs to work with just the asset metadata, without direct access to the data-block itself. Idea is simple: When dragging an asset, store the source file-path and data-block name and when dropping, append the data-block. It uses existing drop operators, but the function to get the dropped data-block is replaced with one that returns the local data-block, or, in case of an external asset, appends the data-block first. The drop operators need to be adjusted to use this new function that respects assets. With this patch it only works for dragging assets into the 3D view. Note that I expect this to be a short-lived change. A refactor like D4071 is needed to make the drag & drop system more future proof for assets and other use cases. Part of the first Asset Browser milestone. Check the #asset_browser_milestone_1 project milestone on developer.blender.org. Differential Revision: https://developer.blender.org/D9721 Reviewed by: Bastien Montagne, Brecht Van Lommel
2020-12-15Asset System: "Mark Asset" & "Clear Asset" operators and UI integrationJulian Eisel
This makes it possible to turn data-blocks into assets and back into normal data-blocks. A core design decision made for the asset system is that not every data-block should be an asset, because not every data-block is made for reuse. Users have to explicitly mark data-blocks as assets. Exposes "Mark Asset" and "Clear Asset" in Outliner context menus (currently ID Data submenu) and button context menus. We are still not too happy with the names, they may change. This uses the new context members to pass data-blocks to operators, added in af008f553293 and 0c1d4769235c. Part of the first Asset Browser milestone. Check the #asset_browser_milestone_1 project milestone on developer.blender.org. Differential Revision: https://developer.blender.org/D9717 Reviewed by: Brecht Van Lommel
2020-12-15Cleanup: reduce indirect DNA header inclusionCampbell Barton
Remove DNA headers, using forward declarations where possible. Also removed duplicate header, header including it's self and unnecessary inclusion of libc system headers from BKE header.
2020-12-13Fix cursor position on HighDPI in stereo side-by-side modeYevgeny Makarov
Could not select left quarter of the screen in stereo side-by-side mode on high dpi displays. Differential Revision: https://developer.blender.org/D9836 Reviewed by Julian Eisel
2020-12-13UI: Improved Script Execution WarningYevgeny Makarov
New dialog box layout with large alert icon for the Python script execution warning popup. Differential Revision: https://developer.blender.org/D9390 Reviewed by Hans Goudey
2020-12-08File Browser: Refactor access to the selection parameters structJulian Eisel
* Avoid direct access to `SpaceFile.params`, use a getter instead. This matters because once the asset-browser changes are in, there will be an alternative selection parameter object. The getter can return the correct one. * Rename the function to ensure the parameters. The old name `ED_fileselect_get_params()` wasn't a mere getter, it would create the parameters if necessary. Now we have an actual getter, so better be clear. * In some instances, I replaced the old "get" function with the new mere getter. So the ensure logic is called less often. However, in these cases we should be able to assume the selection parameters were created already as part of the editor creation routine. The term "active" in the new function names may seem a bit odd in the current context, but that is a preparation for the Asset Browser merge as well. Like said, there will be two file selection parameter objects in the space.
2020-12-06UI: Alert Dialog Helper FunctionYevgeny Makarov
Shared helper function to create a split layout with an alert icon for popup dialogs. Differential Revision: https://developer.blender.org/D9486 Reviewed by Julian Eisel
2020-12-06UI: 'About Blender' with Full LogoYevgeny Makarov
New layout for the 'About' dialog featuring the full version of the Blender logo. Differential Revision: https://developer.blender.org/D9507 Reviewed by Hans Goudey
2020-12-04Fix incorrect variable name after last commitHans Goudey
2020-12-04Cleanup: Use LISTBASE_FOREACH macro in windowmanager internHans Goudey
Also decrease the scope of variables related to the loops.
2020-12-04Revert "Fix T83177: Industry Compatible keymap: MMB-dragging to transform ↵Germano Cavalcante
engages axis-constraining on release" This reverts commit c0677b662f4b13429c0738b99ace85403385ff38.
2020-12-04EEVEE: Arbitrary Output VariablesJeroen Bakker
This patch adds support for AOVs in EEVEE. AOV Outputs can be defined in the render pass tab and used in shader materials. Both Object and World based shaders are supported. The AOV can be previewed in the viewport using the renderpass selector in the shading popover. AOV names that conflict with other AOVs are automatically corrected. AOV conflicts with render passes get a warning icon. The reason behind this is that changing render engines/passes can change the conflict, but you might not notice it. Changing this automatically would also make the materials incorrect, so best to leave this to the user. **Implementation** The patch adds a copies the AOV structures of Cycles into Blender. The goal is that the Cycles will use Blenders AOV defintions. In the Blender kernel (`layer.c`) the logic of these structures are implemented. The GLSL shader of any GPUMaterial can hold multiple outputs (the main output and the AOV outputs) based on the renderPassUBO the right output is selected. This selection uses an hash that encodes the AOV structure. The full AOV needed to be encoded when actually drawing the material pass as the AOV type changes the behavior of the AOV. This isn't known yet when the GLSL is compiled. **Future Developments** * The AOV definitions in the render layer panel isn't shared with Cycles. Cycles should be migrated to use the same viewlayer aovs. During a previous attempt this failed as the AOV validation in cycles and in Blender have implementation differences what made it crash when an aov name was invalid. This could be fixed by extending the external render engine API. * Add support to Cycles to render AOVs in the 3d viewport. * Use a drop down list for selecting AOVs in the AOV Output node. * Give user feedback when multiple AOV output nodes with the same AOV name exists in the same shader. * Fix viewing single channel images in the image editor [T83314] * Reduce viewport render time by only render needed draw passes. [T83316] Reviewed By: Brecht van Lommel, Clément Foucault Differential Revision: https://developer.blender.org/D7010
2020-11-30Fix T83177: Industry Compatible keymap: MMB-dragging to transform engages ↵Germano Cavalcante
axis-constraining on release Release confirm did not consider modal keymap events.
2020-11-30Cleanup: Use "region" for ARegion variable namesHans Goudey
As proposed in T74432 and already implemented in several commits, "region" is the preferred name for `ARegion` variables, rather than any variant of "ar". This commit changes a few "ar" variables that have popped up over time and also adjusted names of variants like "arnew".
2020-11-22Fix T82918: File menu "Save Copy" shows "Save As" in File BrowserJulian Eisel
Use a dynamic name/description based on the set properties. This makes it more clear what's going on and avoids confusion, as explained in the report.
2020-11-20Cleanup: remove unused perspective argument to off-screen drawingCampbell Barton
Some callers were passing in dummy values, this can be accessed from `RegionView3D.is_persp` can be used to check this.
2020-11-17RNA define: check and report invalid usages of ID pointers properties.Bastien Montagne
Some RNA structs, like operators or keymaps, are not allowed to have ID pointer properties. now this check will ignore those, and report an error message in the console. Related to T82597. Notes: While a bit more involved than rBf39fbb3e6046, this commit remains fairly localized and non-intrusive. It relies on some rather obscure and weird behaviors of our RNA code though, a cleaner solution could be e.g. to add a tye to `StructOrFunctionRNA`, so that we could properly 'rebuild' (re-cast) the pointer to either `StructRNA` or `FunctionRNA` when needed in internal code...
2020-11-16Fix T76699: Support macOS inbetween mouse/tablet.Nicholas Rishel
Coalescing on macOS overwrites a singular unprocessed mouse event. To receive all mouse and tablet events coalescing is disabled. Disabling coalescing for macOS disables coalescing for trackpad gestures. Repeat trackpad events are unnecessary and found to negatively impact performance thus are re-coalesced in Window Manager. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9574
2020-11-16Merge remote-tracking branch 'origin/blender-v2.91-release'Sybren A. Stüvel
2020-11-16Fix T81817: use-after-free when trying to open file from splash screenJacques Lucke
The issues was that Blender was trying to refresh the splash screen region. However, opening the file browser closed the splash screen and freed the region. The fix is to simply not refresh the region. Has been approved in T81817.
2020-11-13Cleanup: use IMB_FTYPE_NONE instead of 0 for imbuf format comparisonCampbell Barton
Image format code checked the file type against an enum except for zero which is used when the format can't be detected. Also add doc-strings to some of the image file type callbacks.
2020-11-12Cleanup: RNA ID enum utility functionCampbell Barton
- Avoid calling `GS(id->name)` on each iteration. - Remove unused arguments. - Pass `const ID *` to the filter callback.
2020-11-11Cleanup: correct argument order to callbackCampbell Barton
Currently the callback isn't used, found when testing a new enum callback.
2020-11-09macOS: follow system preference for natural trackpad scroll directionYevgeny Makarov
And remove Blender preference, which was expected to be set to match the system preference for correct behavior. Instead just handle this automatically. Differential Revision: https://developer.blender.org/D9402
2020-11-06Cleanup: Render Module: move header files to main directoryAaron Carlisle
Move headers files from `render/extern/` to `render/` Part of T73586
2020-11-06Fix compilation error when building from scratchSergey Sharybin
Make sure the DNA offset files is ready at a time bf_windowmanager need it.
2020-11-06Refactor: move wmWindowManager .blend I/O to IDTypeInfo callbacksJacques Lucke
2020-11-06Cleanup: use ELEM macroCampbell Barton
2020-11-06Cleanup: follow our code style for float literalsCampbell Barton
2020-11-05Spelling: Predefined, Look Up, No OneHarley Acheson
Fixes 18 misspellings of 'predefined', 'Look Up', 'Lookup', and 'No One'. Differential Revision: https://developer.blender.org/D9466 Reviewed by Hans Goudey
2020-11-04Cleanup: Use LISTBASE_FOREACHHans Goudey
2020-11-03Cleanup: Use recently added helper function to find File Browser UI dataJulian Eisel
`ED_fileselect_handler_area_find()` was added in a750acab78cf and makes this case more readable and avoids code duplication as well.
2020-11-03Add a callback to `IDTypeInfo` to allow preservation of some data accross ↵Bastien Montagne
memfile undos This is essentially adding that new callback, and using it only for already existing Scene's 3DCursor. Note that the place where this is called has been moved again, after all have been lib-linked, such that those callbacks may also work on ID pointers. Maniphest Tasks: T71759 Differential Revision: https://developer.blender.org/D9237
2020-11-03Fix C operators can't set default display or sort type for File BrowserJulian Eisel
`WM_operator_properties_filesel()` allows C operators to set a display or sort type for the File Browser to use. But the File Browser would always override that because of an invalid `_is_set()` check. (The operators don't actually set the value, they only set the property's default value.) The only operator affected by this is "Recover Auto Save". It is supposed to show a vertical list ordered chronologically. It used settings from the previous File Browser usage before this patch. Operators using the File Browser should generally use `FILE_DEFAULTDISPLAY`/`FILE_SORT_DEFAULT` now, except if they have a reason not to. See comments at their definition. ---- This makes it so operators that set a different display or sort type don't change the sort or display type for the next File Browser operation. So using "Recover Auto Save" entirely isolates display and sort type from other operations. Differential Revision: https://developer.blender.org/D8598 Reviewed by: Bastien Montagne
2020-11-03Fix possible use-after-free when closing Blender with File Browser openJulian Eisel
I think there wasn't actually any issue currently, but only by luck. We still passed around and NULL-checked a pointer to freed memory (the file operator, `SpaceFile.op`) which is easy to break and should be avoided. Noticed while testing D8598.
2020-11-01Rename BKE_sequencer.hRichard Antalik
Reviewed By: sergey Differential Revision: https://developer.blender.org/D9349
2020-11-01Cleanup: Fix typo in commentHans Goudey
2020-10-31Cleanup: clang-formatLukas Stockner
2020-10-30Merge branch 'blender-v2.91-release'Campbell Barton
2020-10-30Undo System: support for grouping steps with begin/end callsCampbell Barton
This adds support for treating multiple undo steps as a single step from the user perspective. This is needed for outliner mode switching and `object.switch_object` operator which change active object and mode in a single action.
2020-10-29UI: Improvements to Close File DialogYevgeny Makarov
Improved alignment of items on the File Close Dialog. Differential Revision: https://developer.blender.org/D6938 Reviewed by Hans Goudey
2020-10-28UI: Misc Label and Description ChangesYevgeny Makarov
Various changes to some labels and descriptions to be more accurate, clear, or less confusing. Differential Revision: https://developer.blender.org/D8394 Reviewed by Hans Goudey
2020-10-28GPencil: New support to trace sequence imagesAntonio Vazquez
Now it's possible to trace a sequence of images and not just a single one When the trace is for more than one image, a bacth job is started to process all frames. Note: All trace data is generated by Potrace library. Differential revision: https://developer.blender.org/D9316
2020-10-27Cleanup: use over-line for doxy commentsCampbell Barton
Follow our code style for doxygen sections.
2020-10-24UI: Capitalization CorrectionsYevgeny Makarov
Approximately 141 changes of capitalization to conform to MLA title style. Differential Revision: https://developer.blender.org/D8392 Reviewed by Julian Eisel
2020-10-22WM: warn when event's have repeat set for non keyboard eventsCampbell Barton
Also add docs to event and keymap item flag.
2020-10-22WM: ensure is_repeat isn't set for mouse-move eventsCampbell Barton
Follow up to d782bad62dc53373bb28811c0672da81924371d6 Also clear this for simulated events.
2020-10-21UI: Allow changing the active side of line gesturesPablo Dobarro
Line gesture use always the right side of the line as active (the area of the mesh that is going to be modified) by default. This adds the ability to change the active side when the line gesture is active by pressing the F key. This allows more freedom to position the line after starting the gestures, as it won't be required to cancel the operation or undo if the line was used in the wrong direction. Reviewed By: Severin Differential Revision: https://developer.blender.org/D9301
2020-10-21WM: ensure is_repeat isn't copied from the last eventCampbell Barton
This means if a keymap item is set to ignore repeat events, it may do so accidentally from this setting being copied.