This shows you the differences between two versions of the page.

Link to this comparison view

muster:9.0:api [2018/01/25 15:38] (current)
Line 1: Line 1:
 +====== Muster API ======
 +Muster 9 has a collection of APIs available for a wide range of languages.
 +While the RESTful HTTP API is an unique interface, the APIs available for the scripting languages provide bindings that directly inherits from the C++ APIs.
 +The C++ API is a set of classes and headers that let you connect to a Dispatcher service or to a render client service and perform the exact actions available inside Muster Console.
 +The API itself is made by two global namespaces: MTemplateEngine and MClientLib.
 +The MTemplateEngine set of functions and classes are often used directly from the Python templates available through Muster 8. While you can still access the functions to query and load the templates from your own code, you’ll rarely need to access them directly unless you’re writing a template.
 +The MClientLib instead, is the core of the Muster API. It provides functions and classes to connect to the Dispatcher or any render client. ​
 +The SDK itself is distributed as a packed directory structure with the following folders:
 +  * docs – Contains documentation files about the API
 +  * examples – Contains Python based examples on the API usage
 +  * includes – Contains C++ headers files required for C++ usage
 +  * interfaces - Contains the SWIG interface files used to rebuild the bindings for your specific installation
 +  * libs – Contains the libraries extensions for the various languages binding
 +  * mrtool – Contains the full source code of the mrtool Muster command line tool as a full example of the API usage in C++
 +In addition a complete set of specific APIs for each module are available to be called from the templates and from the Console scripting window. Muster is shipped with PySide by default, that allows scripts launched from the Console to access the underlaying QT APIs from Python and let end users to build complex additional GUIs inside Console.
 +Please browse the side bar to learn the API usage for specific languages.