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-03-24GPencil: New modules for Import and ExportAntonio Vazquez
This patch adds support to export and import grease pencil in several formats. Inlude: * Export SVG * Export PDF (always from camera view) * Import SVG The import and export only support solid colors and not gradients or textures. Requires libharu and pugixml. For importing SVG, the NanoSVG lib is used, but this does not require installation (just a .h file embedded in the project folder) Example of PDF export: https://youtu.be/BMm0KeMJsI4 Reviewed By: #grease_pencil, HooglyBoogly Maniphest Tasks: T83190, T79875, T83191, T83192 Differential Revision: https://developer.blender.org/D10482
2021-03-24Cleanup: use new BLI_assert_unreachable macroCampbell Barton
2021-03-22Cleanup: clang-format, trailing spaceCampbell Barton
Minor manual tweak to prevent wrapping an array into columns.
2021-03-18Cleanup: spellingCampbell Barton
2021-03-17Comments: document memory management for `BPyPropStore`Campbell Barton
2021-03-17PyAPI: use union to store pointer poll callbackCampbell Barton
Reduces `BPyPropStore` size by one pointer.
2021-03-17Audaspace: add support for CoreAudio on macOSJörg Müller
This adds CoreAudio as audio backend on macOS. CoreAudio is the standard audio API on macOS. Ref T86590
2021-03-17Audaspace: add support for WASAPI on WindowsJörg Müller
This adds WASAPI as audio backend on Windows. WASAPI is the modern standard audio API on Windows introduced with Windows Vista. Ref T86590
2021-03-17Audaspace: add support for PulseAudio on LinuxJörg Müller
This adds PulseAudio as audio backend on Linux. PulseAudio is the main audio engine used on most, if not all, Linux distributions today. Ref T86590
2021-03-16Python GPU: Improve the Python GPU API documentationGermano Cavalcante
This fixes some errors of continuity and consistency of formatting on https://docs.blender.org/api/current/gpu.html This also details the description of some parameters. Differential Revision: https://developer.blender.org/D10531
2021-03-16Cleanup: use doxy sections for 'bpy.props' moduleCampbell Barton
2021-03-16Cleanup: use _fn suffix in bpy.propsCampbell Barton
2021-03-16Fix T86332: Error using lambda in annotations in Python 3.10Campbell Barton
Callbacks used in `bpy.props` didn't hold a references to the functions they used. While this has been the case since early 2.5x it didn't cause any problems as long as the class held a reference. With Python 3.10 or when using `from __future__ import annotations`, the annotations are no longer owned by the class once evaluated. Resolve this by holding a reference in the module, which now supports traverse & clear callbacks so the objects are visible to Python's garbage collector. Also refactor storage of Python data, moving from an array into a struct.
2021-03-15Cleanup: update comments, remove ifdef'd codeCampbell Barton
2021-03-12Cleanup: remove workaround for MSVC PyTypeObject declarationsCampbell Barton
This is no longer needed for MSVC-2017.
2021-03-10Cleanup: unused warning building as a Python moduleCampbell Barton
2021-03-08PyAPI: add bpy.types.BlendFile.temp_data for temporary library loadingCampbell Barton
This adds support for creating a `BlendFile` (internally called `Main`), which is limited to a context. Temporary data can now be created which can then use `.libraries.load()` the same as with `bpy.data`. To prevent errors caused by mixing the temporary ID's with data in `bpy.data` they are tagged as temporary so they can't be assigned to properties, however they can be passed as arguments to functions. Reviewed By: mont29, sybren Ref D10612
2021-03-08readfile: add id_tag_extra argumentCampbell Barton
This allows adding ID tags when linking/loading data. This is needed to implement loading non 'G.main' ID data-blocks, see D10612.
2021-03-08Cleanup: rename offs to offscreenCampbell Barton
2021-03-06Cleanup: commentsCampbell Barton
2021-03-05Cleanup: Use boolean in WM_cursor_waitAntonio Vazquez
2021-03-04Cleanup: Main `foreach ID` code: Remove `MAX_LIBARRAY` and improve comments.Bastien Montagne
The `MAX_LIBARRAY` define was an annoying doublon to the `INDEX_ID_MAX` enum value now defined in `DNA_ID.h`, and it is no more useful. And comments were somewhat outdated. Also added an explanation about chosen order for the `INDEX_ID_<IDTYPE>` order.
2021-03-04PyAPI: use methods for bpy.data.libraries.load & writeCampbell Barton
Replace static methods with regular methods. Now the 'Main' value is taken from the collection. Needed to support multiple 'Main' instances in Python, see T86183.
2021-03-04PyAPI: support methods for collection propertiesCampbell Barton
Previously only static methods were supported. Now C/API functions added to collections can receive a 'self' argument.
2021-03-04Cleanup: use const arraysCampbell Barton
2021-03-04Cleanup: replace Py_CLEAR with Py_DECREF in bpy.app modulesCampbell Barton
In this case, there is no benefit to using Py_CLEAR as the value will never be NULL and can't be used later on.
2021-03-04Fix logic for calling PyObject_GC_UnTrackCampbell Barton
All tracked objects need a matching un-track, also remove redundant Py_XDECREF call.
2021-03-04PyAPI: correct garbage collection for StructRNA typesCampbell Barton
By default objects are no longer GC tracked, this removes some overhead although it's not significant in my own testing. - Only enable GC for StructRNA when 'WITH_PYTHON_SAFETY' is on. - Only track StructRNA when their 'reference' is set. - Add missing NULL check when 'WITH_PYTHON_SAFETY' is on and objects new objects be created.
2021-03-03Cleanup: minor changes to Python RNA pointer assignmentCampbell Barton
Don't assign the BPy_StructRNA a value which can be 'None', instead, set it to NULL.
2021-03-01GPU Python: Implement gpu.texture.from_imageGermano Cavalcante
It can be useful to replace `image.bindcode` and `image.gl_load`. Used for example in https://docs.blender.org/api/current/gpu.html#d-image Reviewed By: brecht Differential Revision: https://developer.blender.org/D10458
2021-02-25Py API: update `bpy.data.orphans_purge` to support new options.Bastien Montagne
This API function can now purge recursively in a single call, and choose to ignore (not purge) local or linked IDs. Default behavior (with not argument) remains unchanged, so no API breackage here.
2021-02-25PyAPI: expose imbuf.types.ImBuf, include in API docsCampbell Barton
Without this, the ImBuf type wasn't part of documentation.
2021-02-24Revert "t"Germano Cavalcante
This reverts commit d3a96e5022e121426c8926d0507effe4e9b4005f.
2021-02-24tGermano Cavalcante
2021-02-24PyAPI: Ensure GIL state only when a callback existsGermano Cavalcante
There are fewer python callbacks than `ARegionType`s. This also broke GTests's `bf_blenderloader_tests`.
2021-02-24PyAPI: Fix memory leak of parameters used for python 'draw_callbacks'Germano Cavalcante
When closing the blender, while the callbacks are removed, the reference count of the object used as `customdata` is not decremented. This commit adds two functions that correctly release the python `draw_callbacks` before releasing all `draw_callbacks`. Differential Revision: https://developer.blender.org/D10478
2021-02-24Cleanup: Move some utilities to 'gpu_py.h'Germano Cavalcante
2021-02-22PyAPI: expose unstable type bpy.props._PropertyDeferredCampbell Barton
Even though this might change, rigify, animation-nodes & translation extraction depend on being able to extract this information.
2021-02-22GPU Python: Use 'PyC_ParseStringEnum' to parse itemsGermano Cavalcante
Currently the GPU module for python has different ways to handle enums. - Organizing items in `PyC_StringEnumItems` arrays and parsing them with `PyC_ParseStringEnum`. - Using dedicated functions for each type of enum (`bpygpu_ParsePrimType`, `pygpu_ParseVertCompType` and `pygpu_ParseVertFetchMode`). Although apparently more efficient (especially `pygpu_ParseVertCompType` which transforms strings into integers for simple comparison), these dedicated functions duplicate functionality, increase the complexity of the code and consequently make it less readable. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10456
2021-02-22Fix crash auto-completing bpy.types in the Python consoleCampbell Barton
Reference counting error in dc61a63e3f1bb3773677fb009fd787af7bd5c727
2021-02-22Fix missing NULL check on macOS when system-python isn't foundCampbell Barton
Regression from cafd6b519c5f5c4b67d0dfe3d453cd4223b38716. D10494 by @ysano with edits.
2021-02-21PyAPI: use postponed annotations to support Python 3.10Campbell Barton
Support Python 3.10a5 or 3.9x with support explicitly enabled. - Enable Python's postponed annotations for Blender's RNA classes types registered on startup. - Using postponed annotations has implications for how they are defined, since they must evaluate in the modules name-space instead of the classes name-space. See changes to annotations in `release/scripts`. - Use `from __future__ import annotations` at the top of the module to ensure the script will run with Python 3.10. - Old logic is kept since it could be used if PEP-649 is supported. Resolves T83626 Ref D10474
2021-02-21PyAPI: expose bpy_prop_deferred function & keywordsCampbell Barton
While not needed for Blender, Animation Nodes uses this information, expose this information for scripts to access that need it.
2021-02-20PyAPI: use a new type for storing the deferred result of bpy.propsCampbell Barton
This is needed to support Python 3.10's Postponed annotation evaluation. It also simplifies type checking.
2021-02-20Cleanup: spellingCampbell Barton
2021-02-20Cleanup: doxygen sectionsCampbell Barton
2021-02-19PyAPI: include all members in dir(bpy.types)Campbell Barton
C/Python defined types were accessible but not exposed in dir(bpy.types)
2021-02-19PyAPI: use real module for bpy.typesCampbell Barton
This is needed to support `typing.get_type_hints`, which expects each classes module to have a module '__dict__'.
2021-02-18Cleanup: Clang tidy else after returnHans Goudey
2021-02-18Cleanup: remove check for non-annotation properties in classesCampbell Barton
This was added to assist upgrading scripts to Blender 2.8x, now 2.9x is released there is no need to keep this block.