From 5ac4e6c911f6c61a33193f0bf796e1ab093a94e7 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 22 Mar 2022 19:14:42 +0100 Subject: Color Management: add support for OpenColorIO color space aliases This enables the configuration to specify aliases for compatibility with other configurations. When a colorspace name is saved in a.blend, that is the alias of a colorspace in the current configuration, it will show the main colorspace from the configuration in the user interface and Python API instead. Loading & saving the .blend file does not make any changes to the stored name, so as to not make hidden modifications. Only when setting the property again will the alias name be overwritten by the main colorspace name. Fixes T96049 Differential Revision: https://developer.blender.org/D14419 --- intern/opencolorio/ocio_impl.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'intern/opencolorio/ocio_impl.h') diff --git a/intern/opencolorio/ocio_impl.h b/intern/opencolorio/ocio_impl.h index 5be1d3aacf8..d42fa58121f 100644 --- a/intern/opencolorio/ocio_impl.h +++ b/intern/opencolorio/ocio_impl.h @@ -76,6 +76,8 @@ class IOCIOImpl { virtual const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs) = 0; virtual const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs) = 0; virtual const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs) = 0; + virtual int colorSpaceGetNumAliases(OCIO_ConstColorSpaceRcPtr *cs) = 0; + virtual const char *colorSpaceGetAlias(OCIO_ConstColorSpaceRcPtr *cs, const int index) = 0; virtual OCIO_ConstProcessorRcPtr *createDisplayProcessor(OCIO_ConstConfigRcPtr *config, const char *input, @@ -190,6 +192,8 @@ class FallbackImpl : public IOCIOImpl { const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs); const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs); const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs); + int colorSpaceGetNumAliases(OCIO_ConstColorSpaceRcPtr *cs); + const char *colorSpaceGetAlias(OCIO_ConstColorSpaceRcPtr *cs, const int index); OCIO_ConstProcessorRcPtr *createDisplayProcessor(OCIO_ConstConfigRcPtr *config, const char *input, @@ -277,6 +281,8 @@ class OCIOImpl : public IOCIOImpl { const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs); const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs); const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs); + int colorSpaceGetNumAliases(OCIO_ConstColorSpaceRcPtr *cs); + const char *colorSpaceGetAlias(OCIO_ConstColorSpaceRcPtr *cs, const int index); OCIO_ConstProcessorRcPtr *createDisplayProcessor(OCIO_ConstConfigRcPtr *config, const char *input, -- cgit v1.2.3