What's in An Add-on Package?

The Autodesk Softimage SDK allows you package and distribute your customizations by letting you create your own add-on package, or install and uninstall existing add-on packages. Add-on packages can contain:

• Layouts—any custom layout defined in a *.xsily file in the Application/layouts folder under your factory, user, workgroup, factory add-on, user add-on or workgroup add-on location(s).

• Old Toolbars—any custom toolbar created with a version of Softimage prior to v4.0. These toolbars are defined in binary files which generally appear in the Data/Preferences/Toolbars folder under your factory add-on, user add-on or workgroup add-on location(s).

• Shelves/Toolbars—any custom toolbar or shelf defined in a *.xsitb file in the Application/toolbars folder under your factory, user, workgroup, factory add-on, user add-on or workgroup add-on location(s).

• Custom Commands—any custom command implemented as a v1.0 plug-in (where the command is explicitly installed in Softimage instead of implemented as part of a self-installing plug-in module).

• Presets—preset files are directly related to SPDL files and can be created in one of these ways:

- right-clicking a SPDL file in the plug-in tree and choosing Regenerate Preset

- explicitly registering a SPDL file in Softimage using the command line or the Plugins (SPDL) dialog

- saving a preset of a custom property set defined on-the-fly in Softimage

- using the RegisterSPDL (XSIUtils) method with the GeneratePreset argument set to true

• SPDLs—SPDL files contain the definition of a Softimage property set in a special ASCII format. SPDL files are the persisted versions of self-installing custom properties (see SPDL Reference) and can be installed in one of these ways:

- automatically by Softimage if the SPDL is installed in a standard location, such as the User location or a workgroup

- using the command line

- using the Plugins (SPDL) dialog

- using the RegisterSPDL (XSIUtils) method

• Libraries—any library files which contain the implementation of self-installing plug-in modules or v1.0 plug-in items.

• Scripts—any script files which contain the implementation of self-installing plug-in modules or v1.0 plug-in items.

• Events—any implementation files used for custom events.

• Plug-ins—custom elements implemented as a self-installing plug-in module (see What is a Self-Installing Plug-in?).

• Other—any file not falling under one of the above categories, such as a device description file (*.xsidevice), a help file (*.html, *.hlp, *.chm, etc.) or an image file (*.bmp, *.jpg, etc.)

| The difference between an add-on and a plug-in is that an add-on is a set of plug-ins packaged together for easy installation, and a plug-in is a single item that extends the functionality of Softimage, such as a shader, a script, or a compiled operator.

Versioning

Add-ons currently have no built-in versioning.

Each time the contents of an Add-on directory are updated, you need to repackage a new version of the add-on. To help keep track of multiple versions of .xsiaddon files, it is recommended that the version number or date be included in the file name (for example, MyTool.v12..xsiaddon or MyTool.12May2005.xsiaddon).

Typically, it is not possible to install multiple copies of an .xsiaddon at the same time, so each user should uninstall the older version of the .xsiaddon before installing a newer version.

| Each time you repackage an add-on, you need to carefully consider any backwards-compatibility issues. For example, scenes saved with an older version of a shader cannot be loaded if there are substantial changes to shader parameter definitions.

Directory Structure

The user path is where you would typically save your customization, install your plug-ins and add-ons, etc. Here is a typical tree-view of its contents:

In addition to the customization folders that appear in this tree, there may also be a number of other folders that appear under the Application folder to represent custom plug-ins, such as properties, filters, menus, etc.

Addons

The folder structures under the Application and Data folders may be mirrored under the Addons folder for installed add-ons or self-installed plug-ins. This happens when an add-on with a subdirectory specified is installed.

Application

The Application folder contains extensions and customization for Softimage:

Subfolder name | Description of contents
bin | Implementation files for your compiled shader. Inside this folder, Linux libraries appear under linux-x86 or linux-x86-64 and Windows libraries appear under nt-x86 or nt-x86-64.
Plugins | Drop-location for self-installing plug-ins. Scripted plug-ins can be put directly in this folder and compiled plug-ins appear in the platform-specific folders under a bin subfolder. Inside this folder you may also include the doc subfolder to house your help files for your plug-ins. If you store your help file in this location it is not necessary to explicitly specify the location to the PluginRegistrar. Note: You can create subfolders in this location that can contain files that implement helper functions for the main plug-in files. To speed up loading time, you can turn off the Scan sub-folders preference to tell Softimage not to scan these folders for self-installing plug-ins libraries; however, the platform-specific folders are not affected by this preference.
Properties | Plug-in based Custom Property implementation files as well as a doc folder for your help file.
Filters | Plug-in based Filter implementation files as well as a doc folder for your help file.
Menus | Plug-in based Menu implementation files as well as a doc folder for your help file.
spdl | Installed SPDL files. When you register your SPDL file, Softimage copies it into this directory (no matter where it originated).
CommandMaps | Custom keyboard mapping files (*.DSDynamicCommandMap). When you change the key assignments in Softimage, you can save your modifications to a custom file which appears in this directory.
layouts | Custom layout files (*.xsily). When you create your own layouts, Softimage creates an XML file containing the information and stores it here.
toolbars | Custom toolbar and shelf files (*.xsitb). When you create your own toolbars and shelves, Softimage creates an XML file containing the information and stores it here.
views | Custom view files (*.xsivw). When you create your own views, Softimage creates an XML file containing the information and stores it here.

Data

The Data folder contains presets, preference sets and scripts for Softimage:

Subfolder name | Description of contents
DSPresets | Preset files for Softimage organized by type: 2DCurves, Constraints, Devices, FCurves, etc. Preset files are binary and use the .Preset extension.
Preferences | User Preferences for Softimage (*.xsipref) stored in a text format. There are also a number of subfolders containing binary keyboard mappings, layouts and toolbars.
Scripts | Container for script files. This is the default location for opening and saving scripts in the Script Editor.

| This directory structure is consistent throughout the Softimage directory locations: • user, factory, workgroup • user add-on, factory add-on, workgroup add-on

| The project directory has a different structure.

Autodesk Softimage v7.5