mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
* copied addons from 'ayon-addon-settings' * added AE, photoshop and harmony addon * moved openpype to subfolder * cleanup repository files * updated create package script and README.md * formatting fixes * added cli flags to be able keep server structure * print progress and output dir * another formatting fixes
126 lines
3.6 KiB
Python
126 lines
3.6 KiB
Python
"""Providing models and setting values for image IO in Maya.
|
|
|
|
Note: Names were changed to get rid of the versions in class names.
|
|
"""
|
|
from pydantic import Field, validator
|
|
|
|
from ayon_server.settings import BaseSettingsModel, ensure_unique_names
|
|
|
|
|
|
class ImageIOConfigModel(BaseSettingsModel):
|
|
override_global_config: bool = Field(
|
|
False,
|
|
title="Override global OCIO config"
|
|
)
|
|
filepath: list[str] = Field(
|
|
default_factory=list,
|
|
title="Config path"
|
|
)
|
|
|
|
|
|
class ImageIOFileRuleModel(BaseSettingsModel):
|
|
name: str = Field("", title="Rule name")
|
|
pattern: str = Field("", title="Regex pattern")
|
|
colorspace: str = Field("", title="Colorspace name")
|
|
ext: str = Field("", title="File extension")
|
|
|
|
|
|
class ImageIOFileRulesModel(BaseSettingsModel):
|
|
activate_host_rules: bool = Field(False)
|
|
rules: list[ImageIOFileRuleModel] = Field(
|
|
default_factory=list,
|
|
title="Rules"
|
|
)
|
|
|
|
@validator("rules")
|
|
def validate_unique_outputs(cls, value):
|
|
ensure_unique_names(value)
|
|
return value
|
|
|
|
|
|
class ColorManagementPreferenceV2Model(BaseSettingsModel):
|
|
"""Color Management Preference v2 (Maya 2022+)."""
|
|
_layout = "expanded"
|
|
|
|
enabled: bool = Field(True, title="Use Color Management Preference v2")
|
|
|
|
renderSpace: str = Field(title="Rendering Space")
|
|
displayName: str = Field(title="Display")
|
|
viewName: str = Field(title="View")
|
|
|
|
|
|
class ColorManagementPreferenceModel(BaseSettingsModel):
|
|
"""Color Management Preference (legacy)."""
|
|
_layout = "expanded"
|
|
|
|
renderSpace: str = Field(title="Rendering Space")
|
|
viewTransform: str = Field(title="Viewer Transform ")
|
|
|
|
|
|
class WorkfileImageIOModel(BaseSettingsModel):
|
|
enabled: bool = Field(True, title="Enabled")
|
|
renderSpace: str = Field(title="Rendering Space")
|
|
displayName: str = Field(title="Display")
|
|
viewName: str = Field(title="View")
|
|
|
|
|
|
class ImageIOSettings(BaseSettingsModel):
|
|
"""Maya color management project settings.
|
|
|
|
Todo: What to do with color management preferences version?
|
|
"""
|
|
|
|
_isGroup: bool = True
|
|
activate_host_color_management: bool = Field(
|
|
True, title="Enable Color Management"
|
|
)
|
|
ocio_config: ImageIOConfigModel = Field(
|
|
default_factory=ImageIOConfigModel,
|
|
title="OCIO config"
|
|
)
|
|
file_rules: ImageIOFileRulesModel = Field(
|
|
default_factory=ImageIOFileRulesModel,
|
|
title="File Rules"
|
|
)
|
|
workfile: WorkfileImageIOModel = Field(
|
|
default_factory=WorkfileImageIOModel,
|
|
title="Workfile"
|
|
)
|
|
# Deprecated
|
|
colorManagementPreference_v2: ColorManagementPreferenceV2Model = Field(
|
|
default_factory=ColorManagementPreferenceV2Model,
|
|
title="Color Management Preference v2 (Maya 2022+)"
|
|
)
|
|
colorManagementPreference: ColorManagementPreferenceModel = Field(
|
|
default_factory=ColorManagementPreferenceModel,
|
|
title="Color Management Preference (legacy)"
|
|
)
|
|
|
|
|
|
DEFAULT_IMAGEIO_SETTINGS = {
|
|
"activate_host_color_management": True,
|
|
"ocio_config": {
|
|
"override_global_config": False,
|
|
"filepath": []
|
|
},
|
|
"file_rules": {
|
|
"activate_host_rules": False,
|
|
"rules": []
|
|
},
|
|
"workfile": {
|
|
"enabled": False,
|
|
"renderSpace": "ACES - ACEScg",
|
|
"displayName": "ACES",
|
|
"viewName": "sRGB"
|
|
},
|
|
"colorManagementPreference_v2": {
|
|
"enabled": True,
|
|
"renderSpace": "ACEScg",
|
|
"displayName": "sRGB",
|
|
"viewName": "ACES 1.0 SDR-video"
|
|
},
|
|
"colorManagementPreference": {
|
|
"renderSpace": "scene-linear Rec 709/sRGB",
|
|
"viewTransform": "sRGB gamma"
|
|
}
|
|
}
|