Note
This wiki information has been deprecated. Please visit Magic Lantern Studio Github wiki for current information.
This page provides a reference to valuable information concerning Magic Lantern development tasks.
The Magic Lantern components are currently developed using the C++ and Java programming languages. This section describes how to build the components for the various technologies targeted by the Magic Lantern SDK and tool chain.
The Magic Lantern Software Development Kit is comprised of a Runtime Engine and components, or parts, that are used to construct the application title. These parts are called Actors, Roles, Sets, Stages and Mediarefs.
An Actor is the basic unit of action and presentation within a title. A Role is the software module that handles the actors platform-dependent presentation on a set. A Set is an abstract view of a collection of actors that are presented on a stage. A set is used to manage a presentation, such as a 3D scene-graph or 2D windowing environment. The Stage is a collection of services on the target platform, such as rendering, input, sound, physical modeling, proximity and collision detection, and event handling. The stage, set, and role are the platform specific components in a Magic Lantern title. The actor is a platform independent component in a Magic Lantern title. Finally, a Mediaref is an object used to reference the representation of media across multiple platforms. It is currently a pointer to an outside media file, such as a graphics image or an audio file.
The Magic Lantern SDK is currently available as native C++ libraries as well as Java JAR packages. The C++ code base can be built using Microsoft Visual Studio 2010. Work is also underway to provide solutions using GNU g++ development environments for Linux. The Java JAR packages are currently built using the Eclipse development environment. An Android solution has been developed and can be built using Android Studio.
The following links can be used to build the supported targets:
The Magic Lantern Studio is the collection of tools used to help build and deploy Magic Lantern titles. It is comprised of authoring tools used in the construction and rehearsing of the title. The Magic Lantern Studio also provides tools to facilitate mastering to specific device targets (i.e. Java2D, Android, J2ME).
The Magic Lantern Studio is comprised of the following tools:
The Magic Lantern Rehearsal Player is a tool used to rehearse a Digital Workprint. The user can exercise a Magic Lantern title using the Rehearsal Player without mastering the title to a specific target. The player currently runs on the Microsoft Windows XP and Vista platforms.
The Rehearsal Player has the following dependencies:
The Rehearsal Player is built upon Silicon Graphics Open Inventor technology (http://en.wikipedia.org/wiki/Open_Inventor...). It currently uses Kongsberg SIM's Coin library (<http://www.coin3d.org/>), an independent implementation of the API. Wizzer Works has made some minor modifications to the Coin implementation to facilitate new UI components, SoTransformer2Dragger and SoTransformer2Manip. A patch identifying these modifications for version 3.1.3 of the Coin library will soon be available. For now, the modifications can be tracked here:
The Rehearsal Player can be built for the Microsoft Windows XP and Vista platforms using the following environment:
The Magic Lantern mastering tools are used to generate a Digital Playprint and code for the target platform. Theses tools include:
The Magic Lantern Studio IDE is an integrated development environment used to develop, test and debug Magic Lantern titles. The IDE is built upon the Eclipse open source platform and is comprised of a collection of plug-ins and tools that have been compiled for the Microsoft Windows platform.
The Magic Lantern plug-ins for Eclipse are packaged together so that they address the needs for particular Magic Lantern targets. For example, some of the plug-ins target Java SE and Java2D titles, while other plug-ins are designed for building Android applications. The following Magic Lantern IDE configurations are under development:
The Java2D Studio IDE is used to build Magic Lantern titles targeting the Java SE and Java2D platform.
To build this tool chain, please follow these instructions: IDE Build Environment for Java2D Studio.
To build the Magic Lantern Java2D Studio distribution package, first follow the above instructions for the IDE Build Environment for Java2D Studio. Then create the product using the following instructions: Java2D Studio Product Build Instructions.
The Android Studio IDE is currently used to build Magic Lantern titles targeting the Google Android platform.
Earlier efforts were based on the Eclipse IDE (also called Android Studio). To build this tool chain, please follow these instructions: IDE Build Environment for Android Studio.
TBD
This section discusses how to test the various Magic Lantern technologies.
To test the Magic Lantern SDK, several titles have been developed to exercise the Java and C++ APIs.
The following titles may be used to test the Magic Lantern Java2D Target:
The following titles may be used to test the Magic Lantern Android Target:
The following titles may be used to test the Magic Lantern BRender Target:
The following titles may be used to test the Magic Lantern Rehearsal Player:
Developer Wiki: Building_Coin
Developer Wiki: Coin_3.1.3_Modifications
Developer Wiki: DPP_Image_Test_Title_for_Java2D
Developer Wiki: HelloWorld_Title_for_Java2D
Developer Wiki: IDE_Build_Environment_for_Android_Studio
Developer Wiki: IDE_Build_Environment_for_Java2D_Studio
Developer Wiki: Java2D_Studio_Product_Build_Instructions
Developer Wiki: Main_Page
Developer Wiki: Microsoft_Visual_Studio_2005_Notes
Developer Wiki: Moving_Teapot_Demo_for_BRender
Developer Wiki: Moving_Teapot_Title_for_Rehearsal_Player
Developer Wiki: Null_Title_for_Rehearsal_Player
Developer Wiki: Rehearsal_Player_Build_Environment_using_Microsoft_Visual_Studio
Developer Wiki: SDK_Build_Environment_for_Android_Platform
Developer Wiki: SDK_Build_Environment_for_J2SE_Platform
Developer Wiki: SDK_Build_Environment_for_Linux_Platform
Developer Wiki: SDK_Build_Environment_using_MSBuild
Developer Wiki: SDK_Build_Environment_using_Microsoft_Visual_Studio