What is a Self-Installing Plug-in?

A self-installing plug-in is a script file or a compiled .dll/.so that implements a function named XSILoadPlugin.

When Softimage starts, it looks in certain folders, such as Application\Plugins, for plug-ins that implement XSILoadPlugin. When Softimage finds a self-installing plug-in, Softimage loads the plug-in and calls its XSILoadPlugin function.

XSILoadPlugin sets some plug-in properties (such as the name of the plug-in and the location of its help file) and then registers the items that the plug-in implements. Plug-in items can be commands, events, filters, menus, properties, as well as custom displays, display passes, and display callbacks.

For example, this XSILoadPlugin registers a command and a menu:

    // JScript
    function XSILoadPlugin( in_pluginRegistrar )
    {
       in_pluginRegistrar.Author = "Command Wizard";
       in_pluginRegistrar.Name = "My Commands";

       // Register command
       in_pluginRegistrar.RegisterCommand("MyCommand","MyCommand");

       // Register a custom menu
       in_pluginRegistrar.RegisterMenu( siMenuMainHelpID, "MyHelp_Menu", false, false );
       in_pluginRegistrar.RegisterMenu(siMenuTbGetPropertyID,"MyProperty_Menu",false,false);

       return true;
    }

For each plug-in item registered in XSILoadPlugin, a self-installing plug-in also implements a number of callback functions. For example, if a plug-in registers a command named “MyCommand”, then the plug-in will also provide an Execute callback, and possibly an Init callback too, for the command.

    // JScript
    // Init and Execute callbacks for the custom command named "MyCommand"
    function MyCommand_Init() {
       // Add arguments to the command
    }

    function MyCommand_Execute() {
       // Implement the command
    }

A self-installing plug-in can also implement an XSIUnloadPlugin function. Softimage calls XSIUnloadPlugin whenever the plug-in is unloaded (for example, from the Plug-in Manager or when Softimage exits). XSIUnloadPlugin allows you to clean up any resources allocated by XSILoadPlugin.

Autodesk Softimage v7.5