Legacy plug-ins expose certain functions so that Softimage can communicate with the implementation library file. These callback functions must have exactly the correct name and parameter signature in order to function properly with Softimage. This section describes the specific signatures for each supported legacy plug-in type (signatures for self-installing plug-ins are described in Callbacks for Self-Installing Plug-ins).
On Linux your functions are automatically exported from your .SO. On Windows you can use the XSIPLUGINCALLBACK macro instead of explicitly exporting them in a DEF file.
To use the XSIOnEventCPP callback function to declare your event handler
You need to implement this routine in your DLL or SO file:
XSIPLUGINCALLBACK XSI::CStatus XSIOnEventCPP( long in_eventID, XSI::CValueArray& in_args);
|
Parameter |
Description |
|
in_eventID |
Event ID to process |
|
in_args |
Array of arguments for this specific event |
To export your event handler function (on Windows)
To export a function from a DLL, add the XSIPLUGINCALLBACK macro to the function definition. On Windows, this macro resolves to:
extern "C" __declspec(dllexport)
and on Linux to:
extern "C"
XSIPLUGINCALLBACK is defined in sicppsdk.h.
To use the XSIOnCommandCPP callback function to declare your command handler
You need to implement this function in your DLL or SO file:
XSIPLUGINCALLBACK XSI::CStatus XSIOnCommandCPP( const XSI::CString& in_name, XSI::CValueArray& in_args, XSI::CValue& out_value);
|
Parameter |
Description |
|
in_name |
Command name. |
|
in_args |
Array of arguments for this specific command. |
|
out_value |
Return value. |
![]()
|
Starting with Softimage, v4.0 custom commands can be fully implemented as self-installing plug-ins which is now the recommended approach (see Custom Commands for detailed instructions on implementing self-installing command plug-ins). However, this approach (often called a v1.0 plug-in type) is still fully supported. |
To export your command handler function (on Windows)
To export a function from a DLL, add the XSIPLUGINCALLBACK macro to the function definition. On Windows, this macro resolves to:
extern "C" __declspec(dllexport)
and on Linux to:
extern "C"
XSIPLUGINCALLBACK is defined in sicppsdk.h.
Autodesk Softimage v7.5