Shotgun Engine for Softimage
Shotgun Pipeline Toolkit Integration in Softimage
By: Shotgun Software
Latest Version: v0.3.2 (alpha)
For our version numbers, we follow the Semantic Versioning standard.
System Name: tk-softimage
This document describes functionality only available if you have taken control over a Toolkit configuration. Please refer to the Shotgun Integrations Admin Guide for details. The Shotgun engine for Softimage establishes a bridge between the Shotgun Pipeline Toolkit apps and Softimage. It contains PySide/Qt distributions, making it possible to write apps using Python and PySide that run right inside the engine. This document refers to more advanced configuration setups.
Supported Application Versions
This item has been tested and is known to be working on the following application versions: 2012, 2013. Please note that it is perfectly possible, even likely, that it will work with more recent releases, however it has not yet been formally tested with these versions.
The Shotgun engine for Softimage contains a standard platform for integrating Shotgun Apps into Softimage. The engine supports the usual suite of apps providing automatic file management, a well defined work-area/publish workflow, snapshot, etc.
When the engine is loaded, a Shotgun Menu is provided in the main Softimage menubar:
Available Toolkit commands are displayed here.
Please note that the Shotgun engine for Softimage is in beta and there are a few known issues - please see below for a full list.
Information for App Developers
The Shotgun engine for Softimage currently supports Softimage 2012 & 2013 on Windows and 2013 on Linux.
Softimage 2014 is not currently supported on Linux and whilst it can be run on Windows, there are some instability issues so it's use is definitely not recommended!
If 2014 support is a priority for you, please contact email@example.com.
Under Windows, Softimage can be configured to use either the built-in Python distribution or an external distribution - see http://download.autodesk.com/global/docs/softimage2013/en_us/userguide/index.html?url=files/userprefs528.htm,topicNumber=d30e797817 for further details.
The engine is bundled with versions of PySide & Qt for the installed versions of Python for Softimage, versions 2012 (Python 2.6 x64), 2013 (Python 2.6 x64) & 2014 (Python 2.7 x64). However, if you are using an external distribution of Python then you should be sure to provide a binary compatible version of PySide & Qt as well.
A good resource for Windows PySide distributions can be found here: http://www.lfd.uci.edu/~gohlke/pythonlibs/
Under Linux, Softimage has to use the built-in version of Python. For Softimage 2013, a pre-built distribution of PySide & Qt is required and provided by tk-framework-softimageqt. This distribution has been built using GCC 4.1.2 for Python 2.5.2, the same versions used by Softimage 2013.
Because of the many different Linux distributions, there isn't a guarantee that this will work with every one so it may be necessary to rebuild these yourself to get things working. Full details of how the version was built can be found in the README included with the framework, here:
Known Issues (Windows)
Softimage 2014 Instability
Although the engine will run under Softimage 2014 on Windows there are known issues and it hasn't been fully tested. Opening the Publish dialog will cause Softimage to crash!
SSL Bug in Softimage 2014
_ssl.pyd file distributed with Softimage 2014 contains a known bug which may cause slowdowns at startup.
We recommend backing up and then overwriting this file with the
_ssl.pyd file you can find in Maya 2014 in order to resolve these issues. If you need more help or advice with this, don't hesitate to contact the toolkit support.
Qt windows created without a parent and without using the engine's
show_dialog methods will not be parented correctly to the main Softimage application.
Known Issues (Linux)
Missing ssl & sqlite3 Libraries
In addition to requiring a very specific version of PySide (detailed above), Softimage is also missing ssl and sqlite3 libraries required by the Shotgun Python API and Toolkit.
We have included these as part of the
tk-multi-launchapp app which also adds them to the LD_LIBRARY_PATH & PYTHONPATH prior to launching Softimage. Again though, if you have problems with these then detailed instructions for how to build them for your system can be found in the README included with the app, here:
Segmentation Faults In libX11.
Softimage on Linux contains an optional hack to address speed issues on certain linux distributions. This is detailed here:
This tells Softimage to use a different version of the libX11 library found in:
If you are using this hack then you will probably get segmentation faults during calls by Qt to the libX11 library (SIGSEGV in the call stack) resulting in frequent crashing. This is because the hack version of the libX11 library is quite old and not compatible with the version Qt was built against!
To resolve this, a new version of Qt will need to be built against a version of libX11 compatible with the Softimage hack version...
Segmentation Faults In libssl.
If you are using a recent version of openssl, not built using the correct version of GCC (4.1.2) you may see Segmentation faults (SIGSEGV) when the Shotgun API is used.
This isn't specific to Qt/PySide but worth mentioning here as it's the second most common problem!
for instructions on how to build a compatible version of openssl for Softimage 2013.
Currently, Toolkit windows are not parented to the main Softimage application window on Linux. As a work-around they are created to be topmost but this can sometimes mean that other windows (particularly confirmation dialogs) can be hidden behind them.
If Softimage seems to have hung, try moving any open Toolkit windows to see if there is a dialog hiding behind it!
Softimage/Toolkit Freezes After Moving Window
You will find that when you move a modeless dialog (e.g. the Shotgun File Manager), the contents of both Softimage and the dialog will appear to freeze/hang. This is an issue to do with the way the Qt message queue is currently implemented but unfortunately we are yet to find an alternative solution!
As a simple workaround, when this happens if you just click in the main Softimage Viewport, you will find that everything starts working correctly again!
Installation and Updates
Adding this Engine to the Shotgun Pipeline Toolkit
If you want to add this engine to Project XYZ, and an environment named asset, execute the following command:
> tank Project XYZ install_engine asset tk-softimage
Updating to the latest version
If you already have this item installed in a project and you want to get the latest
version, you can run the
update command. You can either navigate to the
tank command that comes with that specific project, and run it there:
> cd /my_tank_configs/project_xyz > ./tank updates
Alternatively, you can run your studio
tank command and specify the project
name to tell it which project to run the update check for:
> tank Project XYZ updates
Collaboration and Evolution
If you have access to the Shotgun Pipeline Toolkit, you also have access to the source code for all apps, engines and frameworks in Github where we store and manage them. Feel free to evolve these items; use them as a base for further independent development, make changes (and submit pull requests back to us!) or simply tinker with them to see how they have been built and how the toolkit works. You can access this code repository at https://github.com/shotgunsoftware/tk-softimage.
- You need Shotgun Pipeline Toolkit Core API version v0.14.56 or higher to use this.
Below is a summary of all the configuration settings used. These settings need to be defined in the environment file where you want to enable this App or Engine.
Description: Template to use to determine where to set the maya project location
Description: Controls whether debug messages should be emitted to the logger
Description: Controls the favourites section on the main menu. This is a list and each menu item is a dictionary with keys app_instance and name. The app_instance parameter connects this entry to a particular app instance defined in the environment configuration file. The name is a menu name to make a favourite.
Welcome to the release notes for this Engine. Below you will find an overview of all the changes we did for each release. We try to be as detailed as possible and include all bugs we have fixed, features we have added and things that may have changed. If you have questions about a particular release, don't hesitate to contact our support team!
Adds a call to log a user metric for the DCC version
properly display non-ascii characters in app windows and the Shotgun menu
Updated visual style to better match Maya.
Details: This change affects the visual appearance of all apps running in the engine, making their visual appearance much more consistent with the look and feel that you would get inside Maya. Please note that after this upgrade, app UIs will look slightly different.
Removed warning regarding support for 2013 on Linux
Details: Removed warning regarding support for 2013 on Linux
Updated to require tk-framework-softimageqt v1.0.1
Split out PySide & Qt distributions into a seperate framework to reduce the engine size.
Updated Qt compatibility when using PyQt
Fixed issue with timer event causing problems on Windows
Updated README for Linux PySide distribution
Fixed location of Qt for PySide on Linux
Added initial support for Softimage 2013 on Linux
Improvements to the Toolkit dialog & widget management
- Dialogs created with show_modal & show_dialog are now released correctly when closed.
- Updated to require core v0.14.23
Improved window parenting on Windows
Modal app dialogs now work correctly on Windows
Initial release of the Softimage engine for Windows
Updated Engine Icon.
Experimental Release to the App Store.