Retired Document
Important: This document may not represent best practices for current development. Links to downloads and other resources may no longer be valid.
What’s New
This section lists the new features available with version 2.5 of the ColorSync Manager, provides links to new and revised material in other sections, and summarizes changes to ColorSync functions, data types, and constants. It also contains a brief summary of features that were added for ColorSync 2.1.
This section includes the following:
New Features in ColorSync Manager Version 2.5 lists the features new to version 2.5 and provides links to new and revised material.
New and Revised Functions, Data Types, and Constants provides tables that include a brief description of all new and changed functions, data types, and constants, as well as links to more detailed descriptions.
New and Revised Code Listings describes new and revised code listings for ColorSync 2.5.
New Features in ColorSync Manager Version 2.1 lists the features new to ColorSync version 2.1.
Other Color Documentation explains where you can find information on earlier versions of ColorSync, and on other color technologies such as the Color Picker Manager.
For related information, see Document Revision History and About This Document.
New Features in ColorSync Manager Version 2.5
Version 2.5 of the ColorSync Manager provides many new or enhanced features. The following sections present a brief overview of these features, with links to detailed information in other sections.
New Profile Folder Location
Earlier versions of ColorSync placed the ColorSync Profiles folder inside the Preferences folder. Version 2.5 places the profiles folder at the first level inside the System folder. For backward compatibility, ColorSync may put an alias to the original folder location inside the new profiles folder.
You can now organize profiles by storing them in one level of subfolders within the profiles folder. You can also store aliases to other profiles and profile folders. Profile searching can find profiles in any of these locations.
For an overview of this and related topics, see:
The function description for
NCMGetProfileLocation
Optimized Profile Searching
ColorSync 2.5 uses a cache file to keep track of currently-installed profiles. A flexible new routine, CMIterateColorSyncFolder
, takes advantage of the profile cache to perform fast profile searches and provide profile information quickly.
For an overview of this topic, see:
For related information, including sample code that demonstrates optimized searching, see:
The function description for
CMIterateColorSyncFolder
Monitor Calibration Framework and Per/Monitor Profiles
ColorSync 2.5 uses the Monitors & Sound control panel to provide a monitor calibration framework and per/monitor profiles. Among the features: you can select a separate profile for each available monitor; you can calibrate monitors and, for each monitor, create one or more color profiles (based on variations in gamma, white point, and so on); Apple provides a default calibration plug-in, but you can create your own calibration plug-in or use third-party versions; you can choose from any available calibrator to create a monitor profile.
For an overview of these features, see:
Starting with version 2.5, ColorSync also offers new features for working with displays: you can call ColorSync functions to get or set a monitor profile by AVID; you can use an optional profile tag, which you specify with the cmVideoCardGammaTag
constant, to provide video card gamma data for a profile—when you call the function CMSetProfileByAVID
, it retrieves the video card gamma data and sets the video card.
For sample code that uses the function CMGetProfileByAVID
, see:
For an overview of video card gamma, see:
For descriptions of the data types and constants you use with video card data, see ColorSync Manager Reference.
Scripting Support
ColorSync 2.5 provides an extensible AppleScript framework that allows users to script many common tasks. Among the features:
Scriptable operations include setting the system profile, matching an image, and embedding a profile in an image.
Several sample scripts demonstrate how to automate repetitive tasks.
The scripting framework uses a plug-in architecture that is fully accessible to third-party scripting plug-ins.
For more information, see:
Multiprocessor Support
ColorSync’s default Color Matching Module, or CMM, now supports multiple processors for some color matching functions. Multiprocessor support is transparent to your code—it is invoked automatically when the required conditions are met. Matching algorithms take advantage of multiple processors with up to 95% efficiency. As a result, an operation can be performed nearly twice as fast when two processors are available. Performance is scalable.
For more information on this topic, see:
Sixteen-bit Channel Support
ColorSync’s default Color Matching Module now supports 16-bits-per-channel color spaces. The new formats supported are:
RBG stored in 48 bits per pixel
CMYK stored in 64 bits per pixel
Lab stored in 48 bits per pixel
To make use of these new spaces, you specify one of the following constants in the color space field (space
) of the CMBitmap
structure:
cmRGB48Space |
cmCMYK64Space |
cmLAB48Space |
For more information on these constants, see ColorSync Manager Reference.
Flexibility in Choosing CMMs and Default Profiles
The ColorSync control panel, which replaces the ColorSync™ System Profile control panel, now lets you choose a preferred CMM from any CMMs that are present.
Related changes include the following:
ColorSync previously supported only one default profile—the RGB System profile. Users can now use the ColorSync control panel to set default profiles for RGB and CMYK color spaces as well.
ColorSync provides functions your code can call to get and set default color space profiles for RGB, CMYK, Lab, and XYZ color spaces.
For more information, see:
ColorSync Manager Reference
Additional Features
Version 2.5 of the ColorSync Manager ships with the following additional features:
The Kodak Color Matching Module (available as an install option). Some cross-platform applications use the Kodak Color Management System on the Windows platform. Users working with Macintosh versions of those applications can use the Kodak CMM to ensure consistent output.
New versions of the ColorSync Photoshop plug-ins that take advantage of ColorSync 2.5. The Filter plug-in is accessible from the Photoshop Filters menu, while the Export and Import filters are accessible from the File menu.
Commonly-requested profiles, including SWOP (standard web offset press) and sRGB (standardized RGB monitor).
Support for an optional video card gamma tag in profiles. For more information, see Monitor Calibration Framework and Per/Monitor Profiles.
A ColorPicker Manager extension that works with ColorSync 2.x.
A revised version of the CSDemo application provides sample code that demonstrates how to use many of the new features of ColorSync 2.5.
New and Revised Functions, Data Types, and Constants
The tables in this section provide a brief description of new and changed functions, data types, and constants in ColorSync version 2.5, as well as links to more detailed information.
Table 8-1 shows new and revised functions.
Table 8-2 shows new and revised data types.
Table 8-3 shows new and revised constants.
Function | Version 2.5 Notes |
---|---|
| New. Obtains either a profile location structure for a specified profile or the size of the location structure for the profile. Has parameter to specify size of location structure. |
| Not recommended. Use NCMGetProfileLocation (page 233) instead. |
| Changed. The ColorSync Manager now calls the transfer function directly, without going through the preferred, or any, CMM. |
| Changed. The ColorSync Manager now calls the transfer function directly, without going through the preferred, or any, CMM. |
| Changed. Use of the system profile has changed, as described in Setting Default Profiles. This could affect use of |
| Changed. Selection of preferred CMM has changed, as described in Setting a Preferred CMM and How the ColorSync Manager Selects a CMM. |
| Changed. Selection of preferred CMM has changed, as described in Setting a Preferred CMM and How the ColorSync Manager Selects a CMM. |
| Changed. Selection of preferred CMM has changed, as described in Setting a Preferred CMM and How the ColorSync Manager Selects a CMM. |
| Changed. Now supports additional color space constants: |
| Changed. Use of the system profile has changed, as described in Setting Default Profiles. This could affect use of |
| Changed. Use of the system profile has changed, as described in Setting Default Profiles. This could affect use of |
| New. Identifies the preferred CMM specified by the ColorSync control panel. |
| Changed. Use of the system profile has changed, as described in Setting Default Profiles. |
| Changed. Use of the system profile has changed, as described in Setting Default Profiles. |
| New. Gets the default profile for the specified color space. |
| New. Sets the default profile for the specified color space. |
| New. Gets the current profile for a monitor. |
| New. Sets the current profile for a monitor. |
| Changed. The name and location of the profile folder changed, as described in Profile Search Locations. |
| New. Provides optimized profile searching by iterating over available profiles. |
| Not recommended. Use |
| Not recommended. Use |
| Not recommended. Use |
| Not recommended. Use |
| Not recommended. Use |
| New. Application-defined function that the |
| Changed. The ColorSync Manager calls the function directly, without going through the preferred, or any, CMM |
Table 8-2 shows new and revised data types.
Table 8-3 shows new and revised constants.
New and Revised Code Listings
This section provides a brief description of new and revised code listings.
Listing | Version 2.5 Notes |
---|---|
Revised. Checks for version 2.5. | |
Revised. Replaced profLoc.u.file.spec with profLoc.u.fileLoc.spec. | |
New. Provides the | |
Revised. Returns | |
New. Uses the new | |
Revised. Formerly called both | |
Revised. Formerly called both | |
Listing 4-8, Embedding a profile by prepending it before its associated picture | Revised. Uses |
Revised. Renamed bottleneck procedures for clarity. | |
Listing 4-10, Calling the CMUnflattenProfile function to extract an embedded profile | Revised. Uses |
Listing 4-13, An iteration function for profile searching with ColorSync 2.5 | New. Provides an iteration function for optimized profile searching with the new |
Listing 4-14, A filter function for profile searching prior to ColorSync 2.5 | New. Provides a filter function to perform profile searching with the |
Listing 4-15, Optimized profile searching compatible with previous versions of ColorSync | New. Provides sample code that performs an optimized profile search if ColorSync 2.5 is available, but provides a compatible (though not optimized) search if it is not. |
Listing 5-1, Modifying a profile header’s quality flag and setting the rendering intent |
New Features in ColorSync Manager Version 2.1
This section describes new features added to version 2.1 of the ColorSync Manager. These features are documented throughout this document. If you are interested in documentation that covers only version 2.1, see Other Color Documentation.
procedure-based profiles: You can specify your own profile-access procedure that ColorSync will call when the profile is created, initialized, opened, read, updated, or closed.
support for named color spaces: The ColorSync Manager provides data structures and routines for working with named color spaces.
profile identifiers: The ColorSync Manager defines the profile identifier, an abbreviated data structure that identifies, and possibly modifies, a profile in memory or on disk. An embedded profile identifier requires much less space than an entire profile.
additional PostScript support: Postscript Level 2 now supports up to four-component color spaces. This allows the creation of device-independent color space definitions that can support calibrated CMYK spaces and provide more flexible support for calibrated scanner and monitor spaces.
color conversion without components: Color conversion routines are an integral part of the ColorSync Manager and are no longer implemented as a separate component.
support for new bitmap formats: The ColorSync Manager supports bitmap formats for many additional color spaces, including 24-bit RGB, 32-bit RGB with an alpha last channel, and 24-bit Lab.
profile reference counts: The ColorSync Manager maintains an internal reference count for each profile reference so that it can efficiently free private memory associated with that profile reference once it is no longer in use.
profile changed flag: The ColorSync Manager maintains a flag that indicates whether the content of a profile has changed.
speed and accuracy enhancements: You can use a lookup only flag to skip interpolation and speed up runtime color conversion. You can also disable gamut checking to speed up initialization and reduce profile size.
revised sample application: A revised version of the CSDemo application provides sample code that demonstrates how to use many of the new features of ColorSync 2.1.
For a guide to the new features in version 2.1 of the ColorSync Manager, see the document What’s New in Advanced Color Imaging on the Mac OS, available with the ColorSync 2.1 SDK.
Other Color Documentation
For documentation that covers only features available with ColorSync Manager 2.1 and earlier versions, see Advanced Color Imaging on the Mac OS Revised for ColorSync 2.1 and Advanced Color Imaging Reference Revised for ColorSync 2.1. These documents also describe the Color Picker Manager (Version 2.0), Color Manager, and Palette Manager.
An earlier, paper version of Advanced Color Imaging on the Mac OS, covering ColorSync through version 2.0, was published by Addison-Wesley Publishing Company. It has the catalog number ISBN 0-201-48949-X.
Technote 1100, Color Picker 2.1 describes version 2.1 of the Color Picker Manager. Note that Color Picker Manager version 2.1 works with ColorSync Manager versions 2.0 and greater.
The electronic documents described here are available at <http://developer.apple.com/>.
Copyright © 1999, 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-02-01