File headers: use SPDX license identifiers
[blender-addons.git] / pose_library / __init__.py
blob33ca777f841699e5270e731f0a01fe87d3266253
1 # SPDX-License-Identifier: GPL-2.0-or-later
3 """
4 Pose Library based on the Asset Browser.
5 """
7 bl_info = {
8 "name": "Pose Library",
9 "description": "Pose Library based on the Asset Browser.",
10 "author": "Sybren A. Stüvel",
11 "version": (2, 0),
12 "blender": (3, 0, 0),
13 "warning": "In heavily development, things may change",
14 "location": "Asset Browser -> Animations, and 3D Viewport -> Animation panel",
15 # "doc_url": "{BLENDER_MANUAL_URL}/addons/animation/pose_library.html",
16 "support": "OFFICIAL",
17 "category": "Animation",
20 from typing import List, Tuple
22 _need_reload = "operators" in locals()
23 from . import gui, keymaps, operators, conversion
25 if _need_reload:
26 import importlib
28 gui = importlib.reload(gui)
29 keymaps = importlib.reload(keymaps)
30 operators = importlib.reload(operators)
31 conversion = importlib.reload(conversion)
33 import bpy
35 addon_keymaps: List[Tuple[bpy.types.KeyMap, bpy.types.KeyMapItem]] = []
38 def register() -> None:
39 bpy.types.WindowManager.poselib_flipped = bpy.props.BoolProperty(
40 name="Flip Pose",
41 default=False,
43 bpy.types.WindowManager.poselib_previous_action = bpy.props.PointerProperty(type=bpy.types.Action)
45 operators.register()
46 keymaps.register()
47 gui.register()
50 def unregister() -> None:
51 gui.unregister()
52 keymaps.unregister()
53 operators.unregister()
55 try:
56 del bpy.types.WindowManager.poselib_flipped
57 except AttributeError:
58 pass
59 try:
60 del bpy.types.WindowManager.poselib_previous_action
61 except AttributeError:
62 pass