# Introduction

CGI Studio provides an integrated development environment based on Visual Studio for widget and application layer development, located at:

<div class="contents" id="bkmrk-%3Ccgi-studio-root%3E%2Fcg"><div class="contents"><div class="textblock">- &lt;cgi-studio-root&gt;/cgi\_studio\_player

</div></div></div>In the cgi\_studio\_player directory, 4 different projects are defined:

<div class="contents" id="bkmrk-cgi-panel-a-graphica"><div class="contents"><div class="textblock">- **CGI Panel**
    - A graphical user interface which controls the flow of the Player
    - C# Application with predefined controlling interface towards the Player
- **Player**
    - The application layer (C++) links [Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]"), demo application and Widgets as an executable for host system
    - Player depends on CGI Panel, hence it refers to CGI Panel as "debug" application and stores its output near CgiPanel.exe in order to enable CgiPanel.exe to execute it.
- **Behaviors\_Examples**
    - The concrete behavior set implementation (C++)
    - Based on [Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") and compiled as a static library
- **SCHost**
    - Makes SceneComposer aware of [Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") including the [Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") Device used in the solution, and widgets
    - Compiled as an dll and loaded by SceneComposer
    - Output dll is placed directly into SceneComposer installation directory to avoid manual copying.

</div></div></div>The following pages explain how to build these components.