KCMS CMM Developer's Guide

Requirements For Creating a CMM

A CMM is defined as:

The following steps summarize the requirements for creating a CMM that is a runtime derivative:

  1. Understand the KCMS framework, its general principles, and the SDK "C" interface.

    This manual assumes your understanding of the KCMS framework "C" API functions described in the SDK manual KCMS Application Developer's Guide. Chapter 3, KCMS Framework Operations in this manual, shows you how the KCMS classes implement the framework.

  2. Determine your color management requirements and whether you need to derive from or extend any of the KCMS framework classes to meet those requirements.

    This chapter suggests ways you can use each of the derivable KCMS classes to meet the special requirements of your CMM. See "Why You Might Derive From or Extend a KCMS Class" for details.

  3. Understand the ICC profile format.

    If you want to use the ICC format with different color manipulations, you should familiarize yourself with the ICC profile format. For further discussion, see "Profiles".

  4. Understand the runtime mechanism for derivatives.

    See "Deriving Classes at Runtime".

  5. Understand the CMM naming conventions and the OWconfig file.

    See "Configuration Requirements".

  6. Implement your KCMS framework runtime extensions.

    This manual as well as the KCMS CMM Reference Manual describe the foundation library interfaces. You may also find it helpful to refer to the SDK manual KCMS Application Developer's Guide for information on the KCMS framework API.

  7. Test your CMM.

    In addition to testing your CMM, you can verify that it adheres to the KCMS framework. See the DDK manual KCMS Test Suite User's Guide for details on an optional facility to do this.

  8. Follow registration requirements for your CMM.

    If your profiles are ICC compliant and you intend to make them and/or your CMM available to the public, you must register your CMM Id with the ICC. If your CMM creates attributes for public use, these also must be registered (you don't need to register private attributes). And finally, if you derive from the KcsXform class (see "KcsIO Example"), you must register transform Ids. For details on CMM registration requirements and who to contact, see the ICC profile format specification. The specification to which this version of KCMS conforms is a PostScript file located on-line in /usr/openwin/demo/kcms/docs/icc.ps. Check the web site at http://www.color.org for the most up-to-date version of the specification.