Jump To:
Leopard Technical Q&As
Carbon is a set of C APIs offering developers an advanced user interface tool kit, event handling, the Quartz 2D graphics library, and multiprocessing support. Developers have access to other C and C++ APIs, including the OpenGL drawing system and the Mach microkernel.

A guided introduction and learning path for developers new to Carbon.   Essential information for developers using procedural C.   C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sorted by
Date
QuickTime Audio - Easy Frequency Level Metering with MovieAudio APIs (HTML)
QA1459: Describes how to perform frequency band level metering using MovieAudio metering APIs.
QuickTime 2009-01-29
FSDeleteObject fails with fBsyErr, sometimes (HTML)
QA1497: Why Spotlight indexing can cause file deletion to fail, and what to do about it.
File Management 2008-09-24
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Events & Other Input, Process Management, Resource Management 2008-09-24
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Performance 2008-09-16
Expanding Tilde-based paths (HTML)
QA1549: Demonstrates how to resolve tilde-based relevant paths.
File Management 2008-09-08
Getting the pixel data from a CGImage object (HTML)
QA1509: Describes how to access the pixel data of a CGImage object
Games, Graphics & Imaging 2008-08-27
Gathering all PostScript Printer Descriptions (PPDs) (HTML)
QA1529: Describes a work around for an issue in PMCopyAvailablePPDs on Mac OS X 10.4 and below
Printing 2008-08-08
Registering and unregistering for sleep and wake notifications (HTML)
QA1340: Explains how applications can register and unregister for sleep and wake notifications on Mac OS X.
Resource Management 2008-08-08
Requirements for Quartz GL (HTML)
QA1536: Describes the requirements for enabling Quartz GL.
Games, Graphics & Imaging, Performance, User Experience 2008-08-08
Using QTPixelBufferContextCreate with NewMovieFromProperties (HTML)
QA1443: Discusses using a QuickTime pixel buffer visual context and NewMovieFromProperties to output frames to pixel buffers.
QuickTime 2008-08-08
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Internet & Web, Networking 2008-06-03
Determining console user login status (HTML)
QA1133: How to determine whether a user is logged in on the console, and be notified of changes.
Process Management 2008-04-14
Bonjour Printer Subtype for HTTP (HTML)
QA1555: Describes how printer vendors can register their bonjour service such that Safari can see them.
Networking 2008-03-25
How to work around HIMovieViewCreate failing (HTML)
QA1417: Describes how to work around HIMovieViewCreate failing to initialize the view in QuickTime 7
QuickTime 2008-03-11
Suppressing the "unexpectedly quit" alert (HTML)
QA1288: Describes how to suppress the "unexpectedly quit" alert.
User Experience 2008-03-11
Customizing Process Stack Size (HTML)
QA1419: Describes methods for setting the stack size of a process and/or thread.
Process Management, Resource Management 2008-02-20
AGL Changes for Mac OS X Leopard (v. 10.5) (HTML)
QA1523: This Q&A describes the new and deprecated APIs for Apple OpenGL (AGL)
Games, Graphics & Imaging 2008-01-04
Don't forget to cancel your Bonjour resolve (HTML)
QA1297: Explains why it's important to cancel a Bonjour resolve operation.
Networking 2007-08-30
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Graphics & Imaging, Printing 2007-08-02
CGBitmapContextCreate Supported Color Spaces (HTML)
QA1037: Lists the color space and alpha info combinations currently supported by CGBitmapContextCreate.
Games, Graphics & Imaging 2007-07-18
Printer Queue vs. Printer Name (HTML)
QA1407: Explains the difference between a printer queue and a printer name.
Printing 2007-04-26
Availability of Quartz Composer Patches in Web Kit (HTML)
QA1505: Details which Quartz Composer patches are available in Web Kit
Internet & Web 2007-03-05
Advertising a Bonjour service on a specific set of networking interfaces. (HTML)
QA1513: Explains how to register a Bonjour service only on a specific set of networking interfaces.
Networking 2007-02-12
The header file 'alut.h' is missing from the OpenAL framework. (HTML)
QA1504: ALUT headers were removed from OpenAL.framework with the Xcode 2.4. This Q&A describes how to regain access to those system-supplied symbols
Audio 2007-02-06
How can I determine the order of the languages set by the user in the Language tab of the International preference pane? (HTML)
QA1391: Retrieving the order of the languages set by the International preference pane in Cocoa, Carbon, and Terminal.
Internationalization 2006-12-19
Security Framework Error Codes (HTML)
QA1499: Explains how to interpret errors returned by the Security Framework with an overview of Security error handling.
Security 2006-11-16
Why am I getting a bdNamErr when trying to use a file I just located? (HTML)
QA1392: Describes the problem caused by different forbidden characters in POSIX and HFS and a solution around the problem.
File Management 2006-11-14
Why is my application crashing in QuickDraw when I'm not using it? (HTML)
QA1256: provides an explanation and workaround for a rare but serious problem affecting all applications.
Human Interface Toolbox 2006-11-13
Compression Sessions - Multipass encoding and the pass mode flags (HTML)
QA1457: Discusses how the pass mode flags work when performing multipass compression operations.
QuickTime 2006-10-02
Losing the character code when using the control key (HTML)
QA1446: Explains why the control key transforms the character code instead of simply setting the appropriate modifier bit.
Human Interface Toolbox, Text & Fonts 2006-07-17
Changing the volume of audio devices (HTML)
QA1016: Demonstrates volume controls for audio devices
Audio 2006-05-02
Enumerating fonts with ATS (HTML)
QA1471: Describes the different ATS font enumeration methods
Text & Fonts 2006-04-14
CoreAudio Overload Warnings (HTML)
QA1467: Describes CoreAudio overload warnings what they mean and how to avoid them.
Audio 2006-03-29
ColorSync Color Matching on Intel-based Macs (HTML)
QA1464: Describes special considerations for byte ordering when performing ColorSync color matching on Intel-based Macs
Graphics & Imaging 2006-03-16
Sequence Grabber preallocates large file when recording (HTML)
QA1411: Describes how to prevent the Sequence Grabber from filling your entire disk when recording.
QuickTime 2006-02-06
Compression Sessions - Configuring options using the Standard Compression dialog (HTML)
QA1456: Discusses how to configure Compression Session options using Standard Compression dialog.
QuickTime 2006-01-12
Compression Sessions - Enabling muti-pass encoding (HTML)
QA1450: Describes how to enable multi-pass encoding when using ICM compression sessions.
Graphics & Imaging, QuickTime 2006-01-12
Compression Sessions - Temporal compression options (HTML)
QA1455: Discusses the temporal compression option as it relates to quality and other compression session options.
QuickTime 2006-01-12
Debugging Graphics with QuartzDebug (HTML) (日本語 HTML)
QA1236: Explains how to use QuartzDebug to debug graphics issues.
Graphics & Imaging 2006-01-12
Decompression Sessions - Setting codec accuracy and field mode (HTML)
QA1460: Describes how to set codec accuracy and field mode options when creating a decompression sessions.
QuickTime 2006-01-12
Setting default open Finder window (HTML)
QA1449: How to set the default Finder window to open when a disk is mounted
File Management, Human Interface Toolbox 2006-01-03
How can I handle smooth mouse wheel scrolling? (HTML)
QA1453: Details an undocumented Carbon Event which will be added to the public headers in a later DevTools release.
Events & Other Input, Human Interface Toolbox 2005-11-29
Compression Sessions - Configuring codec quality settings (HTML)
QA1444: Discusses how to set encoding quality for a Compression Sequence
QuickTime 2005-10-17
StopAlert and NoteAlert now use the Application icon (HTML)
QA1378: System Alerts now use the Application icon to let the User easily identify the source of the alert.
Human Interface Toolbox, User Experience 2005-10-04
Implementing a CVFillExtendedPixelsCallBack (HTML)
QA1440: Discusses how you implement a Core Video custom extended pixel fill callback function.
QuickTime 2005-09-06
Registering custom pixel formats with QuickTime and Core Video (HTML)
QA1401: Discusses how to register custom pixel formats with QuickTime & Core Video with QuickTime 7.
QuickTime 2005-09-06
Why am I not receiving kEventControlHit events for some of the parts of my custom HIView? (HTML)
QA1439: Explains why part codes greater than 127 should not be used
Human Interface Toolbox 2005-07-14
Problems getting Bonjour TXT record information (HTML)
QA1389: Explains why you might have problems retrieving TXT record information from a CFNetServiceRef or NSNetService.
Networking 2005-07-06
Carbon Drawer problem in Mac OS X v10.4 and v10.4.1 (HTML)
QA1435: Workaround for a drawer problem present in Mac OS X v10.4 but fixed in v10.4.2
Human Interface Toolbox 2005-06-21
Unified window title and toolbar appearance in Carbon (HTML)
QA1423: How to use the unified window title and toolbar appearance for a Carbon window.
Human Interface Toolbox, User Experience 2005-06-17
Weak Linking To Spotlight (HTML)
QA1422: Describes a problem with weak linking to Spotlight (the Metadata framework), and its solution.
File Management 2005-06-03
Why is my Control/HIView not accepting drops on Mac OS X v10.4 (Tiger)? (HTML)
QA1426: Explains how to handle correctly the kEventControlDragEnter event so drops will work in a Control or HIView.
Human Interface Toolbox 2005-04-29
iSight - Configuring gain settings for IIDC cameras (HTML)
QA1421: Discusses how to configure features of IIDC cameras, specifically gain for the iSight
QuickTime 2005-04-06
Crash in ABAddPropertiesAndTypes (HTML)
QA1404: How to correctly add custom Address Book properties using ABAddPropertiesAndTypes
Apple Applications 2005-04-04
Help Book Caching During Software Development (HTML)
QA1409: Development situations that can potentially confuse Help Viewer
Tools 2005-03-30
Defining and Using the kTransformFocused IconTransformType (HTML)
QA1414: Documents a new IconTransformType, available in Panther and later, which draws a focus ring around an icon.
Human Interface Toolbox 2005-03-29
Movie Export Component - How to ensure Final Cut Pro recognizes your exporter (HTML)
QA1415: Explains how to make sure Final Cut Pro will recognizes a custom QuickTime movie export component.
QuickTime 2005-03-08
Movie Export - Always fill in the MovieExportGetDataParams dataSize field (HTML)
QA1304: Outlines the importance of correctly filling in the MovieExportGetDataParams dataSize field when exporting from procedures.
QuickTime 2005-02-25
Storing file references in CFPreferences (HTML)
QA1350: Storing file references in CFPreferences
Runtime Architecture 2005-02-23
Using language-tagged QuickTime UserData text APIs with CFStrings (HTML)
QA1410: Describes how to use language-tagged QuickTime UserData text APIs with CFStrings and TextEncodings.
Core Foundation, QuickTime 2005-02-11
CFBundleIdentifier and user application access (HTML)
QA1373: Describes the role of CFBundleIdentifier in limiting a user's application access.
Design Guidelines, Security 2005-02-08
Public UTIs supported by Mac OS X v10.3 (HTML)
QA1406: Lists the public UTIs (Uniform Type Identifiers) used by the Pasteboard in Mac OS X v10.3.
Interapplication Communication 2005-02-08
Context Sharing Tips (HTML) (日本語 HTML)
QA1248: How to correctly share OpenGL contexts and what the limits on this sharing are.
Games, Graphics & Imaging 2005-02-07
Resolves may return an IPv6 address in Panther (HTML)
QA1298: Explains why you get an IP address of 0.0.0.0 when resolving a Bonjour service.
Networking 2005-01-10
Sequence Grabber - Determining the capture resolution of an IIDC device (HTML)
QA1403: Discusses how to determine the resolution of a captured image from an IIDC device
QuickTime 2005-01-06
My custom item dismisses my Navigation Services dialog (HTML)
QA1381: Gives a workaround for dismissive clicks on items in the custom area of Navigation Services dialogs.
File Management, Human Interface Toolbox, User Experience 2004-11-22
Sending an Email (HTML)
QA1084: Shows how to create an email in the user's prefered email application.
Interapplication Communication, Internet & Web, Networking 2004-11-05
Private HITheme APIs in Mac OS X 10.2 should not be called (HTML)
QA1377: Explains why weak-linked API common runtime check is not good enough for the HITheme APIs.
Human Interface Toolbox 2004-10-27
Sorting Like the Finder (HTML)
QA1159: Shows how to sort strings like the Finder's list view.
File Management, Text & Fonts 2004-10-27
Preventing sleep (HTML)
QA1160: Explains how your application can prevent the system from sleeping.
Resource Management 2004-10-22
Enabling the Navigation Services default behavior in its dialogs (HTML)
QA1384: Explains how to enable the default behavior of the Navigation Services dialogs.
File Management, Human Interface Toolbox 2004-10-15
Fixing the Layout Binding of the Tab control User Panes (HTML)
QA1161: Describes the Tab control hierarchy and layouts of its panes and provides a fix to a common problem.
Human Interface Toolbox 2004-10-14
Managing custom drawing code in a compositing world (HTML)
QA1162: Explains why any custom drawing code must be handled by the kEventControlDraw handler of a custom HIView
Human Interface Toolbox 2004-10-14
Clickable Static Text Item (HTML)
QA1380: Explains how to make a static text item respond to clicks
Human Interface Toolbox, User Experience 2004-10-05
SetFontInfoForSelection incorrect prototype (HTML)
QA1375: Describes the incorrect prototyping of the SetFontInfoForSelection API and gives a workaround.
Events & Other Input, Human Interface Toolbox, Text & Fonts, User Experience 2004-10-04
Adding a movie reference to a movie (HTML)
QA1376: Demonstrates how to add a reference for a movie to another movie
QuickTime 2004-09-16
Movies - Saving movie playback hints (HTML)
QA1366: Explains how to save and load media play hints from Movie files.
QuickTime 2004-09-14
Avoiding Pauses When Looping Audio files with QuickTime (HTML)
QA1371: Demonstrates how to avoid pauses when looping audio files with QuickTime
Audio 2004-09-08
Bonjour enforces the TXT record format in Panther (HTML)
QA1306: Explains how mDNSResponder enforces the proper TXT record format in Panther.
Networking 2004-07-14
Updating the TXT record of a Bonjour service (HTML)
QA1302: Explains how to update a Bonjour TXT record while running on either Jaguar or Panther.
Networking 2004-07-14
Dynamically registering a bundled component (HTML)
QA1083: Describes how to dynamically register a Component which resides in an Application bundle.
Core Foundation, QuickTime 2004-06-07
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Networking 2004-06-01
Avoiding the -42 error with DiscRecording (HTML)
QA1292: Explains how to workaround the -42 error when using the DiscRecording API.
File Management 2004-05-25
Directories Appear as Volume Aliases (HTML)
QA1351: Discusses how VFS plug-ins should handle device numbers to ensure compatibility with Carbon applications.
File Management 2004-05-25
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Networking 2004-03-23
Use the Computer Name when registering your Bonjour service (HTML)
QA1228: Explains why you should use the Computer Name when advertising a Bonjour service.
Networking 2004-03-05
X11 FAQ (HTML) (日本語 HTML)
QA1232: Frequently Asked Questions about using Apple's X Window System (X11) implementation.
Human Interface Toolbox 2003-11-17
Why doesn't my Scrolling Text Box control work in a compositing window? (HTML)
QA1324: Explains why some older controls do not function properly in compositing windows and points to a replacement.
Human Interface Toolbox 2003-11-13
Downloading through a proxy server in Mac OS X (HTML)
QA1296: Explains when downloading through a proxy server will work, and when it will fail.
Networking 2003-10-29
Environment Variables (HTML)
QA1255: Describes how a process gets its environment variables.
Runtime Architecture 2003-10-29
URL Access vs. CFNetwork (HTML)
QA1291: Explains when to choose URL Access or CFNetwork when downloading files from within your application.
Networking 2003-10-29
Why isn't my edit text box in my Navigation dialog's custom area working on 10.3? (HTML)
QA1315: Explains a bug in the Mac OS X 10.3 Navigation Services Custom Area involving the EditText and its work around.
Human Interface Toolbox, User Experience 2003-10-28
Bonjour TXT record rate limiting in Panther (HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
Networking 2003-10-23
Registering a Bonjour service multiple times (HTML)
QA1311: Explains why registering the same Bonjour service twice on the same machine doesn't cause a name conflict.
Networking 2003-10-23
Third party VFS can't unmount on Mac OS X 10.3 (HTML)
QA1308: Describes changes in unmounting behavior for VFS plug-ins under Mac OS X 10.3 "Panther."
File Management 2003-10-23
Bonjour and wake from sleep (HTML)
QA1290: Explains why applications that use Bonjour should stay registered and continue browsing on sleep.
Networking 2003-09-18
NSL and how it relates to Bonjour (HTML)
QA1299: Explains the relationship between NSL and Bonjour.
Networking 2003-09-18
CFXML to CFPropertyListRef (and back!) (HTML) (日本語 HTML)
QA1208: Describes to how save and restore a CFPropertyListRef to and from an XML file.
Data Management 2003-08-29
Non Mac OS X Bundled data-fork based Resources (HTML) (日本語 HTML)
QA1098: Mac OS X Bundled data-fork based Resources
Data Management, Design Guidelines, File Management, Process Management, Resource Management, Runtime Architecture 2003-08-20
Filtering QuickTime media types in Navigation Services (HTML) (日本語 HTML)
QA1274: Describes how to filter QuickTime media types in a Navigation Services filter procedure.
Human Interface Toolbox 2003-07-23