Synergy Color Management Component - SDK -  2018.0.80
SYNCOLOR Namespace Reference

Autodesk SynColor SDK public namespace. More...

Namespaces

 TransformCache
 Color transform cache.
 

Classes

struct  Chromaticities
 
struct  ChromaticityCoordinates
 Chromaticity coordinates. More...
 
class  ColorSpace
 Color space. More...
 
class  ColorSpacesAttributes
 Color spaces attributes class. More...
 
class  Config
 Configuration. More...
 
class  DefaultFileRule
 This class represents a rule where only the input color space could be user managed. More...
 
class  DefaultViewingRule
 
struct  DynamicProperty
 Dynamic property structure definition. More...
 
class  FilePathRule
 This class represents a rule where the file pattern and the input color space could be user managed. More...
 
class  FileRules
 The class contains all the file rules, and the capabilities to manage them. More...
 
class  GPUAdaptor
 
class  GPUAdaptorPtr
 GPU Adaptor smart pointer. More...
 
class  List
 Templated list class. More...
 
class  MixingSliderUnits
 Class for adjusting slider spacing based on mixing color space. More...
 
class  NativeCatalogManager
 SynColor transform catalog manager. More...
 
class  OpaqueFileRule
 This class represents a rule where the file pattern and the input color space are hidden. More...
 
class  Policy
 A read-only policy intended as a Preferences template. More...
 
class  PolicyCollection
 A collection of policies. More...
 
class  PolicyInterface
 An abstract interface for any policy. More...
 
class  Preferences
 An editable policy. More...
 
class  Rect
 Rectangle class. More...
 
class  ROI
 Region of interest class. More...
 
class  Rule
 This class represents a generic rule. More...
 
class  RulePtr
 This class is a smart pointer on a rule. More...
 
class  Rules
 The base class for rule containers that contain all the rules, and the capabilities to manage them. More...
 
class  RuleWriter
 The class is the callback to serialize all the rules. More...
 
singleton  SharedPtr
 Generic smart pointer. More...
 
struct  StringInt
 String/Int struct. More...
 
class  SupportedExtensionsCallBack
 Callback class for obtaining the list of supported file extensions that may be read. Clients will need to implement this class and use this implementation as the callback for retrieving supported extensions through getSupportedFileExtensions(). More...
 
class  SupportedOutputFormatsCallBack
 Callback class for obtaining the list of supported output formats for a specific transform. Clients will need to implement this class and use this implementation as the callback for retrieving supported formats through getSupportedOutputFormats(). More...
 
class  SynStatus
 SynColor SDK error status reporting class. More...
 
class  Template
 Color transform creation templates. More...
 
class  TemplateParameter
 Template parameter class. More...
 
class  Transform
 Color transform class. More...
 
class  TransformList
 Color transform list class. More...
 
class  TransformPathMonitor
 Monitor a path for transform directories and files. More...
 
class  TransformPtr
 Transform smart pointer.. More...
 
class  TransformWriterCallback
 Callback class for writing color transform xml to a memory buffer. More...
 
class  URL
 This class manages an URL. More...
 
class  UserColorSpaceSerializer
 This class is the callback to serialize a user color space. More...
 
class  Vertices
 Collection of 4 vertices describing a rectangle. More...
 
class  ViewingRule
 
class  ViewingRules
 The class contains all the viewing rules, and the capabilities to manage them. More...
 

Typedefs

typedef unsigned long ColorSpaceTagFlags
 Used to specify multiple color space tags. More...
 
typedef SharedPtr
< ColorSpacesAttributes
ColorSpacesAttributesPtr
 Helper shared pointer. More...
 
typedef List< const char * > StringList
 String list. More...
 
typedef SharedPtr< StringListStringListPtr
 Helper shared pointer for a String list. More...
 
typedef List< int > IntList
 Int list. More...
 
typedef SharedPtr< IntListIntListPtr
 Helper shared pointer for a String list. More...
 
typedef List< StringIntStringIntList
 String/Int list. More...
 
typedef SharedPtr< StringIntListStringIntListPtr
 Helper shared pointer for a String/Int list. More...
 
typedef void(* LogFunc )(LogLevel, const char *)
 Logging function signature. More...
 
typedef SharedPtr
< MixingSliderUnits
MixingSliderUnitsPtr
 Helper shared pointer. More...
 
typedef SharedPtr< TransformListTransformListPtr
 Helper shared pointer. More...
 
typedef SharedPtr
< TemplateParameter
TemplateParameterPtr
 Helper shared pointer. More...
 
typedef SharedPtr< TemplateTemplatePtr
 Helper shared pointer. More...
 

Enumerations

enum  BasePath { BASE_PATH_NONE = 0, BASE_PATH_AUTODESK, BASE_PATH_SHARED }
 List of supported base paths to use to interpret relative file paths. More...
 
enum  BitDepth {
  BIT_DEPTH_UNKNOWN = 0, BIT_DEPTH_8i = 0x01000, BIT_DEPTH_10i = 0x02000, BIT_DEPTH_12i = 0x04000,
  BIT_DEPTH_16i = 0x08000, BIT_DEPTH_16f = 0x10000, BIT_DEPTH_32f = 0x20000
}
 Supported bit depth list. More...
 
enum  BitDepthHelper { BIT_DEPTH_MASK = 0xFF000 }
 Bit depth mask. More...
 
enum  ColorSpaceCategory { Native = 0, OCIO }
 List of color space category for classifying color spaces. More...
 
enum  ColorSpaceType {
  ColorSpaceInput = 0, ColorSpaceWorking, ColorSpaceView, ColorSpaceDisplay,
  LastColorSpaceType = ColorSpaceDisplay
}
 List of color space types for classifying color spaces. More...
 
enum  ColorSpaceAttributeKey {
  NameKey = 0, HierarchyKey, UserFacingNameKey, OriginalRefKey,
  FunctionalMD5Key, IDKey, TypeKey, PureViewInputTypeKey,
  PureViewInputNameKey, PureViewOutputNameKey, DisplayPathKey, ConSpaceImageStateKey,
  InfoVersionKey, VisibilityKey, PrimariesRedxKey, PrimariesRedyKey,
  PrimariesGreenxKey, PrimariesGreenyKey, PrimariesBluexKey, PrimariesBlueyKey,
  PrimariesWhitexKey, PrimariesWhiteyKey
}
 List of possible color space attribute value key. More...
 
enum  ColorSpaceTag {
  CS_TAG_DISPLAY = 0x1 << 0, CS_TAG_DISPLAY_PRE_PROCESS = 0x1 << 1, CS_TAG_INPUT = 0x1 << 2, CS_TAG_INPUT_TAG_ONLY = 0x1 << 3,
  CS_TAG_LOG_WORKING = 0x1 << 4, CS_TAG_OUTPUT_TAG_ONLY = 0x1 << 5, CS_TAG_PURE_VIEW = 0x1 << 6, CS_TAG_SCENE_LINEAR_WORKING = 0x1 << 7,
  CS_TAG_VIDEO_WORKING = 0x1 << 8, CS_TAG_VIEW_PRE_PROCESS = 0x1 << 9, CS_TAG_VIEW = 0x1 << 10, CS_TAG_FIRST = CS_TAG_DISPLAY,
  CS_TAG_LAST = CS_TAG_VIEW
}
 List of color space tags for classifying color spaces. More...
 
enum  ColorSpaceExtTag { CS_EXT_TAG_ALL_WORKING, CS_EXT_TAG_ALL_TAG_ONLY, CS_EXT_TAG_ALL }
 List of color space tag groups for convenience. More...
 
enum  Component {
  COMP_MASK = 0xFF000000, COMP_UTILS = 0x01000000, COMP_TRANSFORM = 0x02000000, COMP_XML = 0x03000000,
  COMP_RENDERER = 0x04000000, COMP_TEMPLATE = 0x05000000, COMP_SYN_COLOR = 0x06000000
}
 List of error message component groups. More...
 
enum  Feature {
  FEATURE_MASK = 0x00FF0000, FEATURE_UTILS_ALL = COMP_UTILS | 0x00010000, FEATURE_UTILS_PREFERENCES = COMP_UTILS | 0x00020000, FEATURE_UTILS_DYNAMIC_PROP = COMP_UTILS | 0x00030000,
  FEATURE_UTILS_PLATFORM = COMP_UTILS | 0x00040000, FEATURE_XML_ALL = COMP_XML | 0x00010000, FEATURE_XML_READER = COMP_XML | 0x00020000, FEATURE_XML_WRITER = COMP_XML | 0x00030000,
  FEATURE_XML_RESOLVER = COMP_XML | 0x00040000, FEATURE_XML_PREFS_READER = COMP_XML | 0x00050000, FEATURE_XML_IO_READER = COMP_XML | 0x00060000, FEATURE_XML_OCIO_READER = COMP_XML | 0x00070000,
  FEATURE_XML_ICC_READER = COMP_XML | 0x00080000, FEATURE_XML_DISCREET_1D_READER = COMP_XML | 0x00090000, FEATURE_XML_DISCREET_3D_READER = COMP_XML | 0x000A0000, FEATURE_XML_CATALOG_MANAGER = COMP_XML | 0x000B0000,
  FEATURE_XML_PREFERENCES = COMP_XML | 0x000C0000, FEATURE_TRANSFORM_ALL = COMP_TRANSFORM | 0x00010000, FEATURE_TRANSFORM_TRANSFORM = COMP_TRANSFORM | 0x00020000, FEATURE_TRANSFORM_MATRIX = COMP_TRANSFORM | 0x00030000,
  FEATURE_TRANSFORM_LUT_1D = COMP_TRANSFORM | 0x00040000, FEATURE_TRANSFORM_LUT_3D = COMP_TRANSFORM | 0x00050000, FEATURE_TRANSFORM_OPLIST = COMP_TRANSFORM | 0x00060000, FEATURE_TRANSFORM_RANGE = COMP_TRANSFORM | 0x00070000,
  FEATURE_TRANSFORM_REFERENCE = COMP_TRANSFORM | 0x00080000, FEATURE_TRANSFORM_GAMMA = COMP_TRANSFORM | 0x00090000, FEATURE_TRANSFORM_EXPOSURE_CONTRAST = COMP_TRANSFORM | 0x000A0000, FEATURE_TRANSFORM_LOG = COMP_TRANSFORM | 0x000B0000,
  FEATURE_TRANSFORM_CDL = COMP_TRANSFORM | 0x000C0000, FEATURE_TRANSFORM_METADATA = COMP_TRANSFORM | 0x000D0000, FEATURE_TRANSFORM_GAMUT_MAP = COMP_TRANSFORM | 0x000E0000, FEATURE_TRANSFORM_HUE_VECTOR = COMP_TRANSFORM | 0x000F0000,
  FEATURE_TRANSFORM_FUNCTION = COMP_TRANSFORM | 0x00100000, FEATURE_TRANSFORM_ACES = COMP_TRANSFORM | 0x00200000, FEATURE_TRANSFORM_INDEX_MAP = COMP_TRANSFORM | 0x00300000, FEATURE_RENDERER_ALL = COMP_RENDERER | 0x00010000,
  FEATURE_RENDERER_CPU = COMP_RENDERER | 0x00020000, FEATURE_RENDERER_GPU = COMP_RENDERER | 0x00030000, FEATURE_RENDERER_OCIO = COMP_RENDERER | 0x00040000, FEATURE_TEMPLATE_ALL = COMP_TEMPLATE | 0x00010000,
  FEATURE_TEMPLATE_OCIO = COMP_TEMPLATE | 0x00020000, FEATURE_TEMPLATE_CATALOG = COMP_TEMPLATE | 0x00030000, FEATURE_SYN_COLOR_TRANSFORM = COMP_SYN_COLOR | 0x00010000, FEATURE_SYN_COLOR_PATH = COMP_SYN_COLOR | 0x00020000,
  FEATURE_SYN_COLOR_PREFS = COMP_SYN_COLOR | 0x00030000, FEATURE_SYN_COLOR_CACHE = COMP_SYN_COLOR | 0x00040000, FEATURE_SYN_COLOR_CATALOG = COMP_SYN_COLOR | 0x00050000, FEATURE_SYN_COLOR_RULES = COMP_SYN_COLOR | 0x00060000,
  FEATURE_SYN_COLOR_POLICIES = COMP_SYN_COLOR | 0x00070000, FEATURE_SYN_COLOR_COLORSPACE = COMP_SYN_COLOR | 0x00080000
}
 List of error message feature groups. More...
 
