Skip to main content
Skip table of contents

(v13) Registering an alternate CMM with the Harlequin RIP

This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP

Assuming an embedded environment, the locations of instances of alternate CMMs will be known by the Skin and registered with the RIP via a registration call that passes a structure that includes the required function pointers.

In an RIP environment that supports plugins, a more dynamic method of discovery is layered on top of the method used for an embedded environment, but the same functional interface is relevant in that case as well.


At the start-up of the Harlequin RIP, the Skin will call SwRegisterCMM for each instance of CMM it wishes to declare to the RIP. In the usual case there will be only one instance of CMM to register. The sw_cmm_api instance pointers passed to the RIP are in memory allocated by the skin and must remain valid until the RIP exits.

The sw_cmm_api is a C struct defined in the swcmm.h SDK header. The version (within the sw_cmm_api info sub-structure) must be within a range supported by the Harlequin RIP. If it is out of range, the RIP will return an SW_API_VERSION_TOO_OLD or SW_API_VERSION_TOO_NEW error. Normally, the RIP will be backward compatible with older versions of alternate CMMs, but there may be exceptions.

The name and display_name for each instance of the API registered must be unique. Registering an alternate CMM with the same name as one already registered will cause the RIP to return the error SW_API_NOT_UNIQUE.The name is a zero terminated byte sequence. It is used by the RIP when selecting the alternate CMM by passing the name into setpagedevice as described in (v13) The alternate CMM API

The display_name must be UTF-8 encoded, zero terminated, no BOM. An invalid encoding will cause registration to fail with SW_API_BAD_UNICODE. It is expected that the skin will use this name for display purposes. The RIP will not use it except for validating uniqueness. It is also used by the user interface in messages reported to the user.

On success, SwRegisterCMM returns SW_API_REGISTERED.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.