|
Synergy Color Management Component - SDK -
2018.0.80
|
SynColor transform catalog manager. More...
Public Types | |
| typedef SynStatus(* | ConnectionSpaceCallback )(const char *name) |
| Callback function to obtain the list of connection color spaces. More... | |
Public Member Functions | |
| virtual SynStatus | loadTemplate (TemplateType type, TemplatePtr &pTemplate)=0 |
| Create a native color transform template of the specified type. More... | |
| virtual SynStatus | reloadCatalogs ()=0 |
| Refresh the catalog. More... | |
| virtual SynStatus | getConnectionSpaces (ColorSpaceType type, ConnectionSpaceCallback cb)=0 |
| Connection space list. More... | |
| virtual SynStatus | addUserColorSpace (ColorSpaceType type, const char *connectionSpace, const char *uniqueName, const char *userFacingName, const char *hierarchy, const char *displayType, const char *imageState, const char *transformPath, bool useResolvedTransform)=0 |
| Add a user color space to the native catalog manager. More... | |
| virtual SynStatus | addUserPureViewTransform (const char *inputSpace, const char *outputSpace, const char *uniqueName, const char *userFacingName, const char *hierarchy, const Lut3DOpInterpolationAlgo lut3dInterpolation, const char *transformPath)=0 |
| Add a user pure view transform to the native catalog manager. More... | |
| virtual SynStatus | addUserColorSpace (const char *serializedUserColorSpace)=0 |
| Add a user color space or a user pure view transform to the native catalog manager from a serialized version. More... | |
| virtual SynStatus | serializeUserColorSpace (const char *uniqueName, UserColorSpaceSerializer &writer) const =0 |
| Serialize the user defined color space in XML. More... | |
| virtual SynStatus | removeUserColorSpace (const char *uniqueName)=0 |
| Remove a previously added user color space from the native catalog manager. More... | |
| virtual bool | isUserColorSpace (const char *uniqueName) const =0 |
| Checks if a color space is a user defined color space. More... | |
Static Public Member Functions | |
| static NativeCatalogManager & | instance () |
| Get the catalog manager. More... | |
Private Member Functions | |
| NativeCatalogManager (const NativeCatalogManager &other) | |
| Forbidden copy constructor. More... | |
| NativeCatalogManager & | operator= (const NativeCatalogManager &other) |
| Forbidden assignment operator. More... | |
SynColor transform catalog manager.
The SynColor native transform catalog can be used to create native color transform templates and permits adding and removing additional transforms to the template system.
The catalog manager looks at all CTF files in the Autodesk SynColor transform collection and in the shared transform directory defined in the SynColor configuration (see SYNCOLOR::getSharedColorTransformPath() ). If metadata is present in these files, the manager determines which of the various template parameters (eg. working spaces, input color spaces and viewing transforms) the transform corresponds to.
If a transform is added to the catalog manager, this transform will be available as template parameters of the corresponding type. When a transform is added, a wrapper CTF file containing the required metadata and referencing the added transform is added in the shared transform directory.
| typedef SynStatus(* SYNCOLOR::NativeCatalogManager::ConnectionSpaceCallback)(const char *name) |
Callback function to obtain the list of connection color spaces.
This callback is called once per available connection space. A connection space must be specified when adding a user color space to the catalog manager.
| name | Connection space name. |
|
private |
Forbidden copy constructor.
| other | N/A. |
|
static |
Get the catalog manager.
|
pure virtual |
Create a native color transform template of the specified type.
| type | Template type. See SYNCOLOR::TemplateType. |
| pTemplate | Returned template instance. |
|
pure virtual |
Refresh the catalog.
This method reloads the transform catalogs and by default, rebuilds the shared transform directory catalog.
|
pure virtual |
Connection space list.
A connection space must be specified when adding a transform to the catalog manager. With the help of the ConnectionSpaceCallback, the list of connecting spaces is made available for UI selection.
| type | Color space type. See SYNCOLOR::UseColorSpaceType. |
| cb | Callback instance. |
|
pure virtual |
Add a user color space to the native catalog manager.
A wrapper CTF file containing the specified metadata and referencing the added transform is added in the shared transform directory. This ensures that the transform remains in the catalog manager across application sessions.
| type | Color space type. See SYNCOLOR::ColorSpaceType. |
| connectionSpace | Color space connecting the new transform to a known reference. This corresponds to:
|
| uniqueName | Unique name of the new transform. This name will appear in the template parameter list corresponding to the type. As its name implies, this name must be unique. |
| userFacingName | User facing name of the new transform. This name is only meant to be displayed in the UI. This name is not required to be unique. |
| hierarchy | hierarchy of the new transform. This value will be used to organize the transform in hierarchical groups. NULL or empty string can be used to place the new transform at the root of the hierarchy. |
| displayType | specifies the type attribute for user displays only. This is a noop for other type of color spaces. |
| imageState | specifies the image state attribute for user input color space. This is a noop for other type of color spaces. |
| transformPath | File path of the user color space transform. |
| useResolvedTransform | Whether the definition contains a reference to the user color space transform or a self-contained resolved version of the user color space transform. |
|
pure virtual |
Add a user pure view transform to the native catalog manager.
A wrapper CTF file containing the specified metadata and containing the added transform is added in the shared transform directory. This ensures that the transform remains in the catalog manager across application sessions.
| inputSpace | is the input color space of the pure view |
| outputSpace | is the output color space of the pure view |
| uniqueName | Unique name of the new transform. This name will appear in the template parameter list corresponding to the type. As its name implies, this name must be unique. |
| userFacingName | User facing name of the new transform. This name is only meant to be displayed in the UI. This name is not required to be unique. |
| hierarchy | hierarchy of the new transform. This value will be used to organize the transform in hierarchical groups. NULL or empty string can be used to place the new transform at the root of the hierarchy. |
| lut3dInterpolation. | If the user's LUT includes any Lut3DOps, the SynColor InterpolationAlgo member variable of those ops is set to the requested value. |
| transformPath | File path of the user color space transform. |
|
pure virtual |
Add a user color space or a user pure view transform to the native catalog manager from a serialized version.
A user color space can be created externally without using the SynColor API methods: SYNCOLOR::addUserColorSpace() or SYNCOLOR::addUserPureViewTransform(). For example, a user color space can be defined in a color transform file (.ctf) using a text editor, providing that the following minimally required metadata information is present:
The transform's "ProcessList" element must contain an "Info" child element.
For "Input", "InputTagOnly", "LogWorkingSpace", "SceneLinearWorkingSpace", or "VideoWorkingSpace" color space tag, the user defined color space unique name must be specified in the Info/InputSpace/ShortName child element, whereas the connecting space must be specified in the Info/OutputSpace/ShortName child element:
| serializedUserColorSpace | A serialized user color space. |
|
pure virtual |
Serialize the user defined color space in XML.
| uniqueName | Name of the user color space to be serialized. |
| writer | The writer to receive the UTF-8 string containing XML formatting |
|
pure virtual |
Remove a previously added user color space from the native catalog manager.
| uniqueName | Name of user color space to be removed. |
|
pure virtual |
Checks if a color space is a user defined color space.
| uniqueName | Unique name of the color space to check. |
|
private |
Forbidden assignment operator.
| other | N/A. |