enum  ErrorId {
  ERROR_NONE = 0x00, ERROR_UTILS_ALL_INDEX_NOT_IN_RANGE = (SYNCOLOR::FEATURE_UTILS_ALL + 1), ERROR_UTILS_ALL_INVALID_ROI_WIDTH = (SYNCOLOR::FEATURE_UTILS_ALL + 2), ERROR_UTILS_ALL_INVALID_ROI_HEIGHT = (SYNCOLOR::FEATURE_UTILS_ALL + 3),
  ERROR_UTILS_ALL_ILLEGAL_PIXEL_FORMAT = (SYNCOLOR::FEATURE_UTILS_ALL + 4), ERROR_UTILS_ALL_ILLEGAL_ATTRIBUTE = (SYNCOLOR::FEATURE_UTILS_ALL + 5), ERROR_UTILS_ALL_FILE_LOCK_FAILED = (SYNCOLOR::FEATURE_UTILS_ALL + 6), ERROR_UTILS_ALL_FILE_UNLOCK_FAILED = (SYNCOLOR::FEATURE_UTILS_ALL + 7),
  ERROR_UTILS_ALL_STRING_HAS_NO_ALPHANUMERIC = (SYNCOLOR::FEATURE_UTILS_ALL + 8), ERROR_UTILS_ALL_LANG_TEST = (SYNCOLOR::FEATURE_UTILS_ALL + 9), ERROR_UTILS_ALL_UNKNOWN_XML_TAG = (SYNCOLOR::FEATURE_UTILS_ALL + 10), ERROR_UTILS_ALL_OCIO_NOT_IMPLEMENTED = (SYNCOLOR::FEATURE_UTILS_ALL + 11),
  ERROR_UTILS_ALL_INVALID_COLOR_SPACE_TYPE = (SYNCOLOR::FEATURE_UTILS_ALL + 12), ERROR_UTILS_ALL_INVALID_COLOR_SPACE_TAG = (SYNCOLOR::FEATURE_UTILS_ALL + 13), ERROR_UTILS_ALL_ATTRIBUTE_NOT_FOUND = (SYNCOLOR::FEATURE_UTILS_ALL + 14), ERROR_UTILS_PREFERENCES_ALIAS_NOT_FOUND = (SYNCOLOR::FEATURE_UTILS_PREFERENCES + 1),
  ERROR_UTILS_PREFERENCES_ALIAS_NAME_EMPTY = (SYNCOLOR::FEATURE_UTILS_PREFERENCES + 2), ERROR_UTILS_PREFERENCES_ALIAS_PATH_EMPTY = (SYNCOLOR::FEATURE_UTILS_PREFERENCES + 3), ERROR_UTILS_PREFERENCES_NO_DEFAULT_ALIAS_PATH = (SYNCOLOR::FEATURE_UTILS_PREFERENCES + 4), ERROR_UTILS_PREFERENCES_SHARED_PATH_EMPTY = (SYNCOLOR::FEATURE_UTILS_PREFERENCES + 5),
  ERROR_UTILS_PREFERENCES_COLLECTION_PATH_EMPTY = (SYNCOLOR::FEATURE_UTILS_PREFERENCES + 6), ERROR_UTILS_PREFERENCES_CONFIG_FILE_PATH_EMPTY = (SYNCOLOR::FEATURE_UTILS_PREFERENCES + 7), ERROR_UTILS_PREFERENCES_OBSERVER_NOT_FOUND = (SYNCOLOR::FEATURE_UTILS_PREFERENCES + 8), ERROR_UTILS_DYNAMIC_PROP_INVALID_ID = (SYNCOLOR::FEATURE_UTILS_DYNAMIC_PROP + 1),
  ERROR_UTILS_DYNAMIC_PROP_INVALID_PROPERTY = (SYNCOLOR::FEATURE_UTILS_DYNAMIC_PROP + 2), ERROR_UTILS_PLATFORM_PROBLEM_GETTING_OS_MNTR_PROF = (SYNCOLOR::FEATURE_UTILS_PLATFORM + 1), ERROR_TRANSFORM_ALL_MISSING_ATTS = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 1), ERROR_TRANSFORM_ALL_ARRAY_CONTENT_ISSUE = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 2),
  ERROR_TRANSFORM_ALL_CONTENT_EMPTY = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 3), ERROR_TRANSFORM_ALL_CONTENT_NUM_VALUES_MISMATCH = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 4), ERROR_TRANSFORM_ALL_TRANSFORM_EMPTY = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 5), ERROR_TRANSFORM_ALL_MISSING_COLOR_COMPONENT = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 6),
  ERROR_TRANSFORM_ALL_ID_EMPTY = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 7), ERROR_TRANSFORM_ALL_PARAM_TOO_LOW = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 8), ERROR_TRANSFORM_ALL_PARAM_TOO_HIGH = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 9), ERROR_TRANSFORM_ALL_PROPERTY_NOT_AVAILABLE = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 10),
  ERROR_TRANSFORM_ALL_PROPERTY_NOT_AVAILABLE_IN_LIST = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 11), ERROR_TRANSFORM_ALL_INVERSE_NOT_IMPLEMENTED = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 12), ERROR_TRANSFORM_ALL_UID_EMPTY = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 13), ERROR_TRANSFORM_ALL_SHOULD_BE_RESOLVED = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 14),
  ERROR_TRANSFORM_ALL_INVALID_INVERSE_ARGUMENT = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 15), ERROR_TRANSFORM_ALL_NULL_TRANSFORMS = (SYNCOLOR::FEATURE_TRANSFORM_ALL + 16), ERROR_TRANSFORM_OPLIST_OUT_OF_RANGE = (SYNCOLOR::FEATURE_TRANSFORM_OPLIST + 1), ERROR_TRANSFORM_OPLIST_NULL_OP = (SYNCOLOR::FEATURE_TRANSFORM_OPLIST + 2),
  ERROR_TRANSFORM_OPLIST_BIT_DEPTH_MISMATCH = (SYNCOLOR::FEATURE_TRANSFORM_OPLIST + 3), ERROR_TRANSFORM_MATRIX_OFFSET_INDEX_OUT_OF_RANGE = (SYNCOLOR::FEATURE_TRANSFORM_MATRIX + 1), ERROR_TRANSFORM_MATRIX_COMPOSE_INVALID_DIMENSION = (SYNCOLOR::FEATURE_TRANSFORM_MATRIX + 2), ERROR_TRANSFORM_MATRIX_NULL_OFFSET_PTR = (SYNCOLOR::FEATURE_TRANSFORM_MATRIX + 3),
  ERROR_TRANSFORM_MATRIX_SINGULAR_MATRIX = (SYNCOLOR::FEATURE_TRANSFORM_MATRIX + 4), ERROR_TRANSFORM_LUT_3D_DIMENSION_NOT_SUPPORTED = (SYNCOLOR::FEATURE_TRANSFORM_LUT_3D + 1), ERROR_TRANSFORM_LUT_1D_HALF_DOMAIN_INVALID_ENTRIES = (SYNCOLOR::FEATURE_TRANSFORM_LUT_1D + 1), ERROR_TRANSFORM_LUT_1D_UNKNOWN_INVSTYLE = (SYNCOLOR::FEATURE_TRANSFORM_LUT_1D + 2),
  ERROR_TRANSFORM_LUT_1D_INVALID_INVSTYLE_ARGUMENT = (SYNCOLOR::FEATURE_TRANSFORM_LUT_1D + 3), ERROR_TRANSFORM_LUT_1D_INVERSE_HALF_DOMAIN_NOT_SUPPORTED = (SYNCOLOR::FEATURE_TRANSFORM_LUT_1D + 4), ERROR_TRANSFORM_REFERENCE_MISSING_ALIAS_AND_PATH = (SYNCOLOR::FEATURE_TRANSFORM_REFERENCE + 1), ERROR_TRANSFORM_REFERENCE_MISSING_OPS = (SYNCOLOR::FEATURE_TRANSFORM_REFERENCE + 2),
  ERROR_TRANSFORM_REFERENCE_NOT_ALIAS = (SYNCOLOR::FEATURE_TRANSFORM_REFERENCE + 3), ERROR_TRANSFORM_RANGE_INCONSISTENT_MIN_BOUNDS = (SYNCOLOR::FEATURE_TRANSFORM_RANGE + 1), ERROR_TRANSFORM_RANGE_INCONSISTENT_MAX_BOUNDS = (SYNCOLOR::FEATURE_TRANSFORM_RANGE + 2), ERROR_TRANSFORM_RANGE_IN_LIMS_TOO_CLOSE = (SYNCOLOR::FEATURE_TRANSFORM_RANGE + 3),
  ERROR_TRANSFORM_RANGE_INPUT_MAX_LESS_THAN_MIN = (SYNCOLOR::FEATURE_TRANSFORM_RANGE + 4), ERROR_TRANSFORM_RANGE_OUTPUT_MAX_LESS_THAN_MIN = (SYNCOLOR::FEATURE_TRANSFORM_RANGE + 5), ERROR_TRANSFORM_RANGE_INDEX_MAP_TOO_BIG = (SYNCOLOR::FEATURE_TRANSFORM_RANGE + 6), ERROR_TRANSFORM_GAMMA_UNKNOWN_STYLE = (SYNCOLOR::FEATURE_TRANSFORM_GAMMA + 1),
  ERROR_TRANSFORM_GAMMA_WRONG_NUM_PARAMS = (SYNCOLOR::FEATURE_TRANSFORM_GAMMA + 2), ERROR_TRANSFORM_GAMMA_MAY_NOT_COMPOSE = (SYNCOLOR::FEATURE_TRANSFORM_GAMMA + 3), ERROR_TRANSFORM_EXPOSURE_CONTRAST_UNKNOWN_STYLE = (SYNCOLOR::FEATURE_TRANSFORM_EXPOSURE_CONTRAST + 1), ERROR_TRANSFORM_LOG_UNKNOWN_STYLE = (SYNCOLOR::FEATURE_TRANSFORM_LOG + 1),
  ERROR_TRANSFORM_LOG_WRONG_NUM_PARAMS = (SYNCOLOR::FEATURE_TRANSFORM_LOG + 2), ERROR_TRANSFORM_LOG_GAMMA_SHOULD_BE_GREATER_THAN_CONSTANT = (SYNCOLOR::FEATURE_TRANSFORM_LOG + 3), ERROR_TRANSFORM_LOG_REFWHITE_SHOULD_BE_GREATER_THAN_REFBLACK = (SYNCOLOR::FEATURE_TRANSFORM_LOG + 4), ERROR_TRANSFORM_LOG_HIGHLIGHT_SHOULD_BE_GREATER_THAN_SHADOW = (SYNCOLOR::FEATURE_TRANSFORM_LOG + 5),
  ERROR_TRANSFORM_CDL_UNKNOWN_STYLE = (SYNCOLOR::FEATURE_TRANSFORM_CDL + 1), ERROR_TRANSFORM_CDL_SHOULD_BE_GREATER_THAN_CONSTANT = (SYNCOLOR::FEATURE_TRANSFORM_CDL + 2), ERROR_TRANSFORM_METADATA_EMPTY_NAME = (SYNCOLOR::FEATURE_TRANSFORM_METADATA + 1), ERROR_TRANSFORM_METADATA_SHOULD_BE_LEAF = (SYNCOLOR::FEATURE_TRANSFORM_METADATA + 2),
  ERROR_TRANSFORM_METADATA_SHOULD_BE_CONTAINER = (SYNCOLOR::FEATURE_TRANSFORM_METADATA + 3), ERROR_TRANSFORM_METADATA_ELEMENT_NOT_FOUND = (SYNCOLOR::FEATURE_TRANSFORM_METADATA + 4), ERROR_TRANSFORM_GAMUT_MAP_UNKNOWN_STYLE = (SYNCOLOR::FEATURE_TRANSFORM_GAMUT_MAP + 1), ERROR_TRANSFORM_HUE_VECTOR_UNKNOWN_STYLE = (SYNCOLOR::FEATURE_TRANSFORM_HUE_VECTOR + 1),
  ERROR_TRANSFORM_HUE_VECTOR_WRONG_NUM_PARAMS = (SYNCOLOR::FEATURE_TRANSFORM_HUE_VECTOR + 2), ERROR_TRANSFORM_FUNCTION_UNKNOWN_STYLE = (SYNCOLOR::FEATURE_TRANSFORM_FUNCTION + 1), ERROR_TRANSFORM_ACES_UNKNOWN_STYLE = (SYNCOLOR::FEATURE_TRANSFORM_ACES + 1), ERROR_TRANSFORM_ACES_WRONG_NUM_PARAMS = (SYNCOLOR::FEATURE_TRANSFORM_ACES + 2),
  ERROR_TRANSFORM_INDEX_MAP_NON_INCREASING = (SYNCOLOR::FEATURE_TRANSFORM_INDEX_MAP + 1), ERROR_XML_ALL_INVALID_TRANSFORM = (SYNCOLOR::FEATURE_XML_ALL + 1), ERROR_XML_ALL_INVALID_TRANSFORM_READ = (SYNCOLOR::FEATURE_XML_ALL + 2), ERROR_XML_ALL_MEMORY_ALLOCATION_ERROR = (SYNCOLOR::FEATURE_XML_ALL + 3),
  ERROR_XML_ALL_INVALID_FIRST_ELEMENT = (SYNCOLOR::FEATURE_XML_ALL + 4), ERROR_XML_ALL_INVALID_TRANSFORM_SUPPLIED_FOR_WRITING = (SYNCOLOR::FEATURE_XML_ALL + 5), ERROR_XML_READER_PARSING_ERROR = (SYNCOLOR::FEATURE_XML_READER + 1), ERROR_XML_READER_PARSING_ELEMENT_MISSING = (SYNCOLOR::FEATURE_XML_READER + 2),
  ERROR_XML_READER_PARSING_UNBALANCED_TAG = (SYNCOLOR::FEATURE_XML_READER + 3), ERROR_XML_READER_PARSING_MISSING_TAG_END = (SYNCOLOR::FEATURE_XML_READER + 4), ERROR_XML_READER_PARSING_ATTRIBUTE_ILLEGAL = (SYNCOLOR::FEATURE_XML_READER + 5), ERROR_XML_READER_MISSING_ATTS = (SYNCOLOR::FEATURE_XML_READER + 6),
  ERROR_XML_READER_EMPTY_ATTS = (SYNCOLOR::FEATURE_XML_READER + 7), ERROR_XML_READER_ILLEGAL_CHARACTERS = (SYNCOLOR::FEATURE_XML_READER + 8), ERROR_XML_READER_UNKNOWN_VALUE = (SYNCOLOR::FEATURE_XML_READER + 9), ERROR_XML_READER_ARRAY_ILLEGAL_DIMENSION = (SYNCOLOR::FEATURE_XML_READER + 10),
  ERROR_XML_READER_ARRAY_MISSING_VALUES = (SYNCOLOR::FEATURE_XML_READER + 11), ERROR_XML_READER_ARRAY_TOO_MANY_VALUES = (SYNCOLOR::FEATURE_XML_READER + 12), ERROR_XML_READER_ARRAY_INCOMPLETE = (SYNCOLOR::FEATURE_XML_READER + 13), ERROR_XML_READER_ARRAY_ILLEGAL_VALUES = (SYNCOLOR::FEATURE_XML_READER + 14),
  ERROR_XML_READER_ILLEGAL_HALF_DOMAIN_VALUE = (SYNCOLOR::FEATURE_XML_READER + 15), ERROR_XML_READER_ILLEGAL_RAW_HALFS_VALUE = (SYNCOLOR::FEATURE_XML_READER + 16), ERROR_XML_READER_ATTRIBUTE_NOT_SUPPORTED = (SYNCOLOR::FEATURE_XML_READER + 17), ERROR_XML_READER_ALIAS_UNEXPECTED_ATTRIBUTE = (SYNCOLOR::FEATURE_XML_READER + 18),
  ERROR_XML_READER_ILLEGAL_CHAN = (SYNCOLOR::FEATURE_XML_READER + 19), ERROR_XML_READER_MISSING_REQD_PARAM = (SYNCOLOR::FEATURE_XML_READER + 20), ERROR_XML_READER_ILLEGAL_PARAM = (SYNCOLOR::FEATURE_XML_READER + 21), ERROR_XML_READER_RANGE_WRONG_NUM_VALUES = (SYNCOLOR::FEATURE_XML_READER + 22),
  ERROR_XML_READER_ATTRIBUTE_DATA_EMPTY = (SYNCOLOR::FEATURE_XML_READER + 23), ERROR_XML_READER_FILE_OPEN_FAILED = (SYNCOLOR::FEATURE_XML_READER + 24), ERROR_XML_READER_INVALID_DYNAMIC_PARAMETER = (SYNCOLOR::FEATURE_XML_READER + 25), ERROR_XML_READER_NO_OPS = (SYNCOLOR::FEATURE_XML_READER + 26),
  ERROR_XML_READER_PROCESS_LIST_INVALID_VERSION = (SYNCOLOR::FEATURE_XML_READER + 27), ERROR_XML_READER_PROCESS_LIST_VERSION_MISMATCH = (SYNCOLOR::FEATURE_XML_READER + 28), ERROR_XML_READER_INFO_ELEMENT_INVALID_VERSION = (SYNCOLOR::FEATURE_XML_READER + 29), ERROR_XML_READER_INFO_ELEMENT_VERSION_UNSUPPORTED = (SYNCOLOR::FEATURE_XML_READER + 30),
  ERROR_XML_READER_OP_VERSION_MISMATCH = (SYNCOLOR::FEATURE_XML_READER + 31), ERROR_XML_READER_SOPNODE_WRONG_NUM_VALUES = (SYNCOLOR::FEATURE_XML_READER + 32), ERROR_XML_READER_SOPNODE_MISSING_SLOPE = (SYNCOLOR::FEATURE_XML_READER + 33), ERROR_XML_READER_SOPNODE_MISSING_OFFSET = (SYNCOLOR::FEATURE_XML_READER + 34),
  ERROR_XML_READER_SOPNODE_MISSING_POWER = (SYNCOLOR::FEATURE_XML_READER + 35), ERROR_XML_READER_SATNODE_WRONG_NUM_VALUES = (SYNCOLOR::FEATURE_XML_READER + 36), ERROR_XML_READER_INVALID_VALUE_FOR_DYNAMIC_PARAMETER = (SYNCOLOR::FEATURE_XML_READER + 37), ERROR_XML_READER_ILLEGAL_BYPASS_VALUE = (SYNCOLOR::FEATURE_XML_READER + 38),
  ERROR_XML_READER_ILLEGAL_HUE_ADJUST_VALUE = (SYNCOLOR::FEATURE_XML_READER + 39), ERROR_XML_READER_INTERNAL_PARSING_ERROR = (SYNCOLOR::FEATURE_XML_READER + 40), ERROR_XML_READER_ILLEGAL_SAT_ADJUST_VALUE = (SYNCOLOR::FEATURE_XML_READER + 41), ERROR_XML_READER_TOO_MANY_INDEX_MAPS = (SYNCOLOR::FEATURE_XML_READER + 42),
  ERROR_XML_IO_READER_UNSUPPORTED_FILE = (SYNCOLOR::FEATURE_XML_IO_READER + 1), ERROR_XML_IO_READER_NOT_A_FILE = (SYNCOLOR::FEATURE_XML_IO_READER + 2), ERROR_XML_IO_READER_NO_FILE = (SYNCOLOR::FEATURE_XML_IO_READER + 3), ERROR_XML_IO_READER_FILESYSTEM_ERROR = (SYNCOLOR::FEATURE_XML_IO_READER + 4),
  ERROR_XML_IO_READER_READ_ERROR = (SYNCOLOR::FEATURE_XML_IO_READER + 5), ERROR_XML_IO_READER_INPUT_BUFFER_FORMAT_NOT_SUPPORTED = (SYNCOLOR::FEATURE_XML_IO_READER + 6), ERROR_XML_OCIO_READER_GENERIC_ERROR = (SYNCOLOR::FEATURE_XML_OCIO_READER + 1), ERROR_XML_OCIO_READER_PARSE_BUFFER = (SYNCOLOR::FEATURE_XML_OCIO_READER + 2),
  ERROR_XML_OCIO_READER_UNSUPPORTED_OPERATION = (SYNCOLOR::FEATURE_XML_OCIO_READER + 3), ERROR_XML_OCIO_READER_LUT1D_ILLEGAL_OP = (SYNCOLOR::FEATURE_XML_OCIO_READER + 4), ERROR_XML_OCIO_READER_LUT1D_UNMATCHING_SIZES = (SYNCOLOR::FEATURE_XML_OCIO_READER + 5), ERROR_XML_OCIO_READER_LUT3D_ILLEGAL_OP = (SYNCOLOR::FEATURE_XML_OCIO_READER + 6),
  ERROR_XML_OCIO_READER_LUT3D_UNMATCHING_SIZES = (SYNCOLOR::FEATURE_XML_OCIO_READER + 7), ERROR_XML_OCIO_READER_MATRIX_ILLEGAL_OP = (SYNCOLOR::FEATURE_XML_OCIO_READER + 8), ERROR_XML_OCIO_READER_EXPONENT_ILLEGAL_OP = (SYNCOLOR::FEATURE_XML_OCIO_READER + 9), ERROR_XML_OCIO_READER_LOG_ILLEGAL_OP = (SYNCOLOR::FEATURE_XML_OCIO_READER + 10),
  ERROR_XML_OCIO_READER_LUT3D_INVERSEOP = (SYNCOLOR::FEATURE_XML_OCIO_READER + 11), ERROR_XML_WRITER_NULL_TRANSFORM = (SYNCOLOR::FEATURE_XML_WRITER + 1), ERROR_XML_WRITER_UNABLE_TO_WRITE_FILE = (SYNCOLOR::FEATURE_XML_WRITER + 2), ERROR_XML_WRITER_UNABLE_TO_WRITE_EXISTING_FILE = (SYNCOLOR::FEATURE_XML_WRITER + 3),
  ERROR_XML_WRITER_INVALID_PATH = (SYNCOLOR::FEATURE_XML_WRITER + 4), ERROR_XML_WRITER_BIT_DEPTH_UNKNOWN = (SYNCOLOR::FEATURE_XML_WRITER + 5), ERROR_XML_WRITER_OUTPUT_FORMAT_NOT_SUPPORTED = (SYNCOLOR::FEATURE_XML_WRITER + 6), ERROR_XML_WRITER_UNSUPPORTED_WRITER_TRANSFORM = (SYNCOLOR::FEATURE_XML_WRITER + 7),
  ERROR_XML_RESOLVER_MISSING_BASE_PATH = (SYNCOLOR::FEATURE_XML_RESOLVER + 1), ERROR_XML_RESOLVER_CYCLE_DETECTED = (SYNCOLOR::FEATURE_XML_RESOLVER + 2), ERROR_XML_RESOLVER_REFERENCE_FAILED_TO_LOAD = (SYNCOLOR::FEATURE_XML_RESOLVER + 3), ERROR_XML_RESOLVER_MISSING_REFERENCE = (SYNCOLOR::FEATURE_XML_RESOLVER + 4),
  ERROR_XML_PREFS_READER_ALIAS_EMPTY = (SYNCOLOR::FEATURE_XML_PREFS_READER + 1), ERROR_XML_PREFS_READER_PATH_EMPTY = (SYNCOLOR::FEATURE_XML_PREFS_READER + 2), ERROR_XML_PREFS_READER_VERSION_EMPTY = (SYNCOLOR::FEATURE_XML_PREFS_READER + 3), ERROR_XML_PREFS_READER_DIR_EMPTY = (SYNCOLOR::FEATURE_XML_PREFS_READER + 4),
  ERROR_XML_PREFS_READER_SYNCOLORCONFIG_ERROR = (SYNCOLOR::FEATURE_XML_PREFS_READER + 5), ERROR_XML_PREFS_READER_SHARED_PATH_SET = (SYNCOLOR::FEATURE_XML_PREFS_READER + 6), ERROR_XML_PREFS_READER_SYNCOLORCONFIG_FIRST = (SYNCOLOR::FEATURE_XML_PREFS_READER + 7), ERROR_XML_PREFS_READER_REF_OUTSIDE_TABLE = (SYNCOLOR::FEATURE_XML_PREFS_READER + 8),
  ERROR_XML_PREFS_READER_SHARED_PATH_OUTSIDE = (SYNCOLOR::FEATURE_XML_PREFS_READER + 9), ERROR_XML_PREFS_READER_REF_TABLE_OUTSIDE = (SYNCOLOR::FEATURE_XML_PREFS_READER + 10), ERROR_XML_PREFS_READER_AUTO_CONFIGURE_OUTSIDE = (SYNCOLOR::FEATURE_XML_PREFS_READER + 11), ERROR_XML_PREFS_READER_EMPTY_PREFERENCES = (SYNCOLOR::FEATURE_XML_PREFS_READER + 12),
  ERROR_XML_PREFS_READER_TRANSFORMS_PATH_OUTSIDE = (SYNCOLOR::FEATURE_XML_PREFS_READER + 13), ERROR_XML_PREFS_READER_TRANSFORMS_PATH_SET = (SYNCOLOR::FEATURE_XML_PREFS_READER + 14), ERROR_XML_PREFS_READER_TRANSFORMS_PATH_DOES_NOT_EXIST = (SYNCOLOR::FEATURE_XML_PREFS_READER + 15), ERROR_XML_ICC_READER_PARSE_BUFFER = (SYNCOLOR::FEATURE_XML_ICC_READER + 1),
  ERROR_XML_ICC_READER_UNSUPPORTED_PCS = (SYNCOLOR::FEATURE_XML_ICC_READER + 2), ERROR_XML_ICC_READER_UNSUPPORTED_COLOR_SPACE = (SYNCOLOR::FEATURE_XML_ICC_READER + 3), ERROR_XML_ICC_READER_UNSUPPORTED_MODEL = (SYNCOLOR::FEATURE_XML_ICC_READER + 4), ERROR_XML_ICC_READER_UNSUPPORTED_MATRIX = (SYNCOLOR::FEATURE_XML_ICC_READER + 5),
  ERROR_XML_ICC_READER_UNSUPPORTED_B_CURVE = (SYNCOLOR::FEATURE_XML_ICC_READER + 6), ERROR_XML_ICC_READER_INTEGRITY_ISSUE = (SYNCOLOR::FEATURE_XML_ICC_READER + 7), ERROR_XML_DISCREET_1D_READER_PARSE_BUFFER = (SYNCOLOR::FEATURE_XML_DISCREET_1D_READER + 1), ERROR_XML_DISCREET_1D_READER_READ_ERROR = (SYNCOLOR::FEATURE_XML_DISCREET_1D_READER + 2),
  ERROR_XML_DISCREET_3D_READER_PARSE_BUFFER = (SYNCOLOR::FEATURE_XML_DISCREET_3D_READER + 1), ERROR_XML_DISCREET_3D_READER_READ_ERROR = (SYNCOLOR::FEATURE_XML_DISCREET_3D_READER + 2), ERROR_XML_DISCREET_3D_READER_BIT_DEPTH_ERROR = (SYNCOLOR::FEATURE_XML_DISCREET_3D_READER + 3), ERROR_XML_DISCREET_3D_READER_UNSUPPORTED_DIMENSION_ERROR = (SYNCOLOR::FEATURE_XML_DISCREET_3D_READER + 4),
  ERROR_XML_CATALOG_MANAGER_DIRECTORY_NOT_FOUND = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 1), ERROR_XML_CATALOG_MANAGER_ILLEGAL_CATALOG_FILENAME = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 2), ERROR_XML_CATALOG_MANAGER_LOAD_ERROR = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 3), ERROR_XML_CATALOG_MANAGER_WORKING_SPACE_TRANSFORM_NOT_FOUND = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 4),
  ERROR_XML_CATALOG_MANAGER_TAG_ONLY_OR_WORKING_SPACE_TRANSFORM_NOT_FOUND = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 5), ERROR_XML_CATALOG_MANAGER_VIEW_TRANSFORM_NOT_FOUND = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 6), ERROR_XML_CATALOG_MANAGER_PURE_VIEW_TRANSFORM_NOT_FOUND = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 7), ERROR_XML_CATALOG_MANAGER_DISPLAY_SPACE_TRANSFORM_NOT_FOUND = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 8),
  ERROR_XML_CATALOG_MANAGER_INPUT_SPACE_TRANSFORM_NOT_FOUND = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 9), ERROR_XML_CATALOG_MANAGER_WORKING_SPACE_MISSING_OUTPUT_SPACE_ID = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 10), ERROR_XML_CATALOG_MANAGER_TRANSFORM_TO_CONNECTION_SPACE_NOT_FOUND = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 13), ERROR_XML_CATALOG_MANAGER_TRANSFORM_FROM_CONNECTION_SPACE_NOT_FOUND = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 14),
  ERROR_XML_CATALOG_MANAGER_UNABLE_TO_CONNECT = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 15), ERROR_XML_CATALOG_MANAGER_ILLEGAL_IMAGE_STATE = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 16), ERROR_XML_CATALOG_MANAGER_TRANSFORMS_NOT_INSTALLED = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 17), ERROR_XML_CATALOG_MANAGER_SHARED_CATALOG_ERROR = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 18),
  ERROR_XML_CATALOG_MANAGER_PACKAGE_NOT_INSTALLED = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 19), ERROR_XML_CATALOG_MANAGER_INPUT_SPACE_MISSING_OUTPUT_SPACE_ID = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 20), ERROR_XML_CATALOG_MANAGER_ILLEGAL_ID = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 21), ERROR_XML_CATALOG_MANAGER_ILLEGAL_PRODUCT = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 22),
  ERROR_XML_CATALOG_MANAGER_MIXING_TEMPLATE_PARAMETERS_NOT_SUPPORTED = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 23), ERROR_XML_CATALOG_MANAGER_NATIVE_CATALOG_MISSING = (SYNCOLOR::FEATURE_XML_CATALOG_MANAGER + 24), ERROR_XML_PREFERENCES_INSTALLATION_CORRUPTED = (SYNCOLOR::FEATURE_XML_PREFERENCES + 1), ERROR_TEMPLATE_ALL_MISSING_BASE_PATH = (SYNCOLOR::FEATURE_TEMPLATE_ALL + 1),
  ERROR_TEMPLATE_ALL_ILLEGAL_PARAMETER_SELECTION = (SYNCOLOR::FEATURE_TEMPLATE_ALL + 2), ERROR_TEMPLATE_ALL_ILLEGAL_PARAMETER_SELECTION_VALUE = (SYNCOLOR::FEATURE_TEMPLATE_ALL + 3), ERROR_TEMPLATE_ALL_ILLEGAL_PRODUCT_NAME = (SYNCOLOR::FEATURE_TEMPLATE_ALL + 4), ERROR_TEMPLATE_ALL_PARAMETER_NOT_FOUND = (SYNCOLOR::FEATURE_TEMPLATE_ALL + 5),
  ERROR_TEMPLATE_ALL_ILLEGAL_PARAMETER_VALUE = (SYNCOLOR::FEATURE_TEMPLATE_ALL + 6), ERROR_TEMPLATE_OCIO_GENERIC_CONFIG_ERROR = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 1), ERROR_TEMPLATE_OCIO_NOT_A_FILE = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 2), ERROR_TEMPLATE_OCIO_NO_FILE = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 3),
  ERROR_TEMPLATE_OCIO_CONFIG_PROBLEM_NO_COLOR_SPACES = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 4), ERROR_TEMPLATE_OCIO_CONFIG_PROBLEM_NO_VIEW_TRANSFORMS = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 5), ERROR_TEMPLATE_OCIO_NOT_A_VALID_DISPLAY_NAME = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 6), ERROR_TEMPLATE_OCIO_NOT_A_VALID_VIEW_NAME = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 7),
  ERROR_TEMPLATE_OCIO_NOT_A_VALID_COLOR_SPACE_NAME = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 8), ERROR_TEMPLATE_OCIO_INVALID_COMBINATION = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 9), ERROR_TEMPLATE_OCIO_INVALID_OCIO_VIEW = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 10), ERROR_TEMPLATE_OCIO_NO_COLOR_PICKER_ROLE = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 11),
  ERROR_TEMPLATE_OCIO_INVALID_COLOR_PICKER_ROLE = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 12), ERROR_TEMPLATE_OCIO_INVALID_RENDERING_SPACE = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 13), ERROR_TEMPLATE_OCIO_INVALID_COMBINATION_WITH_LOOK = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 14), ERROR_TEMPLATE_OCIO_INVALID_VIEW_TRANSFORM_NAME = (SYNCOLOR::FEATURE_TEMPLATE_OCIO + 15),
  ERROR_TEMPLATE_CATALOG_WORKING_SPACE_MISSING_OUTPUT_SPACE_ID = (SYNCOLOR::FEATURE_TEMPLATE_CATALOG + 1), ERROR_RENDERER_ALL_NULL_IMAGE = (SYNCOLOR::FEATURE_RENDERER_ALL + 1), ERROR_RENDERER_ALL_NULL_TRANSFORM = (SYNCOLOR::FEATURE_RENDERER_ALL + 2), ERROR_RENDERER_ALL_EMPTY_TRANSFORM = (SYNCOLOR::FEATURE_RENDERER_ALL + 3),
  ERROR_RENDERER_ALL_RENDERER_INVALID = (SYNCOLOR::FEATURE_RENDERER_ALL + 4), ERROR_RENDERER_ALL_UNRESOLVED_TRANSFORM = (SYNCOLOR::FEATURE_RENDERER_ALL + 5), ERROR_RENDERER_ALL_OPT_NULL_ACTION = (SYNCOLOR::FEATURE_RENDERER_ALL + 6), ERROR_RENDERER_ALL_OPTIMIZATION_FAILED = (SYNCOLOR::FEATURE_RENDERER_ALL + 7),
  ERROR_RENDERER_ALL_UNFINALIZED_TRANSFORM = (SYNCOLOR::FEATURE_RENDERER_ALL + 8), ERROR_RENDERER_ALL_ROW_OUT_OF_BOUNDS = (SYNCOLOR::FEATURE_RENDERER_ALL + 9), ERROR_RENDERER_ALL_INVALID_RENDERER_IDX = (SYNCOLOR::FEATURE_RENDERER_ALL + 10), ERROR_RENDERER_ALL_UNSUPPORTED_HUE_ADJUST = (SYNCOLOR::FEATURE_RENDERER_ALL + 11),
  ERROR_RENDERER_ALL_DIFFERENT_BYPASS_STATES = (SYNCOLOR::FEATURE_RENDERER_ALL + 12), ERROR_RENDERER_ALL_NON_SEPARABLE_OP = (SYNCOLOR::FEATURE_RENDERER_ALL + 13), ERROR_RENDERER_CPU_OP_ILLEGAL_ATTRIBUTE = (SYNCOLOR::FEATURE_RENDERER_CPU + 1), ERROR_RENDERER_CPU_BIT_DEPTH_MISSING = (SYNCOLOR::FEATURE_RENDERER_CPU + 2),
  ERROR_RENDERER_CPU_NULL_OP = (SYNCOLOR::FEATURE_RENDERER_CPU + 3), ERROR_RENDERER_CPU_ILLEGAL_LOG_STYLE = (SYNCOLOR::FEATURE_RENDERER_CPU + 4), ERROR_RENDERER_GPU_MATRIX_SHADER_COMPILATION_FAILED = (SYNCOLOR::FEATURE_RENDERER_GPU + 1), ERROR_RENDERER_GPU_NULL_STRING = (SYNCOLOR::FEATURE_RENDERER_GPU + 2),
  ERROR_RENDERER_GPU_ADAPTOR_UNDEFINED_LANGUAGE = (SYNCOLOR::FEATURE_RENDERER_GPU + 3), ERROR_RENDERER_GPU_ADAPTOR_ERROR = (SYNCOLOR::FEATURE_RENDERER_GPU + 4), ERROR_RENDERER_GPU_UNSUPPORTED_BAYER_MATRIX_SIZE = (SYNCOLOR::FEATURE_RENDERER_GPU + 5), ERROR_RENDERER_OCIO_UNSUPPORTED_OP = (SYNCOLOR::FEATURE_RENDERER_OCIO + 1),
  ERROR_RENDERER_OCIO_UNSUPPORTED_INPUT_HALF_DOMAIN = (SYNCOLOR::FEATURE_RENDERER_OCIO + 2), ERROR_RENDERER_OCIO_UNSUPPORTED_OUTPUT_RAW_HALFS = (SYNCOLOR::FEATURE_RENDERER_OCIO + 3), ERROR_SYN_COLOR_TRANSFORM_MISSING_CPU_RENDERER = (SYNCOLOR::FEATURE_SYN_COLOR_TRANSFORM + 1), ERROR_SYN_COLOR_TRANSFORM_MISSING_GPU_RENDERER = (SYNCOLOR::FEATURE_SYN_COLOR_TRANSFORM + 2),
  ERROR_SYN_COLOR_TRANSFORM_NULL_TRANSFORM = (SYNCOLOR::FEATURE_SYN_COLOR_TRANSFORM + 3), ERROR_SYN_COLOR_TRANSFORM_NULL_GPUADAPTOR = (SYNCOLOR::FEATURE_SYN_COLOR_TRANSFORM + 4), ERROR_SYN_COLOR_PATH_NOT_FOUND = (SYNCOLOR::FEATURE_SYN_COLOR_PATH + 1), ERROR_SYN_COLOR_PATH_NOT_DIRECTORY = (SYNCOLOR::FEATURE_SYN_COLOR_PATH + 2),
  ERROR_SYN_COLOR_PATH_READ_ERROR = (SYNCOLOR::FEATURE_SYN_COLOR_PATH + 3), ERROR_SYN_COLOR_PATH_INVALID_PARAMETER = (SYNCOLOR::FEATURE_SYN_COLOR_PATH + 4), ERROR_SYN_COLOR_PREFS_NULL_PARAMETER = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 1), ERROR_SYN_COLOR_PREFS_EMPTY_ALIAS = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 2),
  ERROR_SYN_COLOR_PREFS_ALIAS_NOT_FOUND = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 3), ERROR_SYN_COLOR_PREFS_UNRESOLVED_REFERENCES = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 4), ERROR_SYN_COLOR_PREFS_ALREADY_LOADED = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 5), ERROR_SYN_COLOR_PREFS_INVALID_PATH = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 6),
  ERROR_SYN_COLOR_PREFS_PREFS_FILE_DOES_NOT_EXIST = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 7), ERROR_SYN_COLOR_PREFS_TRANSFORMS_PATH_DOES_NOT_EXIST = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 8), ERROR_SYN_COLOR_PREFS_FOUND_TRANSFORMS_PATH_DOES_NOT_EXIST = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 9), ERROR_SYN_COLOR_PREFS_UNSUPPORTED_OS_MONITOR_PROFILE = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 10),
  ERROR_SYN_COLOR_PREFS_ERROR_CREATING_USER_DISPLAY_TRANFORM_FOR_OS_MONITOR_PROFILE = (SYNCOLOR::FEATURE_SYN_COLOR_PREFS + 11), ERROR_SYN_COLOR_CACHE_MISS = (SYNCOLOR::FEATURE_SYN_COLOR_CACHE + 1), ERROR_SYN_COLOR_CACHE_INVALID_DATA = (SYNCOLOR::FEATURE_SYN_COLOR_CACHE + 2), ERROR_SYN_COLOR_CACHE_TRANSFORM_EXISTS = (SYNCOLOR::FEATURE_SYN_COLOR_CACHE + 3),
  ERROR_SYN_COLOR_CACHE_INVALID_TRANSFORMID = (SYNCOLOR::FEATURE_SYN_COLOR_CACHE + 4), ERROR_SYN_COLOR_CACHE_INVALID_ADAPTORID = (SYNCOLOR::FEATURE_SYN_COLOR_CACHE + 4), ERROR_SYN_COLOR_CATALOG_PATH_DOES_NOT_EXIST = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 1), ERROR_SYN_COLOR_CATALOG_NAME_ALREADY_EXISTS = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 2),
  ERROR_SYN_COLOR_CATALOG_ADD_FAILED = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 3), ERROR_SYN_COLOR_CATALOG_REMOVE_FAILED = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 4), ERROR_SYN_COLOR_CATALOG_UNKNOWN_CONNECTION_SPACE = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 5), ERROR_SYN_COLOR_CATALOG_NAME_IS_NULL = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 6),
  ERROR_SYN_COLOR_CATALOG_PATH_IS_NULL = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 7), ERROR_SYN_COLOR_CATALOG_INVALID_SHARED_PATH = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 8), ERROR_SYN_COLOR_CATALOG_CONNECTION_SPACE_REQUIRED = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 9), ERROR_SYN_COLOR_CATALOG_DISPLAY_TYPE_REQUIRED = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 10),
  ERROR_SYN_COLOR_CATALOG_SERIALIZE_FAILED = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 11), ERROR_SYN_COLOR_CATALOG_INVALID_SERIALIZED_COLOR_SPACE_PARAMETER = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 12), ERROR_SYN_COLOR_CATALOG_UNKNOWN_USER_COLOR_SPACE_TYPE = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 13), ERROR_SYN_COLOR_CATALOG_USER_COLOR_SPACE_DIFFERS = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 14),
  ERROR_SYN_COLOR_CATALOG_NULL_TRANSFORM = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 15), ERROR_SYN_COLOR_CATALOG_USER_FACING_NAME_IS_NULL = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 16), ERROR_SYN_COLOR_CATALOG_CONNECTION_SPACE_IS_INVALID = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 17), ERROR_SYN_COLOR_CATALOG_DISPLAY_TYPE_IS_INVALID = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 18),
  ERROR_SYN_COLOR_CATALOG_PURE_VIEW_INPUT_SPACE_IS_INVALID = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 19), ERROR_SYN_COLOR_CATALOG_PURE_VIEW_OUTPUT_SPACE_IS_INVALID = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 20), ERROR_SYN_COLOR_CATALOG_UNKNOWN_USER_COLOR_SPACE = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 21), ERROR_SYN_COLOR_CATALOG_INVALID_COLOR_SPACE_TRANSFORM = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 22),
  ERROR_SYN_COLOR_CATALOG_INVALID_FRIENDLY_IMAGE_STATE = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 23), ERROR_SYN_COLOR_CATALOG_IMAGE_STATE_REQUIRED = (SYNCOLOR::FEATURE_SYN_COLOR_CATALOG + 24), ERROR_SYN_COLOR_RULES_INVALID_REGULAR_EXPRESSION = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 1), ERROR_SYN_COLOR_RULES_INVALID_POSITION = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 2),
  ERROR_SYN_COLOR_RULES_RULE_NAME_INVALID = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 3), ERROR_SYN_COLOR_RULES_INVALID_RULE = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 4), ERROR_SYN_COLOR_RULES_RULE_EXISTS = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 5), ERROR_SYN_COLOR_RULES_RULE_NOT_FOUND = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 6),
  ERROR_SYN_COLOR_RULES_RULE_COLOR_SPACE_INVALID = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 7), ERROR_SYN_COLOR_RULES_RULE_READ_ONLY = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 8), ERROR_SYN_COLOR_RULES_RESERVED_POSITION = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 9), ERROR_SYN_COLOR_RULES_READ_ONLY = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 10),
  ERROR_SYN_COLOR_RULES_OCIO_NOT_A_FILE = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 11), ERROR_SYN_COLOR_RULES_OCIO_GENERIC_ERROR = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 12), ERROR_SYN_COLOR_RULES_CANNOT_OPEN_FILE = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 13), ERROR_SYN_COLOR_RULES_FILE_PARSING_ERROR = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 14),
  ERROR_SYN_COLOR_RULES_NOT_A_FILE = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 15), ERROR_SYN_COLOR_RULES_EMPTY_STRING = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 16), ERROR_SYN_COLOR_RULES_CONTENT_TRUNCATED = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 17), ERROR_SYN_COLOR_RULES_NULL_FILE_EXTENSION = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 18),
  ERROR_SYN_COLOR_RULES_NULL_FILE_PATH_PATTERN = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 19), ERROR_SYN_COLOR_RULES_INVALID_CONTEXT = (SYNCOLOR::FEATURE_SYN_COLOR_RULES + 20), ERROR_SYN_COLOR_POLICIES_DIR_CREATE = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 1), ERROR_SYN_COLOR_POLICIES_DIR_OPEN = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 2),
  ERROR_SYN_COLOR_POLICIES_DIR_READ = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 3), ERROR_SYN_COLOR_POLICIES_FILE_WRITE = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 4), ERROR_SYN_COLOR_POLICIES_SET_PERM = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 5), ERROR_SYN_COLOR_POLICIES_COPY = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 6),
  ERROR_SYN_COLOR_POLICIES_ASSERTION = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 7), ERROR_SYN_COLOR_POLICIES_DIR_EXISTS = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 8), ERROR_SYN_COLOR_POLICIES_TEMP_NAME = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 9), ERROR_SYN_COLOR_POLICIES_STAT = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 10),
  ERROR_SYN_COLOR_POLICIES_LINK = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 11), ERROR_SYN_COLOR_POLICIES_RENAME = (SYNCOLOR::FEATURE_SYN_COLOR_POLICIES + 12), ERROR_SYN_COLOR_COLORSPACE_NONEXISTENT_COLOR_SPACE = (SYNCOLOR::FEATURE_SYN_COLOR_COLORSPACE + 1), ERROR_SYN_COLOR_COLORSPACE_MISSING_CHROMATICITY_COORDINATE = (SYNCOLOR::FEATURE_SYN_COLOR_COLORSPACE + 2),
  ERROR_SYN_COLOR_COLORSPACE_INVALID_COLOR_SPACE_TYPE = (SYNCOLOR::FEATURE_SYN_COLOR_COLORSPACE + 3)
}
 List of SynColor SDK error codes. More...
 
