2025-12-01
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
|
||||
import bpy
|
||||
from .categories import rig_settings, shader_settings, rna_overrides
|
||||
from .categories import variable_settings as var_settings
|
||||
|
||||
|
||||
class LOR_SettingsGroup(bpy.types.PropertyGroup):
|
||||
name: bpy.props.StringProperty()
|
||||
text_datablock: bpy.props.PointerProperty(
|
||||
type = bpy.types.Text,
|
||||
name = "Settings JSON",
|
||||
description = "Text datablock that contains the full settings information"
|
||||
)
|
||||
is_dirty: bpy.props.BoolProperty(default=False)
|
||||
|
||||
variable_settings: bpy.props.CollectionProperty(type=var_settings.LOR_variable_setting)
|
||||
variable_settings_index: bpy.props.IntProperty()
|
||||
motion_blur_settings: bpy.props.CollectionProperty(type=var_settings.LOR_variable_setting)
|
||||
motion_blur_settings_index: bpy.props.IntProperty()
|
||||
shader_settings: bpy.props.CollectionProperty(type=shader_settings.LOR_shader_setting)
|
||||
shader_settings_index: bpy.props.IntProperty()
|
||||
rig_settings: bpy.props.CollectionProperty(type=rig_settings.LOR_rig_setting)
|
||||
rig_settings_index: bpy.props.IntProperty()
|
||||
rna_overrides: bpy.props.CollectionProperty(type=rna_overrides.LOR_rna_override)
|
||||
rna_overrides_index: bpy.props.IntProperty()
|
||||
|
||||
class LOR_MetaSettings(bpy.types.PropertyGroup):
|
||||
enabled: bpy.props.BoolProperty(default=False)
|
||||
shot_settings: bpy.props.PointerProperty(type=LOR_SettingsGroup)
|
||||
sequence_settings: bpy.props.PointerProperty(type=LOR_SettingsGroup)
|
||||
settings_toggle: bpy.props.EnumProperty(default='SHOT',
|
||||
items= [('SEQUENCE', 'Sequence Settings', 'Manage override settings for the current sequence', '', 0),
|
||||
('SHOT', 'Shot Settings', 'Manage override settings for the current shot', '', 1),]
|
||||
)
|
||||
execution_script: bpy.props.PointerProperty(
|
||||
type = bpy.types.Text,
|
||||
name = "Execution Script",
|
||||
description = "Text datablock with script that automatically applies the saved settings on file-load"
|
||||
)
|
||||
execution_script_source: bpy.props.StringProperty(default='//../../../lib/scripts/load_settings.blend')#TODO expose in addon settings
|
||||
|
||||
|
||||
classes = [
|
||||
LOR_SettingsGroup,
|
||||
LOR_MetaSettings,
|
||||
]
|
||||
|
||||
def register():
|
||||
for c in classes:
|
||||
bpy.utils.register_class(c)
|
||||
bpy.types.Scene.LOR_Settings = bpy.props.PointerProperty(type=LOR_MetaSettings)
|
||||
|
||||
def unregister():
|
||||
for c in classes:
|
||||
bpy.utils.unregister_class(c)
|
||||
del bpy.types.Scene.LOR_Settings
|
||||
Reference in New Issue
Block a user