Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

Next Page > Hide TOC

Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

iMovie Plug-ins

Important: The information in this document is obsolete and should not be used for new development.

In addition to the basic movie editing capabilities such as cutting, adding, and rearranging frames, iMovie provides access to a number of enhancements such as titles, effects, and transitions. For example, in the Titles pane, the user can enter title text and pick from various title treatments, as shown below.


image: ../art/imovie_titles01.jpg

These enhancements are provided by plug-ins that use the plug-in architecture built into iMovie. For example, as shown in the figure above, the user might enter a movie title and select Flying Words. Clicking Preview would then cause iMovie to start the Flying Titles plug-in, which would then render the title frames in the iMovie monitor.

These enhancements are provided by plug-ins that use the plug-in architecture built into iMovie. For example, as shown in figure 1, the user might enter a movie title and select Flying Words. Clicking Preview would then cause iMovie to start the Flying Titles plug-in, which would then render the title frames in the iMovie monitor.

iMovie provides support for plug-ins as well as an application programming interface (API) that allows you to write your own plug-ins. The plug-in architecture allows you to take advantage of the built-in user interface elements such as directional buttons common to many plug-ins, and it allows you to add UI elements required by your plug-in.

At startup, iMovie finds and loads all valid plug-ins. After successfully loading a plug-in, iMovie communicates with it only when necessary. This communication starts when the user selects a service from the menu in the Titles, Transitions, or Effects pane .

From the perspective of the plug-in, this communication typically takes place during a session that includes three phases: initialization, processing, and termination. There can be multiple instances of a single plug-in (for example, rendering instances, in-line proxies in the iMovie that can be ”played through”, and preview instances). All three phases are performed for each plug-in instance.

Note that you can attach data to the instance pointer using the API, but be very careful about GLOBAL data because of re-entrancy issues (several instances may start before any of them finish).

The following sections provide details of how you write a plug-in to communicate properly with iMovie.

Contents:

Plug-in Overview
Loading plug-ins
Initialization Phase
Processing Phase
Termination phase
Title Plug-ins
Transition Plug-ins
Effect Plug-ins




Next Page > Hide TOC


Last updated: 2007-09-04




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice