Files
blender-addons/render_copy_settings/__init__.py
Bastien Montagne efc7cc645d Copy Render Settings: Add support for Cycles, Eevee and Workbench settings.
In addition to `Scene.render` properties, add properties from
`Scene.cycles`, `Scene.eevee` and `Scene.display.shading` to the list of
copyable data.

Note that the list of propoerties is now fairly gigantic, the search
field at the bottom of the list becomes a critical help.

Better ways to control what is shown and to filter properties should be
added at some point, when there is time for such development.

Fix #104771.
2023-08-25 18:41:18 +02:00

70 lines
1.6 KiB
Python

# SPDX-FileCopyrightText: 2011-2022 Blender Foundation
#
# SPDX-License-Identifier: GPL-2.0-or-later
bl_info = {
"name": "Copy Render Settings",
"author": "Bastien Montagne",
"version": (2, 0, 0),
"blender": (4, 0, 0),
"location": "Render buttons (Properties window)",
"description": "Allows to copy a selection of render settings "
"from current scene to others.",
"doc_url": "{BLENDER_MANUAL_URL}/addons/render/copy_settings.html",
"category": "Render",
}
if "bpy" in locals():
import importlib
importlib.reload(data)
importlib.reload(operator)
importlib.reload(panel)
importlib.reload(translations)
else:
from . import (
data,
operator,
panel,
translations,
)
import bpy
from bpy.props import (
PointerProperty,
)
classes = data.classes + operator.classes + panel.classes
def scene_render_copy_settings_timer():
operator.scene_render_copy_settings_update()
return 1.0 # Run every second.
def register():
for cls in classes:
bpy.utils.register_class(cls)
bpy.types.Scene.render_copy_settings = PointerProperty(type=data.RenderCopySettingsData)
bpy.app.translations.register(__name__, translations.translations_dict)
bpy.app.timers.register(scene_render_copy_settings_timer, persistent=True)
def unregister():
bpy.app.timers.unregister(scene_render_copy_settings_timer)
bpy.app.translations.unregister(__name__)
del bpy.types.Scene.render_copy_settings
for cls in classes:
bpy.utils.unregister_class(cls)
if __name__ == "__main__":
register()