enum  HalfFlags { LUT_STANDARD = 0x00, LUT_INPUT_HALF_CODE = 0x01, LUT_OUTPUT_HALF_CODE = 0x02, LUT_INPUT_OUTPUT_HALF_CODE }
 List of flags that describe 1-D LUT index and value encoding. More...
 
enum  IOFormat {
  IO_FORMAT_CTF = 0, IO_FORMAT_CLF, IO_FORMAT_CDL, IO_FORMAT_CCC,
  IO_FORMAT_CC, IO_FORMAT_LUT, IO_FORMAT_VLT, IO_FORMAT_ICC
}
 List of IO formats. More...
 
enum  Language { LANG_EN, LANG_JP, LANG_SC, LANG_LAST = LANG_SC }
 List of languages available for SynColor error messages. More...
 
enum  LogLevel { LEVEL_USER, LEVEL_DEBUG }
 List of message logging levels. More...
 
enum  OptimizerFlags {
  OPTIMIZER_NONE = 1000, OPTIMIZER_LOSSLESS = 90, OPTIMIZER_VERY_GOOD = 70, OPTIMIZER_GOOD = 40,
  OPTIMIZER_DRAFT = 10, OPTIMIZER_NOT_ADD_TO_CACHE = 0x40000000, OPTIMIZER_KEEP_DYNAMIC_OPS_FLAG = 0x80000000
}
 List of transform optimization levels. More...
 
