These messages are part of enum items not directly used by their
EnumProperty, because they are returned by a function. They cannot be
accessed in RNA at all times, and need to be extracted manually.
The bl_info dictionary is deprecated for most extensions, but it is
still used for core add-ons and since Node Wrangler is now built-in,
it should be marked as official.
The reason for this change is actually that it enables translation of
the Node Wrangler UI, because add-ons below official support level
were never considered for translation.
-----
The reason only OFFICIAL add-ons are translated is that they are enabled [here](4f36fb1afe/scripts/modules/bl_i18n_utils/bl_extract_messages.py (L1052)) during message extraction.
Pull Request: https://projects.blender.org/blender/blender/pulls/123043
The UI has changed and fast GI options was moved to the raytracing
panel in the UI. When this was done they were not added to the
raytracing presets what adds confusion when adding the presets.
This PR adds the fast GI options to the presets.
Pull Request: https://projects.blender.org/blender/blender/pulls/123061
Previously these were shown as missing add-ons, since they have been
intentionally removed, remove them as part of versioning instead
of showing them as "Missing Add-ons". This is especially important
for X3D & STL which were enabled by default which meant any user
loading 4.1 preferences would have them shown as missing add-ons.
Local repositories no longer convert manifest files into a JSON file
(that matched the format of the remote repositories JSON data).
Instead the data is loaded directly from the manifest files.
This is necessary to support read-only "System" repositories.
Use a class to generalize loading from both data sources to simplify the
implementation which was previously inlined.
This fixes an error where stale data from the manifests was
sometimes used because the generated JSON was considered up to date.
- "Show the result of running commands in the main interface...": add
punctuation.
- "Re-Installed" -> "Reinstalled" seems more common.
- "increase_" and "decrease_subdivision" in the Grease Pencil
modal...: use title case instead of snake case for label.
- "Use a automatic number..." -> "an", typo.
- "... points,{} splines": missing space.
- "End Frame is larger than Start Frame": wrong order in error message.
- "Approximate the object as sphere, which diameter is equal to
thickness the defined...": grammar.
- "Show Seconds" -> "Use Timecode": this option is not necessarily about
seconds. Suggested by Pablo Vasquez.
- Brightness and contrast node input descriptions: add missing spaces.
- "Gamma controls the relative intensity... full white.": remove
trailing ".".
Pull Request: https://projects.blender.org/blender/blender/pulls/122972
Add timeline version of tweak tool to timeline+preview mixed view.
This was removed in 8c53a18c48. Previously tools combined keymaps for
both preview and timeline, but in combined view preview operators were
disabled.
Pull Request: https://projects.blender.org/blender/blender/pulls/122992
- The "location" and "warning" fields in bl_info are no longer exposed
in the interface, so there is no need to extract them any more.
- Some add-ons do not define a description (Copy Global Transform for
example), so they should be skipped.
- Some third-party legacy add-ons do not use the 'support' field, and
that can cause an error in extraction. Since this won't happen
for built-in add-ons, checking that an add-on is built-in is enough.
Pull Request: https://projects.blender.org/blender/blender/pulls/122970
All add-ons were being scanned at startup, while this didn't cause
errors it was noticeable with extensions where any errors in the
manifest were being reported at startup, even when running with
factory-startup (including blender's own tests).
Address two issues:
- The logic to "reset" add-ons, so as to match the preferences when
reverting or resetting preferences always ran on startup.
This occurred because a check for Python being initialized was
incorrectly used to detect that this wasn't the first time preferences
were being loaded (regression in [0]).
- Resetting add-ons scanned all add-ons (including disabled add-ons) to
ensure their module cache is up to date. Since this the cache is
lazily initialized, it's simpler to set it as uninitialized as
resetting the add-ons doesn't require the cached meta-data.
[0]: 497bc4d19977abc7b9e2c0f5024a23057e680954
The old add-ons UI had a "Refresh" operator that would re-scan
the file-system and show any changes.
Add an equivalent operator that works for both extensions and legacy
add-ons and add it to the extension menu.
This is useful for a few situations:
- Refresh based on changes to "System" repositories which are read-only
from Blender and intended to be manipulated outside of Blender.
- Anyone managing their own "User" repository.
- For developers to create extensions, where re-starting to see changes
to meta-data is inconvenient.
- Troubleshooting problems parsing extension meta-data as problems are
reported to the operator.
The following operations have been removed for system repositories:
- Installing from disk.
- Uninstall extensions.
- Delete files (when removing the repository).
Also change the operator to remove a repository so the option to
remove files is now a boolean instead of an enum. While a dynamic
enum can be made to work, this option is logically a boolean.
Since these actions are no longer blocking, 100 times a second could
add unnecessary overhead (although updates are only shown when changes
are detected). Nevertheless, reduce the frequency to 10 times a second.
When installing extensions, the user could exit Blender which wasn't
being handled properly - the processes would be left running and raise
a broken pipe error (on Linux).
Resolve this by canceling the processes, matching the behavior of when
escape is pressed.
This means exiting Blender while installing/updating wont leave the
repositories in an unknown state.
In Preferences / Themes you can add a new theme with a name that has
multiple words and the resulting file name will have spaces converted
to underscores. Unfortunately such multi-word themes will not pass the
poll function for saving and deletion. This PR just adds calls that
convert from the display name to file name in order for these to work.
Pull Request: https://projects.blender.org/blender/blender/pulls/122848
Disabling the last Subdivision Surface modifier was removed by mistake
in
blender/blender-addons/commit/bc801d7b1dad4be446435e0cab4d3a80e6bb1d04
This patch restores the mistakenly removed code that disables the last
Subdivision Surface modifier when the option to export FBX Subdivision
Surface is enabled.
The add-on's patch version has been increased.
Pull Request: https://projects.blender.org/blender/blender/pulls/122841
Since [0] there was no way to refresh local repositories,
with the poll messages suggesting to restart Blender to see updates
which isn't practical for developers.
The ability to refresh was prevented when "Online Access" was disabled,
meaning a developer couldn't easily develop their own add-ons unless
they were online.
[0]: 651621da0dbdc14cf7263b3570970732bffbe692
The buttons to upgrade or sync extensions called extension
operators via bpy.app.handlers, requiring awkward glue-code
which didn't show error reports in to the user.
Remove these operators and call the upgrade & sync operators directly.
Support for "System" extensions as an alternative to the current
"User" extensions repository.
The purpose of this change is to support bundling extensions for
offline work or in environments where users setting up thier own
extensions isn't desirable, see #122512.
Details:
The default "System" repository on Linux will for example use:
- `/usr/share/blender/4.2/extensions/{system}` For system installs.
- `./4.2/extensions/{system}` For portable installs.
- Blender's default startup now has a "System" repository
which users or administrators may populate.
- Repositories can select between User/System paths,
setting a custom path overrides overrides this setting.
- Add "BLENDER_SYSTEM_EXTENSIONS" (matching "BLENDER_LOCAL_EXTENSIONS").
Ref !122832
Changes in view3d_id_path_drop_copy from 8b6a21c122 assumed that
drag-drop filepaths was handled only with FileHandlers in View3d. This
adds the missing drop-box to FileHandler conversion for .vdb files.
Pull Request: https://projects.blender.org/blender/blender/pulls/122839
A few of the recently added submenus are not included in the list of builtin
menus, so node assets under those catalog names will generate redundant submenus.
Fixes same issue as b49c84276c for newly added nested menus.
Pull Request: https://projects.blender.org/blender/blender/pulls/122855
autopep8_format_paths.py was never wired up in the windows tooling,
this PR wires it up, to get around a 8191 limitation for command
lines on windows an alternative "--no-subprocess" option has been
introduced to call the pep8 module directly from python.
TODO: A subprocess is still used for getting the version information
Contributors:
- @campbellbarton fixes to autopep8_format_paths.py to support
the -no-subprocess option.
Pull Request: https://projects.blender.org/blender/blender/pulls/120794
We don't have yet the perfect formula, so adding
- An option to disable bone shape for Blender heuristic, if needed
- An option to scale factor the bone shape for Blender heuristic