Director Xtra Development Kit


What's an Xtra?

Xtras are code extensions to Adobe applications such as Director and Authorware. For the user, Xtras add custom features to tools they already know how to use. For the developer, Xtras are C-code object modules that use the Xtra Application Programming Interface (API) to extend the functionality of Adobe applications. All Xtra APIs are implemented using the Macromedia Open Architecture (MOA). MOA defines an object model that provides standard ways for applications and extensions to interact.

An Xtra Development Kit (XDK) provides the resources you need to implement Xtras for Adobe products. In addition to documentation, this XDK provides header files for the API supported by Director, and examples of how to implement several kinds of Director Xtra.

If you haven't done so already, you should read the readme file that came with the Director XDK. It contains descriptions of the example files, updated information about API changes, known bugs, and other specific details about this version of the XDK.


Director Xtra Development Overview

There are five categories of Xtras you can create with this XDK: Sprites, Transitions, Lingo, and Tool Xtras. Sprites provide a way to add new media data types. Transitions provide a way to extend the list of available transitions. Script (Lingo) Xtras provide a way to add new commands to the Scripting language. Tool Xtras are used to extend the functionality of the authoring environment. Filter Xtras are used to provide imaging effects to sprites.

You make Xtras available to the application by placing them in the appropriate folder or directory: Xtras can be placed in the folder named "Xtras" inside the same folder where the Director application resides. Director comes with an Xtras folder directory already in the application directory -- do not remove it but instead simply add your Xtras into it. For Shockwave, the location of the Xtras folder depends on which platform you are talking about. Generally speaking, there is a single location for Xtras that works for all the supported browsers for a platform.

Shockwave 7 and later will only load and run Xtras that register themselves as "Safe for Shockwave." If you intend your Xtra to be used with Shockwave, then you need to make sure that it follows the "Safe for Shockwave" guidelines. See Tech Note 13761 at the Adobe support website for more details about this. The support site also has information about Xtra packaging and downloading.


In the documentation

The XDK documentation includes conceptual discussions of the types of Xtras you can create and complete documentation of the API of the Director XDK. The documentation consists of the following sections.


Note on syntax

Much of the documentation still uses C calling conventions, such as:
This->pObj->pInterface->lpVtbl->FunctionOnInterface(This->pObj->pInterface, variable1, &returnVariable2);

The newest additions to the documentation as well as the complete Xtra example projects provided in this XDK are all written in C++ and use the following syntax for the same function call:
pObj->pInterface->FunctionOnInterface(variable1, &returnVariable2);

Note on type conventions

The following type conventions are used throughout this documentation:

Italic type is used to identify new terms where they are defined.

Courier type is used to identify API literals, including class names, method names, function names, type names, macros, and code fragments.

Italic courier type is used to identify parameters to functions and methods.


Copyright © 1995-2008 Adobe Macromedia Software LLC, Inc.