enum  PixelFormat {
  PF_UNKNOWN = 0x0, PF_RGB_8i = 0x01017, PF_RGB_10i = 0x02017, PF_RGB_10iP = 0x02117,
  PF_RGB_12i = 0x04017, PF_RGB_16i = 0x08017, PF_RGB_16f = 0x10017, PF_RGB_32f = 0x20017,
  PF_RGBA_8i = 0x0101F, PF_RGBA_10i = 0x0201F, PF_RGBA_10iP = 0x0211F, PF_RGBA_12i = 0x0401F,
  PF_RGBA_16i = 0x0801F, PF_RGBA_16f = 0x1001F, PF_RGBA_32f = 0x2001F, PF_BGR_8i = 0x01027,
  PF_BGRA_8i = 0x0102F, PF_BGRA_16i = 0x0802F, PF_ABGR_8i = 0x0104F
}
 List of pixel formats. More...
 
enum  ResolveFlags { RESOLVE_GRAPHICS_MONITOR = 0, RESOLVE_BROADCAST_MONITOR }
 These flags control the way "Current Monitor" reference tag is resolved. More...
 
enum  StockTemplate { STOCK_TEMPLATE_RAW }
 List of available stock templates. More...
 
enum  StockTransform { STOCK_TRANSFORM_RAW, STOCK_TRANSFORM_IDENTITY }
 List of available stock transforms. More...
 
