By embedding the powerful python script interpreter within Sammi and exposing various Sammi functionalities using python interfaces, Sammi 7 provides a new set of capabilities beyond what was previously available in earlier versions of Sammi.
Designing and creating displays – The Sammi Studio is a good example of how scripting capabilities in Sammi are utilized to provide an improved and more Integrated Development Environment (IDE) for designing and creating displays. Studio uses a combination of python scripting, Sammi python interfaces and the PySide library (the python binding for the popular Qt framework) to create a new MDI interface enabling multiple displays to be edited at same time. By using the Sammi python interface, the Studio application is able to query the existing format that is being edited and make the attributes of the format available for better visualization and manipulation.
Automating format testing – The scripting interface provides access to the internal Sammi Object Model (SOM), providing ways to query the format attributes and receive callbacks when an object’s runtime data buffer is updated. By using this information, one can automate various test scenarios for a given format.
Creating displays automatically – The scripting feature can allow components in Sammi displays to be created programmatically – something that could only be done previously by manipulating the Sammi .asc files. Shapes, controls and all other graphical objects can be programmatically added to a display in the SAMMI Studio. One use of this capability is to create “import” utilities for various types of shape formats from other applications such as AutoCAD.
Monitoring and debugging display data updates – Now you can create display debug utilities that allow you to tap into data being sent to or from a graphical object – enabling debugging capabilities not available before.
Updating local data – Although Sammi provides a full-featured Applications Programming Interface (API) for networked application development; the scripting interface also enables updates to be sent to Sammi objects and controls.