enum  RendererFlags { RENDERER_NONE = 0x00, RENDERER_CPU = 0x01, RENDERER_GPU = 0x02, RENDERER_ALL = RENDERER_CPU | RENDERER_GPU }
 Renderer type flag list. More...
 
enum  TemplateClass { Maya = 0, Flame }
 List of template classes. More...
 
enum  TemplateParameterId {
  InputSpace = 0, WorkingSpace, TagOnlyOrWorkingSpace, ViewTransform,
  PureViewTransform, DisplaySpace, MixingSpace, MixingEncoding
}
 
enum  TemplateType { InputTemplate = 0, ViewingTemplate, ViewingDisplayTemplate, MixingTemplate }
 List of template types. More...
 
enum  TransformDirection { TransformForward = 0, TransformReverse }
 List of transform directions. More...
 
enum  Lut3DOpInterpolationAlgo { LUT3D_ALGO_DEFAULT = 0, LUT3D_ALGO_TRILINEAR, LUT3D_ALGO_TETRAHEDRAL, LUT3D_ALGO_4PT_TETRAHEDRAL }
 
enum  CDLStyle { CDL_V1_2_FWD = 0, CDL_V1_2_REV, CDL_NO_CLAMP_FWD, CDL_NO_CLAMP_REV }
 Enumeration of the CDL styles. More...
 

Functions

SYN_EXPORT BasePath getBasePath (const char *name)
 Convert the base path string to its corresponding enum value. More...
 
SYN_EXPORT const char * getBasePathName (BasePath basePath)
 Convert the BasePath value to a string. More...
 
SYN_EXPORT BitDepth getBitDepth (const char *name)
 Convert the bit depth string to its corresponding enum value. More...
 
SYN_EXPORT const char * getBitDepthName (BitDepth bitDepth)
 Convert the BitDepth value to a string. More...
 
SYN_EXPORT float getBitDepthMaxValue (BitDepth bitDepth)
 Get the maximum code value of a bit depth. More...
 
SYN_EXPORT float getBitDepthMinValue (BitDepth bitDepth)
 Get the minimum code value of a bit depth. More...
 
SYN_EXPORT float getBitDepthValueRange (BitDepth bitDepth)
 Get the value range of a bit depth. More...
 
SYN_EXPORT bool isFloatDepth (BitDepth bitDepth)
 True for a floating point bit depth. More...
 
SYN_EXPORT bool isIntegerDepth (BitDepth bitDepth)
 True for an integer bit depth. More...
 
SYN_EXPORT unsigned getBitDepthPrecision (const BitDepth bitDepth)
 Number of bits available for encoding a color value. More...
 
const char * getColorSpaceTagString (const ColorSpaceTag tag)
 Returns the corresponding color space tag string. More...
 
SYN_EXPORT SynStatus getColorSpacesByTags (ColorSpaceCategory category, ColorSpaceTagFlags colorSpaceTags, ColorSpacesAttributesPtr &attributes)
 Utilities functions to get information about color spaces. More...
 
SYN_EXPORT SynStatus getDisplayColorSpaceTypes (ColorSpaceCategory category, StringListPtr &names)
 Get information on the display color space types. More...
 
SYN_EXPORT SynStatus getDisplayColorSpaceAutoPopulateValues (const char *path, StringListPtr &values)
 Get the display color space auto populate values. More...
 
SYN_EXPORT SynStatus getViewingTransformAutoPopulateValues (const char *path, StringListPtr &values)
 Get the viewing transform auto populate values. More...
 
SYN_EXPORT SynStatus getViewingRulesAllowedDisplays (ColorSpaceCategory category, StringIntListPtr &namesAndContexts)
 Get information on the allowed displays for the viewing rules. More...
 
SYN_EXPORT SynStatus resolveDisplayColorSpaceType (ColorSpaceCategory category, const char *type, StringListPtr &resolvedTypes)
 Resolve the display color space type. More...
 
SYN_EXPORT SynStatus getInputColorSpaceTypes (ColorSpaceCategory category, StringListPtr &names)
 Get information on the input color space types. More...
 
SYN_EXPORT SynStatus resolveInputColorSpaceType (ColorSpaceCategory category, const char *type, StringListPtr &resolvedTypes)
 Resolve the input color space type. More...
 
SYN_EXPORT void getImageStateFriendlyNames (StringListPtr &states)
 Get the list of possible ImageState user-facing names (friendly names). More...
 
SYN_EXPORT SynStatus getInputColorSpaceAutoPopulateImageStates (const char *path, StringListPtr &values)
 Get the input color space auto populate image states. More...
 
SYN_EXPORT const char * getImageStateTokenFromFriendlyName (const char *imageState)
 Translate the friendly image state name to the token image state name. More...
 
SYN_EXPORT SynStatus getViewingRulesAllowedColorSpaces (ColorSpaceCategory category, const char *viewTransform, StringIntListPtr &namesAndContexts)
 Get information on the allowed color spaces for a specified viewing. More...
 
SYN_EXPORT SynStatus getMixingSlider (const TemplatePtr &pMixingTemplate, const TemplatePtr &pViewTemplate, float sliderMixingMinEdge, float sliderMixingMaxEdge, MixingSliderUnitsPtr &pMixingSlider)
 Get mixing slider from a specific mixing template. More...
 
SYN_EXPORT PixelFormat strToPF (const char *pfStr)
 Convert a string to a pixel format value. More...
 
SYN_EXPORT const char * pfToStr (PixelFormat pf)
 Convert a pixel format to its corresponding string. More...
 
SYN_EXPORT unsigned getImageSizeInByte (const ROI &roi, PixelFormat pf)
 Get the size in bytes of a region of interest (ROI) given the PixelFormat. More...
 
SYN_EXPORT unsigned getPixelSizeInByte (PixelFormat pf)
 Get the pixel size of the PixelFormat. More...
 
SYN_EXPORT unsigned getNumChannels (PixelFormat pf)
 Get the number of channels of the PixelFormat. More...
 
SYN_EXPORT SynStatus setLoggerFunction (SYNCOLOR::LogFunc logFunc)
 Message logging callback registration. More...
 
SYN_EXPORT SynStatus finalize (const TransformPtr &inTransform, PixelFormat srcPF, PixelFormat dstPF, OptimizerFlags optimizerFlags, ResolveFlags resolveFlag, TransformPtr &finalizedTransform)
 Finalize the color transform for processing in CPU rendering only. More...
 
SYN_EXPORT SynStatus finalize (const TransformPtr &inTransform, PixelFormat srcPF, PixelFormat dstPF, RendererFlags rendererFlags, OptimizerFlags optimizerFlags, ResolveFlags resolveFlag, SYNCOLOR::GPUAdaptorPtr &pAdaptor, TransformPtr &finalizedTransform)
 Finalize the color transform for processing including a GPU adaptor. More...
 
SYN_EXPORT SynStatus loadColorTransform (const char *filePath, TransformPtr &pTransform)
 Read a single color transform from any of the file formats supported by SynColor. More...
 
SYN_EXPORT SynStatus loadColorTransformList (const char *filePath, TransformListPtr &pTransformList)
 Read a list of color transforms from any of the file formats supported by SynColor, particularly those that may return more than a single transform (for example, a .ccc file that may contain more than one ASC CDL transform). When loading a format that only supports single transforms, a list with one entry is returned. More...
 
SYN_EXPORT SynStatus loadColorTransformFromBuffer (const char *xmlBuffer, TransformPtr &pTransform, IOFormat format=IO_FORMAT_CTF)
 Read a color transform from a memory buffer. More...
 
SYN_EXPORT SynStatus saveColorTransform (const char *fileName, bool saveResolvedTransform, const TransformPtr &pTransform, IOFormat format=IO_FORMAT_CTF)
 Writes a color transform XML to file. More...
 
SYN_EXPORT SynStatus saveColorTransformToBuffer (TransformWriterCallback &writerCallback, const TransformPtr &pTransform, IOFormat format=IO_FORMAT_CTF)
 Writes a color transform XML to a memory buffer. More...
 
SYN_EXPORT bool isFileSupported (const char *fileName)
 Check if a file can be loaded as a color transform. More...
 
SYN_EXPORT SynStatus getSupportedFileExtensions (SupportedExtensionsCallBack &extensionsCallback)
 Obtain the list of supported file extensions. More...
 
SYN_EXPORT SynStatus getSupportedOutputFormats (const TransformPtr &pTransform, SupportedOutputFormatsCallBack &exportFormatsCallback)
 Obtain the list of supported output formats for a specified transform. Only formats that may losslessly represent the provided transform will be returned. More...
 
SYN_EXPORT SynStatus CreateCDLTransform (BitDepth inBitDepth, BitDepth outBitDepth, const char *ccId, const double slope[], const double offset[], const double power[], const double saturation, CDLStyle style, TransformPtr &pTransform)
 Create a color transform from CDL SOP and Sat values. More...
 
SYN_EXPORT SynStatus Create1DLutTransformFromShort (BitDepth inBitDepth, BitDepth outBitDepth, unsigned lutSize, const unsigned short rLut[], const unsigned short gLut[], const unsigned short bLut[], HalfFlags halfFlags, TransformPtr &pTransform)
 Create a color transform containing a single 3x 1D LUT operator from short values. More...
 
SYN_EXPORT SynStatus InvertHalfDomain1DLutFromShort (const unsigned short rLut[], const unsigned short gLut[], const unsigned short bLut[], unsigned short rInvLut[], unsigned short gInvLut[], unsigned short bInvLut[])
 Invert a half-domain 1D Lut. More...
 
SYN_EXPORT SynStatus Create1DLutTransformFromInt (BitDepth inBitDepth, BitDepth outBitDepth, unsigned lutSize, const unsigned int rLut[], const unsigned int gLut[], const unsigned int bLut[], HalfFlags halfFlags, TransformPtr &pTransform)
 Create a color transform containing a single 3x 1D LUT operator from integer values. More...
 
SYN_EXPORT SynStatus Create1DLutTransformFromFloat (BitDepth inBitDepth, BitDepth outBitDepth, unsigned lutSize, const float rLut[], const float gLut[], const float bLut[], HalfFlags halfFlags, TransformPtr &pTransform)
 Create a color transform containing a single 3x 1D LUT operator from float values. More...
 
SYN_EXPORT SynStatus Create3DLutTransformFromShort (BitDepth inBitDepth, BitDepth outBitDepth, unsigned dim, const unsigned short *data, TransformPtr &pTransform)
 Create a color transform containing a single 3D LUT operator from short values. More...
 
SYN_EXPORT SynStatus Create3DLutTransformFromInt (BitDepth inBitDepth, BitDepth outBitDepth, unsigned dim, const unsigned int *data, TransformPtr &pTransform)
 Create a color transform containing a single 3D LUT operator from integer values. More...
 
SYN_EXPORT SynStatus Create3DLutTransformFromFloat (BitDepth inBitDepth, BitDepth outBitDepth, unsigned dim, const float *data, TransformPtr &pTransform)
 Create a color transform containing a single 3D LUT operator from float values. More...
 
SYN_EXPORT SynStatus CreateMatrixTransform (BitDepth inBitDepth, BitDepth outBitDepth, const float *mtxCoeffs, const float *offsetCoeffs, bool isRGBA, TransformPtr &pTransform)
 Create a color transform containing a single matrix operator. More...
 
SYN_EXPORT SynStatus CreateDitherTransform (BitDepth inBitDepth, BitDepth outBitDepth, BitDepth ditherBitDepth, TransformPtr &pTransform)
 Create a color transform containing a single dither operator. More...
 
SYN_EXPORT SynStatus CreateReferenceTransformFromAlias (BitDepth inBitDepth, BitDepth outBitDepth, const char *alias, TransformPtr &pTransform)
 Create a color transform containing a single alias reference operator. More...
 
SYN_EXPORT SynStatus CreateReferenceTransformFromPath (BitDepth inBitDepth, BitDepth outBitDepth, const char *path, BasePath basePath, TransformPtr &pTransform)
 Create a color transform containing a single file path reference operator. More...
 
SYN_EXPORT SynStatus concatenateTransforms (const TransformPtr &pTransform1, const TransformPtr &pTransform2, TransformPtr &pTransform)
 Concatenate two color transforms. More...
 
SYN_EXPORT SynStatus createStockTransform (StockTransform type, TransformPtr &pTransform)
 Create one of the available stock transforms. More...
 
SYN_EXPORT SynStatus loadNativeTemplate (TemplateType type, TemplatePtr &pTemplate)
 Create a native color transform template of the specified type. More...
 
SYN_EXPORT SynStatus loadStockTemplate (StockTemplate type, TemplatePtr &pTemplate)
 Create a stock transform template of the specified type. More...
 
SYN_EXPORT SynStatus loadOCIOTemplate (TemplateType type, const char *filename, TemplatePtr &pTemplate)
 Create a transform template from an OpenColorIO configuration file. More...
 
SYN_EXPORT SynStatus setUp (SYNCOLOR::TemplateClass product, SYNCOLOR::Language lang)
 Perform the SynColor initialization. More...
 
SYN_EXPORT SynStatus tearDown ()
 Perform the SynColor de-initialization. More...
 
SYN_EXPORT SYNCOLOR::TemplateClass getTemplateClassName ()
 Get the supported product. More...
 
SYN_EXPORT SYNCOLOR::Language getErrorMessageLanguage ()
 Return the currently used language for creating SynColor status messages. More...
 
SYN_EXPORT const char * getVersionString ()
 Obtain the SynColor version string. More...
 
SYN_EXPORT SynStatus refresh ()
 Refresh the SynColor instance. More...
 
SYN_EXPORT const char * getSystemColorTransformPath ()
 Transform collection location. More...
 
SYN_EXPORT const char * getConfigFilePath ()
 SynColor configuration file directory location. More...
 
SYN_EXPORT const char * getConfigFileNamePath ()
 SynColor configuration file location. More...
 
SYN_EXPORT SynStatus configurePaths (const char *collectionPath, const char *configPath, const char *defaultSharedPath)
 Configure the location of the SynColor configuration file, the transform collection and the shared directory. More...
 
SYN_EXPORT SynStatus configureAsStandalone (const char *configPath)
 Configure SynColor paths only using the configuration file. More...
 
SYN_EXPORT const char * getColorTransformFileExtension ()
 Color transform file extension. More...
 
SYN_EXPORT SynStatus getSharedColorTransformPath (const char *&pBuffer)
 Active shared color transform directory. More...
 
SYN_EXPORT SynStatus getSavedSharedColorTransformPath (const char *&pBuffer)
 Shared color transform directory from config file. This directory may differ from the active shared directory (see overrideSharedColorTransformsDir()). More...
 
SYN_EXPORT SynStatus setSharedColorTransformPath (const char *path)
 Set the shared color transform directory and, indirectly, the path to the policy collection (always a sibling of the transforms directory). This directory is saved to the config file. More...
 
SYN_EXPORT SynStatus overrideSharedColorTransformsDir (const char *dir)
 Overrides the saved shared color transform directory. More...
 
SYN_EXPORT const char * getDefaultSharedColorTransformPath ()
 Default shared color transform directory. More...
 
SYN_EXPORT SynStatus getDefaultPathForAlias (const char *alias, const char *&defaultPath)
 Default color transform path of a SynColor specific alias. More...
 
SYN_EXPORT SynStatus findAliasInPreferences (const char *alias, const char *&path, SYNCOLOR::BasePath &basePath)
 Retrieve a color transform alias. More...
 
SYN_EXPORT SynStatus addAliasInPreferences (const char *alias, const char *path, SYNCOLOR::BasePath basePath)
 Add alias in the Preferences. More...
 
SYN_EXPORT SynStatus getAutoConfigureMonitorProfile (bool &setting)
 AutoConfigure switch value for the graphicsMonitor alias. More...
 
SYN_EXPORT SynStatus setAutoConfigureMonitorProfile (bool newSetting, bool wrapInUserDisplayTransform)
 Sets the AutoConfigure switch for the graphicsMonitor alias. More...
 
SYN_EXPORT const char * getPoliciesDir ()
 Policy collection directory. More...
 
SYN_EXPORT SYNCOLOR::SynStatus createFileRule (const char *name, const char *fileNameExtension, const char *filePathPattern, const char *colorSpace, RulePtr &rule)
 The method creates a file rule. More...
 
SYN_EXPORT SYNCOLOR::SynStatus createViewingRule (const char *name, const char *viewTransform, const char *allowedColorSpaces, ViewingRule::Context allowedCSContext, const char *allowedDisplays, ViewingRule::Context allowedDisplaysContext, RulePtr &rule)
 The method creates a viewing rule. More...
 

Detailed Description

Autodesk SynColor SDK public namespace.

Typedef Documentation

typedef unsigned long SYNCOLOR::ColorSpaceTagFlags

Used to specify multiple color space tags.

typedef List<const char*> SYNCOLOR::StringList

String list.

Helper shared pointer for a String list.

typedef List<int> SYNCOLOR::IntList

Int list.

Helper shared pointer for a String list.

String/Int list.

Helper shared pointer for a String/Int list.

typedef void(* SYNCOLOR::LogFunc)(LogLevel, const char *)

Logging function signature.

Helper shared pointer.

Helper shared pointer.

Enumeration Type Documentation

List of supported base paths to use to interpret relative file paths.

Enumerator
BASE_PATH_NONE 

No base path set.

BASE_PATH_AUTODESK 

Autodesk SynColor transform collection path.

BASE_PATH_SHARED 

User transform path set in the SynColor preferences.

Supported bit depth list.

Each bit depth is represented by a bit flags. These flags are a used to encode bit depth in entries of the SYNCOLOR::PixelFormat list.

Enumerator
BIT_DEPTH_UNKNOWN 

Bit depth invalid or not set.

BIT_DEPTH_8i 

8-bit integer.

BIT_DEPTH_10i 

10-bit integer.

BIT_DEPTH_12i 

12-bit integer.

BIT_DEPTH_16i 

16-bit integer.

BIT_DEPTH_16f 

16-bit float.

BIT_DEPTH_32f 

32-bit float.

Bit depth mask.

This mask is useful for extracting the bit depth portion of a SYNCOLOR::PixelFormat.

Enumerator
BIT_DEPTH_MASK 

Set of bits corresponding to bit depth flags.

List of color space category for classifying color spaces.

Enumerator
Native 

Native color spaces.

OCIO 

OCIO color spaces.

List of color space types for classifying color spaces.

Enumerator
ColorSpaceInput 

Input color space type.

ColorSpaceWorking 

Working color space type.

ColorSpaceView 

Viewing color space type.

ColorSpaceDisplay 

Display color space type.

List of possible color space attribute value key.

Enumerator
NameKey 

Name (which is unique).

HierarchyKey 

Hierarchy containing levels separated by a slash; it could be empty.

UserFacingNameKey 

User facing name (with no guarantee to be unique).

OriginalRefKey 

Original reference.

FunctionalMD5Key 

Functional MD5.

IDKey 

ID.

TypeKey 

Type aka Family (e.g.

SDR video for display color spaces).

PureViewInputTypeKey 

Pure view input space type.

PureViewInputNameKey 

Pure view input space name.

PureViewOutputNameKey 

Pure view output space name.

DisplayPathKey 

Display path.

ConSpaceImageStateKey 

Connection space's image state.

InfoVersionKey 

Info element version number.

VisibilityKey 

UI Visibility : "true" or "false".

PrimariesRedxKey 

The x coordinate of the red primary.

PrimariesRedyKey 

The y coordinate of the red primary.

PrimariesGreenxKey 

The x coordinate of the green primary.

PrimariesGreenyKey 

The y coordinate of the green primary.

PrimariesBluexKey 

The x coordinate of the blue primary.

PrimariesBlueyKey 

The y coordinate of the blue primary.

PrimariesWhitexKey 

The x coordinate of the white point.

PrimariesWhiteyKey 

The y coordinate of the white point.

List of color space tags for classifying color spaces.

Enumerator
CS_TAG_DISPLAY 

Display tag.

CS_TAG_DISPLAY_PRE_PROCESS 

Display_PreProcess tag.

CS_TAG_INPUT 

Input tag.

CS_TAG_INPUT_TAG_ONLY 

InputTagOnly tag.

CS_TAG_LOG_WORKING 

LogWorkingSpace tag.

CS_TAG_OUTPUT_TAG_ONLY 

OutputTagOnly tag.

CS_TAG_PURE_VIEW 

PureView tag.

CS_TAG_SCENE_LINEAR_WORKING 

SceneLinearWorkingSpace tag.

CS_TAG_VIDEO_WORKING 

VideoWorkingSpace tag.

CS_TAG_VIEW_PRE_PROCESS 

View_PreProcess tag.

CS_TAG_VIEW 

View tag.

List of color space tag groups for convenience.

List of error message component groups.

List of error message feature groups.

List of SynColor SDK error codes.

List of flags that describe 1-D LUT index and value encoding.

1-D LUT indices and values can either be expressed in standard numeric encodings or using half float codes. Half float codes are 16 bit integer representations of a 16 bit floating point value. See: http://en.wikipedia.org/wiki/Half-precision_floating-point_format.

Enumerator
LUT_STANDARD 

Indices and values use standard numeric encodings.

LUT_INPUT_HALF_CODE 

LUT indices are half float codes.

LUT_OUTPUT_HALF_CODE 

LUT values are half float codes.

LUT_INPUT_OUTPUT_HALF_CODE 

Both indices and values are half float codes.

List of IO formats.

List of languages available for SynColor error messages.

Enumerator
LANG_EN 

US English: 8-bit ASCII encoding.

LANG_JP 

Japanese: ja_JP.SJIS encoding.

LANG_SC 

Simplified Chinese: zh_CN.gb2312 encoding.

LANG_LAST 

Index of last language available.

List of message logging levels.

Some messages meant for a log file are generated by SynColor. By default these messages are printed in the standard output. It is possible to override the logging function to redirect log messages to another destination.

Note
Because of the breadth of error handling in SynColor, there are currently very few messages logged by the library. Only LEVEL_USER messages are printed by the default logging function.
Todo:
Add an SDK function to set the logging level.
See also
SYNCOLOR::setLoggerFunction()
Enumerator
LEVEL_USER 

Default and lowest logging level. Messages at this level are always logged.

LEVEL_DEBUG 

For debug messages. Highest logging level. Messages of all levels are logged.

List of transform optimization levels.

When finalizing a color transform, an optimization pass is performed on the list of operators within the transform. These flags control what actions the optimizer may perform. The different levels provide different speed and accuracy trade-offs.

All levels except the OPTIMIZER_NONE level remove the identity color operators. In the case where the transform being finalized has dynamic properties and these dynamic properties are needed, then the OPTIMIZER_KEEP_DYNAMIC_OPS_FLAG bit needs to be set. For example:

SYNCOLOR::OptimizerFlags optFlags = SYNCOLOR::OPTIMIZER_GOOD | SYNCOLOR::OPTIMIZER_KEEP_DYNAMIC_OPS_FLAG

Enumerator
OPTIMIZER_NONE 

No transform optimizations applied.

OPTIMIZER_LOSSLESS 

Removal of non-dynamic bypassed ops and non-dynamic identity ops. Composition of consecutive matrix ops, and of clamp-only range ops with the following 1D lut, 3D lut or range op.

OPTIMIZER_VERY_GOOD 

Composition of consecutive 1D luts.

OPTIMIZER_GOOD 

Composition of consecutive 3D luts.

OPTIMIZER_DRAFT 

For quite lossy optimizations.

Reserved for future implementation.

OPTIMIZER_NOT_ADD_TO_CACHE 

If set, this flag indicates that the transform should never be added to the internal cache (e.g. two finalizations could return the same finalized transform if the cache is used). A typical case is a transform from a view template where dynamic properties exist. As the caller blindly consumes the resulting finalized transform (not knowing if it's shared or not) a dynamic property change could affect several transforms at his point of view.

OPTIMIZER_KEEP_DYNAMIC_OPS_FLAG 

If set, this flag indicates to the optimizer to preserve dynamic ops that report being identities.

List of pixel formats.

The formatting for the pixel format naming is: PF_<Pixel Layout>_<Bit Depth>

A mask can be used to extract the SYNCOLOR::BitDepth from the PixelFormat. See SYNCOLOR::BitDepthHelper.

These flags control the way "Current Monitor" reference tag is resolved.

Enumerator
RESOLVE_GRAPHICS_MONITOR 

Resolve to the graphic monitor.

RESOLVE_BROADCAST_MONITOR 

Resolve to the broadcast monitor.

List of available stock templates.

See also
SYNCOLOR::loadStockTemplate()
Enumerator
STOCK_TEMPLATE_RAW 

An identity template for returning a raw transform.

See also
SYNCOLOR::STOCK_TRANSFORM_RAW.

List of available stock transforms.

See also
SYNCOLOR::createStockTransform()
Enumerator
STOCK_TRANSFORM_RAW 

An identity transform with dynamic exposure contrast controls.

STOCK_TRANSFORM_IDENTITY 

An identity transform.

Renderer type flag list.

Enumerator
RENDERER_NONE 

No renderer.

RENDERER_CPU 

CPU renderer flag.

RENDERER_GPU 

GPU renderer flag.

RENDERER_ALL 

Both CPU and GPU renderer flags set.

List of template classes.

The template class defines the group of transforms to use to for the various template types. Currently, there is a single template class.

See also
SYNCOLOR::loadNativeTemplate()
Enumerator
Maya 

Templates for Maya.

Flame 

Templates for Flame.

List of possible template parameters.

See also
SYNCOLOR::Template::getParameter()
Enumerator
InputSpace 

Input color space parameter.

WorkingSpace 

Working color space parameter.

TagOnlyOrWorkingSpace 

Input and working color space parameter.

ViewTransform 

View (i.e view and display) transform parameter.

PureViewTransform 

Pure view (i.e view only) transform parameter.

DisplaySpace 

Display color space parameter.

MixingSpace 

Mixing color space parameter.

MixingEncoding 

Mixing space encoding representation (eg.

RGB or HSV).

List of template types.

See also
SYNCOLOR::loadNativeTemplate()
Enumerator
InputTemplate 

Input to working space transform template.

ViewingTemplate 

Viewing transform template.

ViewingDisplayTemplate 

Viewing display template.

MixingTemplate 

Color mixing transform template.

List of transform directions.

Templates can create either input-to-output color space transforms (forward) or output-to-input color space transforms (reverse).

See also
SYNCOLOR::Template::createTransform()
Enumerator
TransformForward 

Normal (forward) transform.

TransformReverse 

Inverse (reverse) transform.

Enumeration of all supported Lut3DO algorithms for the interpolation computation

Enumerator
LUT3D_ALGO_DEFAULT 

Default algorithm.

LUT3D_ALGO_TRILINEAR 

Trilinear interpolation's algorithm.

LUT3D_ALGO_TETRAHEDRAL 

Tetrahedral interpolation's algorithm.

LUT3D_ALGO_4PT_TETRAHEDRAL 

4 points Tetrahedral interpolation's algorithm

Enumeration of the CDL styles.

Enumerator
CDL_V1_2_FWD 

Forward (version 1.2) style.

CDL_V1_2_REV 

Reverse (version 1.2) style.

CDL_NO_CLAMP_FWD 

Forward no clamping style.

CDL_NO_CLAMP_REV 

Reverse no clamping style.

Function Documentation

SYN_EXPORT BasePath SYNCOLOR::getBasePath ( const char *  name)

Convert the base path string to its corresponding enum value.

Parameters
nameString representing the base path name.
Returns
BasePath value for 'name'. Returns SYNCOLOR::BASE_PATH_NONE if the name is not recognized.
SYN_EXPORT const char* SYNCOLOR::getBasePathName ( BasePath  basePath)

Convert the BasePath value to a string.

Parameters
basePathBasePath value.
Returns
String corresponding to basePath.
SYN_EXPORT BitDepth SYNCOLOR::getBitDepth ( const char *  name)

Convert the bit depth string to its corresponding enum value.

Parameters
nameString representing the bit depth (8i, 16f, etc.)
Returns
BitDepth value for 'name'. Returns SYNCOLOR::BIT_DEPTH_UNKNOWN if the string is not recognized.
SYN_EXPORT const char* SYNCOLOR::getBitDepthName ( BitDepth  bitDepth)

Convert the BitDepth value to a string.

Parameters
bitDepthBitDepth value
Returns
String corresponding to bitDepth (8i, 16f, etc.)
SYN_EXPORT float SYNCOLOR::getBitDepthMaxValue ( BitDepth  bitDepth)

Get the maximum code value of a bit depth.

Parameters
bitDepthBitDepth value.
Returns
The maximum code value for bitDepth. Returns 0.0f for SYNCOLOR::BIT_DEPTH_UNKNOWN, and 1.0f for all floating point bit depths.
SYN_EXPORT float SYNCOLOR::getBitDepthMinValue ( BitDepth  bitDepth)

Get the minimum code value of a bit depth.

Parameters
bitDepthBitDepth value.
Returns
The minimum code value for bitDepth. This value is 0.0f for all bit depths.
SYN_EXPORT float SYNCOLOR::getBitDepthValueRange ( BitDepth  bitDepth)

Get the value range of a bit depth.

Parameters
bitDepthBitDepth value.
Returns
The range for bitDepth. Returns the difference between the maximum and minimum bit depth values, or 0.0f for SYNCOLOR::BIT_DEPTH_UNKNOWN.
SYN_EXPORT bool SYNCOLOR::isFloatDepth ( BitDepth  bitDepth)

True for a floating point bit depth.

Parameters
bitDepthBitDepth value.
Returns
True if bitDepth is floating point.
SYN_EXPORT bool SYNCOLOR::isIntegerDepth ( BitDepth  bitDepth)

True for an integer bit depth.

Parameters
bitDepthBitDepth value.
Returns
True if bitDepth is integer.
SYN_EXPORT unsigned SYNCOLOR::getBitDepthPrecision ( const BitDepth  bitDepth)

Number of bits available for encoding a color value.

For floating point bit depths, the precision is the number of bits to encode the entire value: i.e. the mantissa and the exponent.

Parameters
bitDepthBitDepth value.
Returns
The number of bits available for encoding a color value.
const char* SYNCOLOR::getColorSpaceTagString ( const ColorSpaceTag  tag)

Returns the corresponding color space tag string.

Parameters
tagColor space tag
Returns
The color space tag string
SYN_EXPORT SynStatus SYNCOLOR::getColorSpacesByTags ( ColorSpaceCategory  category,
ColorSpaceTagFlags  colorSpaceTags,
ColorSpacesAttributesPtr &  attributes 
)

Utilities functions to get information about color spaces.

Get information on the color spaces that contain the specified tags.

Parameters
categoryColor space category. See SYNCOLOR::ColorSpaceCategory.
colorSpaceTagsColor space tags. See SYNCOLOR::ColorSpaceTagFlags.
attributesReturned display color space tag attributes.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::getDisplayColorSpaceTypes ( ColorSpaceCategory  category,
StringListPtr &  names 
)

Get information on the display color space types.

Parameters
categoryColor space category. See SYNCOLOR::ColorSpaceCategory.
namesReturned display color space type names.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::getDisplayColorSpaceAutoPopulateValues ( const char *  path,
StringListPtr &  values 
)

Get the display color space auto populate values.

Parameters
pathPath to the transform
valuesReturned display color space auto populate values where
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::getViewingTransformAutoPopulateValues ( const char *  path,
StringListPtr &  values 
)

Get the viewing transform auto populate values.

Parameters
pathPath to the transform
valuesReturned view transform auto populate values where values[0]
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::getViewingRulesAllowedDisplays ( ColorSpaceCategory  category,
StringIntListPtr &  namesAndContexts 
)

Get information on the allowed displays for the viewing rules.

Parameters
categoryColor space category. See SYNCOLOR::ColorSpaceCategory.
namesAndContextsReturned allowed display names and contexts (see ViewingRule::Context).
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::resolveDisplayColorSpaceType ( ColorSpaceCategory  category,
const char *  type,
StringListPtr &  resolvedTypes 
)

Resolve the display color space type.

Parameters
categoryColor space category. See SYNCOLOR::ColorSpaceCategory.
typeColor space type to be resolved.
resolvedTypesReturned resolved display color space type.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::getInputColorSpaceTypes ( ColorSpaceCategory  category,
StringListPtr &  names 
)

Get information on the input color space types.

Parameters
categoryColor space category. See SYNCOLOR::ColorSpaceCategory.
namesReturned input color space type names.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::resolveInputColorSpaceType ( ColorSpaceCategory  category,
const char *  type,
StringListPtr &  resolvedTypes 
)

Resolve the input color space type.

Parameters
categoryColor space category. See SYNCOLOR::ColorSpaceCategory.
typeColor space type to be resolved.
resolvedTypesReturned resolved input color space type.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT void SYNCOLOR::getImageStateFriendlyNames ( StringListPtr &  states)

Get the list of possible ImageState user-facing names (friendly names).

Parameters
namesReturned input color space image states.
SYN_EXPORT SynStatus SYNCOLOR::getInputColorSpaceAutoPopulateImageStates ( const char *  path,
StringListPtr &  values 
)

Get the input color space auto populate image states.

Parameters
pathPath to the transform
valuesReturned color space auto populate image states where
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT const char* SYNCOLOR::getImageStateTokenFromFriendlyName ( const char *  imageState)

Translate the friendly image state name to the token image state name.

Parameters
typeImage State to be translated.
Returns
Returns the translated token image state.
SYN_EXPORT SynStatus SYNCOLOR::getViewingRulesAllowedColorSpaces ( ColorSpaceCategory  category,
const char *  viewTransform,
StringIntListPtr &  namesAndContexts 
)

Get information on the allowed color spaces for a specified viewing.

Parameters
viewTransformThe view transform used in the search.
namesAndContextsReturned allowed color space names and contexts (see ViewingRule::Context).
SYN_EXPORT SynStatus SYNCOLOR::getMixingSlider ( const TemplatePtr &  pMixingTemplate,
const TemplatePtr &  pViewTemplate,
float  sliderMixingMinEdge,
float  sliderMixingMaxEdge,
MixingSliderUnitsPtr &  pMixingSlider 
)

Get mixing slider from a specific mixing template.

Parameters
pMixingTemplateThe mixing template to be used to compute the slider units.
pViewTemplateThe view template to be used to compute the slider units.
sliderMixingMinEdgeMinimum slider mixing edge.
sliderMixingMaxEdgeMaximum slider mixing edge.
pMixingSliderThe slider to be used for the specific mixing template.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT PixelFormat SYNCOLOR::strToPF ( const char *  pfStr)

Convert a string to a pixel format value.

Parameters
pfStrString to evaluate.
Returns
Pixel format for 'pfStr', or PF_UNKNOWN if the string is not recognized.
SYN_EXPORT const char* SYNCOLOR::pfToStr ( PixelFormat  pf)

Convert a pixel format to its corresponding string.

Parameters
pfPixel format value.
Returns
String corresponding to 'pf'.
SYN_EXPORT unsigned SYNCOLOR::getImageSizeInByte ( const ROI &  roi,
PixelFormat  pf 
)

Get the size in bytes of a region of interest (ROI) given the PixelFormat.

Parameters
roiImage region of interest.
pfPixel format value
Returns
Size of the region in bytes
SYN_EXPORT unsigned SYNCOLOR::getPixelSizeInByte ( PixelFormat  pf)

Get the pixel size of the PixelFormat.

Parameters
pfPixel format value.
Returns
Pixel size in bytes.
SYN_EXPORT unsigned SYNCOLOR::getNumChannels ( PixelFormat  pf)

Get the number of channels of the PixelFormat.

Parameters
pfPixel format value.
Returns
Number of channels.
SYN_EXPORT SynStatus SYNCOLOR::setLoggerFunction ( SYNCOLOR::LogFunc  logFunc)

Message logging callback registration.

Parameters
logFuncLogging function pointer. If NULL, logging is set to the standard output.
See also
SYNCOLOR::LogLevel
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::finalize ( const TransformPtr &  inTransform,
PixelFormat  srcPF,
PixelFormat  dstPF,
OptimizerFlags  optimizerFlags,
ResolveFlags  resolveFlag,
TransformPtr &  finalizedTransform 
)

Finalize the color transform for processing in CPU rendering only.

Prepares a transform to be used for processing images and returns the finalized version of itself. This function must be called before calls to Transform::applyCPU(). A transform can be finalized 'in-place' by providing the same TransformPtr as inTransform and as finalizedTransform.

Finalized transforms are placed in a cache. Finalizing the same transform with the same parameters will return the same finalized transform.

Parameters
inTransformTransform to finalize
srcPFSource buffer format for CPU rendering.
dstPFDestination buffer format for CPU rendering.
optimizerFlagsOptimization level for speed/quality trade-off. See SYNCOLOR::OptimizerFlags.
resolveFlagAlias resolution hint. See SYNCOLOR::ResolveFlags.
finalizedTransformReturned finalized transform ready to be used for processing.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::finalize ( const TransformPtr &  inTransform,
PixelFormat  srcPF,
PixelFormat  dstPF,
RendererFlags  rendererFlags,
OptimizerFlags  optimizerFlags,
ResolveFlags  resolveFlag,
SYNCOLOR::GPUAdaptorPtr pAdaptor,
TransformPtr &  finalizedTransform 
)

Finalize the color transform for processing including a GPU adaptor.

Prepares a transform to be used for processing images and returns the finalized version of itself. This function must be called before calls to Transform::applyCPU() or Transform::applyGPU(). A transform can be finalized 'in-place' by providing the same TransformPtr as inTransform and as finalizedTransform.

Finalized transforms are placed in a cache. Finalizing the same transform with the same parameters will return the same finalized transform.

Parameters
inTransformTransform to finalize
srcPFSource buffer format for CPU rendering.
dstPFDestination buffer format for CPU rendering.
rendererFlagsRenderers to prepare. See SYNCOLOR::RendererFlags.
optimizerFlagsOptimization level for speed/quality trade-off. See SYNCOLOR::OptimizerFlags.
resolveFlagAlias resolution hint. See SYNCOLOR::ResolveFlags.
pAdaptoris the GPU adaptor to use.
finalizedTransformReturned finalized transform ready to be used for processing.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::loadColorTransform ( const char *  filePath,
TransformPtr &  pTransform 
)

Read a single color transform from any of the file formats supported by SynColor.

For details about the CTF file XML format, please see the Autodesk Color Management Guide included with this SDK.

If the file is missing, does not contain a color transform or there is a catastrophic error reading the XML, the transform handle returned is null.

Based on the file extension, this function will try various parsers in addition to the CTF one (e.g. OCIO, ICC, CDL, VLT).

Parameters
filePathPath of the file to be read.
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::loadColorTransformList ( const char *  filePath,
TransformListPtr &  pTransformList 
)

Read a list of color transforms from any of the file formats supported by SynColor, particularly those that may return more than a single transform (for example, a .ccc file that may contain more than one ASC CDL transform). When loading a format that only supports single transforms, a list with one entry is returned.

If the file is missing, does not contain a color transform or there is a catastrophic error reading the XML, the transform list handle returned is null.

Parameters
filePathPath of the file to be read.
pTransformListReturned transform list.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::loadColorTransformFromBuffer ( const char *  xmlBuffer,
TransformPtr &  pTransform,
IOFormat  format = IO_FORMAT_CTF 
)

Read a color transform from a memory buffer.

For details about the CTF file XML format, please see the Autodesk Color Management Guide included with this SDK.

If the buffer does not contain a color transform or there is a catastrophic error parsing the xml, the transform handle returned is 0.

Unlike loadColorTransform, this function will only try the one parser specified in the format argument. Hence this function is for more specialized purposes and should not be considered an equivalent of loadColorTransform.

Parameters
xmlBufferMemory buffer containing the color transform XML description.
pTransformReturned transform.
formatFormat of the buffer to be loaded. Currently only supports IO_FORMAT_CTF and IO_FORMAT_CC.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::saveColorTransform ( const char *  fileName,
bool  saveResolvedTransform,
const TransformPtr &  pTransform,
IOFormat  format = IO_FORMAT_CTF 
)

Writes a color transform XML to file.

For details about the CTF file XML format, please see the Autodesk Color Management Guide included with this SDK.

Note
Overwrites the existing file if permissions allow it.
Parameters
fileNameFile name to write to including the extension. The standard extension for a color transform file is '.ctf'.
saveResolvedTransformWhether reference operators are resolved prior to writing to file.
pTransformTransform to be written.
formatTransform will be serialized using this format type.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::saveColorTransformToBuffer ( TransformWriterCallback &  writerCallback,
const TransformPtr &  pTransform,
IOFormat  format = IO_FORMAT_CTF 
)

Writes a color transform XML to a memory buffer.

Parameters
writerCallbackCallback instance to use. See SYNCOLOR::TransformWriterCallback.
pTransformTransform to be written.
formatTransform will be serialized using this format type.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT bool SYNCOLOR::isFileSupported ( const char *  fileName)

Check if a file can be loaded as a color transform.

Parameters
fileNameFile name to check.
Returns
True if the file has a supported extension.
Note
This function is meant as a quick check to validate a file. It does not guarantee that the file will successfully load.
SYN_EXPORT SynStatus SYNCOLOR::getSupportedFileExtensions ( SupportedExtensionsCallBack &  extensionsCallback)

Obtain the list of supported file extensions.

The supported files types are color transform files (ctf/xml) and any file type supported by the OCIO version supplied with this SDK.

Parameters
extensionsCallbackCallback instance to use. See SYNCOLOR::SupportedExtensionsCallBack. For each supported extension, the add() method of the callback will be invoked.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::getSupportedOutputFormats ( const TransformPtr &  pTransform,
SupportedOutputFormatsCallBack &  exportFormatsCallback 
)

Obtain the list of supported output formats for a specified transform. Only formats that may losslessly represent the provided transform will be returned.

Parameters
pTransformTransform used to determine all possible output formats.
outputFormatsCallbackCallback to use. See SYNCOLOR::SupportedOutputFormatsCallBack. For each supported format, the add() method of the callback will be invoked.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::CreateCDLTransform ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
const char *  ccId,
const double  slope[],
const double  offset[],
const double  power[],
const double  saturation,
CDLStyle  style,
TransformPtr &  pTransform 
)

Create a color transform from CDL SOP and Sat values.

Utility factory method that builds a CDL color transform from the Slope, Offset, Power and Saturation values provided.

The ASC spec v1.2 imposes the following restrictions:

slope >= 0, power > 0, sat >= 0, (offset unbounded). The parameters are validated and an error will be returned if any of them are illegal.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
ccIdColor correction identifier string
slopeSlope RGB array values
offsetOffset RGB array values
powerPower RGB array values
saturationSaturation value
styleCDL style to use
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::Create1DLutTransformFromShort ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
unsigned  lutSize,
const unsigned short  rLut[],
const unsigned short  gLut[],
const unsigned short  bLut[],
HalfFlags  halfFlags,
TransformPtr &  pTransform 
)

Create a color transform containing a single 3x 1D LUT operator from short values.

Utility factory method that builds a 1D LUT color transform from the lists of unsigned short coefficients provided.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
lutSizeNumber of coefficients in each of the r, g, and b LUT arrays.
rLut1D LUT for the red component.
gLut1D LUT for the green component.
bLut1D LUT for the blue component.
halfFlagsHalf Flags for 1D LUT content. See SYNCOLOR::HalfFlags
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::InvertHalfDomain1DLutFromShort ( const unsigned short  rLut[],
const unsigned short  gLut[],
const unsigned short  bLut[],
unsigned short  rInvLut[],
unsigned short  gInvLut[],
unsigned short  bInvLut[] 
)

Invert a half-domain 1D Lut.

Utility factory method that that calculates the the inverse of a 1D LUT that has a half-domain (input depth == 16f, output depth == 16i). The returned LUT will lookup a 16i value and return a raw half float.

Parameters
rLut1D LUT for the red component (65536 entries).
gLut1D LUT for the green component (65536 entries).
bLut1D LUT for the blue component (65536 entries).
rInvLut1D LUT for the inverted red component (65536 entries).
gInvLut1D LUT for the inverted green component (65536 entries).
bInvLut1D LUT for the inverted blue component (65536 entries).
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::Create1DLutTransformFromInt ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
unsigned  lutSize,
const unsigned int  rLut[],
const unsigned int  gLut[],
const unsigned int  bLut[],
HalfFlags  halfFlags,
TransformPtr &  pTransform 
)

Create a color transform containing a single 3x 1D LUT operator from integer values.

Utility factory method that builds a 1D LUT color transform from the lists of unsigned integer coefficients provided.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
lutSizeNumber of coefficients in each of the r, g, and b LUT arrays.
rLut1D LUT for the red component.
gLut1D LUT for the green component.
bLut1D LUT for the blue component.
halfFlagsHalf Flags for 1D LUT content. See SYNCOLOR::HalfFlags
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::Create1DLutTransformFromFloat ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
unsigned  lutSize,
const float  rLut[],
const float  gLut[],
const float  bLut[],
HalfFlags  halfFlags,
TransformPtr &  pTransform 
)

Create a color transform containing a single 3x 1D LUT operator from float values.

Utility factory method that builds a 1D LUT color transform from the lists of floating point coefficients provided.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
lutSizeNumber of coefficients in each of the r, g, and b LUT arrays.
rLut1D LUT for the red component.
gLut1D LUT for the green component.
bLut1D LUT for the blue component.
halfFlagsHalf Flags for 1D LUT content. See SYNCOLOR::HalfFlags
pTransformReturned transform. Create a color transform containing a single 3x 1D LUT.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::Create3DLutTransformFromShort ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
unsigned  dim,
const unsigned short *  data,
TransformPtr &  pTransform 
)

Create a color transform containing a single 3D LUT operator from short values.

Utility factory method that builds a 3D LUT color transform from the lists of unsigned short coefficients provided.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
dimLUT axis dimension.
dataRGB output value array. Linear set of RGB values organized with increasing B, then G, then R index (blue index changes the fastest).
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::Create3DLutTransformFromInt ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
unsigned  dim,
const unsigned int *  data,
TransformPtr &  pTransform 
)

Create a color transform containing a single 3D LUT operator from integer values.

Utility factory method that builds a 3D LUT color transform from the lists of unsigned integer coefficients provided.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
dimLUT axis dimension.
dataRGB output value array. Linear set of RGB values organized with increasing B, then G, then R index (blue index changes the fastest).
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::Create3DLutTransformFromFloat ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
unsigned  dim,
const float *  data,
TransformPtr &  pTransform 
)

Create a color transform containing a single 3D LUT operator from float values.

Utility factory method that builds a 3D LUT color transform from the lists of floating point coefficients provided.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
dimLUT axis dimension.
dataRGB output value array. Linear set of RGB values organized with increasing B, then G, then R index (blue index changes the fastest).
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::CreateMatrixTransform ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
const float *  mtxCoeffs,
const float *  offsetCoeffs,
bool  isRGBA,
TransformPtr &  pTransform 
)

Create a color transform containing a single matrix operator.

Utility factory method that builds a matrix color transform from the float coefficients provided.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
mtxCoeffsMatrix coefficient array. This array needs to be row dominant, i.e. coefficients are ordered by row.
offsetCoeffsOffset coefficient array.
isRGBAWhether the coefficient arrays are RGB or RGBA. If true the mtxCoeffs must have 16 elements and the offsetCoeffs must have 4. Otherwise mtxCoeffs must have 9 elements and offsetCoeffs must have 3,
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::CreateDitherTransform ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
BitDepth  ditherBitDepth,
TransformPtr &  pTransform 
)

Create a color transform containing a single dither operator.

Utility factory method that builds a dither transform.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
ditherBitDepthDither bit depth, i.e. bit depth to which dithering will be performed.
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::CreateReferenceTransformFromAlias ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
const char *  alias,
TransformPtr &  pTransform 
)

Create a color transform containing a single alias reference operator.

Utility factory method that builds a color transform that references an alias.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
aliasAlias name. Must exist in the SynColor preferences.
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
See also
SYNCOLOR::findAliasInPreferences, SYNCOLOR::addAliasInPreferences,
SYN_EXPORT SynStatus SYNCOLOR::CreateReferenceTransformFromPath ( BitDepth  inBitDepth,
BitDepth  outBitDepth,
const char *  path,
BasePath  basePath,
TransformPtr &  pTransform 
)

Create a color transform containing a single file path reference operator.

Utility factory method that builds a color transform that references a file.

Parameters
inBitDepthInput bit depth. See SYNCOLOR::BitDepth.
outBitDepthOutput bit depth. See SYNCOLOR::BitDepth.
pathFile path to the transform to reference.
pTransformReturned transform.
basePathBase path to use if path is relative. See SYNCOLOR::BasePath.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::concatenateTransforms ( const TransformPtr &  pTransform1,
const TransformPtr &  pTransform2,
TransformPtr &  pTransform 
)

Concatenate two color transforms.

Parameters
pTransform1First transform.
pTransform2Second transform.
pTransformReturned transform containing a copy of both transforms in sequence.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::createStockTransform ( StockTransform  type,
TransformPtr &  pTransform 
)

Create one of the available stock transforms.

Parameters
typeStock transform type. See SYNCOLOR::StockTransform.
pTransformReturned transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::loadNativeTemplate ( TemplateType  type,
TemplatePtr &  pTemplate 
)

Create a native color transform template of the specified type.

Parameters
typeTemplate type. See SYNCOLOR::TemplateType.
pTemplateReturned template instance.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
See also
Detailed description of SYNCOLOR::Template.
SYN_EXPORT SynStatus SYNCOLOR::loadStockTemplate ( StockTemplate  type,
TemplatePtr &  pTemplate 
)

Create a stock transform template of the specified type.

Parameters
typeStock template type. See SYNCOLOR::StockTemplate.
pTemplateReturned template instance.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
See also
Detailed description of SYNCOLOR::Template.
SYN_EXPORT SynStatus SYNCOLOR::loadOCIOTemplate ( TemplateType  type,
const char *  filename,
TemplatePtr &  pTemplate 
)

Create a transform template from an OpenColorIO configuration file.

Parameters
typeTemplate type. See SYNCOLOR::TemplateType.
filenameConfiguration file name.
pTemplateReturned template instance.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
See also
Detailed description of SYNCOLOR::Template.
SYN_EXPORT SynStatus SYNCOLOR::setUp ( SYNCOLOR::TemplateClass  product,
SYNCOLOR::Language  lang 
)

Perform the SynColor initialization.

Parameters
productThe product to support
langThe language for the error messages
Returns
returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred. See SYNCOLOR::SynStatus in SynColor/synStatus.h.
SYN_EXPORT SynStatus SYNCOLOR::tearDown ( )

Perform the SynColor de-initialization.

Returns
returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred. See SYNCOLOR::SynStatus in SynColor/synStatus.h.
SYN_EXPORT SYNCOLOR::TemplateClass SYNCOLOR::getTemplateClassName ( )

Get the supported product.

Returns
the product enumeration value
SYN_EXPORT SYNCOLOR::Language SYNCOLOR::getErrorMessageLanguage ( )

Return the currently used language for creating SynColor status messages.

Returns
the language setting.
SYN_EXPORT const char* SYNCOLOR::getVersionString ( )

Obtain the SynColor version string.

Returns
a string containing the SynColor version.
SYN_EXPORT SynStatus SYNCOLOR::refresh ( )

Refresh the SynColor instance.

The refresh flushes any caches used by SynColor

Returns
returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred. See SYNCOLOR::SynStatus in SynColor/synStatus.h.
SYN_EXPORT const char* SYNCOLOR::getSystemColorTransformPath ( )

Transform collection location.

The path of the SYNCOLOR::BASE_PATH_AUTODESK location. Used to resolve Reference operators.

Returns
Absolute path where the SynColor transform collection is located. This string is not to be deleted.
SYN_EXPORT const char* SYNCOLOR::getConfigFilePath ( )

SynColor configuration file directory location.

Returns
Absolute path of the directory containing the synColorConfig.xml file. This string is not to be deleted.
SYN_EXPORT const char* SYNCOLOR::getConfigFileNamePath ( )

SynColor configuration file location.

Returns
Absolute path of the synColorConfig.xml file including the file name. This string is not to be deleted.
SYN_EXPORT SynStatus SYNCOLOR::configurePaths ( const char *  collectionPath,
const char *  configPath,
const char *  defaultSharedPath 
)

Configure the location of the SynColor configuration file, the transform collection and the shared directory.

This method is useful if the SynColor elements are not at the location used by the SynColor installer.

Warning
This method must be called prior to any SynColor SDK function or transform creation that requires access to the aliases.
Parameters
collectionPathAbsolute path to the SynColor transform collection.
configPathAbsolute path to the SynColor configuration file including the file name.
defaultSharedPathAbsolute path to the shared color transform directory.
Returns
Returns a SYNCOLOR::SynStatus. If a configuration already has been loaded, ERROR_SYN_COLOR_PREFS_ALREADY_LOADED is returned. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::configureAsStandalone ( const char *  configPath)

Configure SynColor paths only using the configuration file.

This method is useful if the SynColor elements are not at the location used by the SynColor installer and is dedicated to standalone usage where the catalogs are supposed to be up to date. A usage is when SynColor is embedded in a standalone tool which only consumes an existing configuration (i.e. no changes to the configuration)

Warning
This method must be called prior to any SynColor SDK function or transform creation that requires access to the aliases.
Note
This method can be called as many time as you want as it only reads configuration files.
Parameters
configPathAbsolute path to the SynColor configuration file including the file name.
Returns
Returns a SYNCOLOR::SynStatus. If a configuration already has been loaded, ERROR_SYN_COLOR_PREFS_ALREADY_LOADED is returned. Check the error code to determine if an error occurred.
SYN_EXPORT const char* SYNCOLOR::getColorTransformFileExtension ( )

Color transform file extension.

Returns
Extension string excluding the leading dot, i.e. 'ctf'.
SYN_EXPORT SynStatus SYNCOLOR::getSharedColorTransformPath ( const char *&  pBuffer)

Active shared color transform directory.

Parameters
pBufferReturn reference to the shared path string.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::getSavedSharedColorTransformPath ( const char *&  pBuffer)

Shared color transform directory from config file. This directory may differ from the active shared directory (see overrideSharedColorTransformsDir()).

Parameters
pBufferReturn reference to the shared path string.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::setSharedColorTransformPath ( const char *  path)

Set the shared color transform directory and, indirectly, the path to the policy collection (always a sibling of the transforms directory). This directory is saved to the config file.

Parameters
pathAbsolute path to the shared color transform directory.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::overrideSharedColorTransformsDir ( const char *  dir)

Overrides the saved shared color transform directory.

Parameters
dirAbsolute path to a shared color transform directory.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT const char* SYNCOLOR::getDefaultSharedColorTransformPath ( )

Default shared color transform directory.

Returns
Returns the default shared path location.
SYN_EXPORT SynStatus SYNCOLOR::getDefaultPathForAlias ( const char *  alias,
const char *&  defaultPath 
)

Default color transform path of a SynColor specific alias.

SynColor defines some default transform aliases. Additional aliases can be added with SYNCOLOR::addAliasInPreferences().

Parameters
aliasSynColor alias name. Valid values for alias are:
  • defaultLook,
  • broadcastMonitor,
  • graphicsMonitor.
defaultPathReturn reference to the alias transform path value.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::findAliasInPreferences ( const char *  alias,
const char *&  path,
SYNCOLOR::BasePath basePath 
)

Retrieve a color transform alias.

Color transforms may contain Reference operators that use an alias. This method returns the path to the color transform that corresponds the specified alias.

Parameters
aliasAlias requested.
pathReturn reference to the alias absolute path.
basePathBase path to use if the alias contains a relative path. See SynColor::BasePath.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::addAliasInPreferences ( const char *  alias,
const char *  path,
SYNCOLOR::BasePath  basePath 
)

Add alias in the Preferences.

The color transform alias set can be extended. This function adds a new alias to the preferences. This alias is stored in the SynColor configuration file.

Parameters
aliasNew alias name.
pathPath to the color transform file corresponding to the alias. Should be an absolute path.
basePathBase path to use if the transform path is relative. Should be SYNCOLOR::BASE_PATH_NONE.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::getAutoConfigureMonitorProfile ( bool &  setting)

AutoConfigure switch value for the graphicsMonitor alias.

For OS/X only. If set to true, SynColor will use the monitor profile used by the operating system as the graphicsMonitor alias.

Parameters
settingReturn auto-configure value.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT SynStatus SYNCOLOR::setAutoConfigureMonitorProfile ( bool  newSetting,
bool  wrapInUserDisplayTransform 
)

Sets the AutoConfigure switch for the graphicsMonitor alias.

For OS/X only. If set to true, SynColor will use the monitor profile used by the operating system as the graphicsMonitor alias.

Parameters
newSettingWhether to use the OS monitor profile as the graphicsMonitor alias.
wrapInUserDisplayTransformWhether to wrap the OS monitor profile in a user display transform.
Returns
Returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred.
SYN_EXPORT const char* SYNCOLOR::getPoliciesDir ( )

Policy collection directory.

Returns
Returns the path to the policy collection directory.
SYN_EXPORT SYNCOLOR::SynStatus SYNCOLOR::createFileRule ( const char *  name,
const char *  fileNameExtension,
const char *  filePathPattern,
const char *  colorSpace,
RulePtr &  rule 
)

The method creates a file rule.

Parameters
nameThe name of the rule
fileNameExtensionThe file name extension to use
filePathPatternThe pattern to be applied to the file path
colorSpaceThe color space associated to the regular expression
ruleThe corresponding file rule
Returns
returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred. See SYNCOLOR::SynStatus above.
SYN_EXPORT SYNCOLOR::SynStatus SYNCOLOR::createViewingRule ( const char *  name,
const char *  viewTransform,
const char *  allowedColorSpaces,
ViewingRule::Context  allowedCSContext,
const char *  allowedDisplays,
ViewingRule::Context  allowedDisplaysContext,
RulePtr &  rule 
)

The method creates a viewing rule.

Parameters
nameThe name of the rule
viewTransformThe view transform to use
allowedColorSpacesThe allowed color spaces
allowedCSContextThe context of the allowedColorSpaces param. (SPECIFIC or FAMILY)
allowedDisplaysThe allowed displays
allowedDisplaysContextThe context of the allowedDisplays param. (SPECIFIC, FAMILY)
ruleThe resulting viewing rule

Note : If "FAMILY" is specified, the family of the evaluated string will be matched with the rule's allowed family. If the rule's family is a group of family, the string will be compared to all the family strings in the group. If "SPECIFIC" is specified, the evaluated string will be matched with the rules's allowed string.

Returns
returns a SYNCOLOR::SynStatus. Check the error code to determine if an error occurred. See SYNCOLOR::SynStatus above.