Developer guide

Table of contents:

  • Introduction
  • Building the application
  • Architecture
    • Loading
    • Settings
    • Audio Engine
    • Formats
    • Modules
    • User interface
    • Track Editor
      • Renderers
      • Tools
  • Publish
  • Application Programming Interface (API)

Introduction

Welcome to the developer guide for iStudio platform. Here you can find detailed information on development of plugins, file format, renderers and more. Steps are explained in detail with additional samples added for easier understanding. If you believe a certain section is not explained with enough information, kindly let us know.

For any additional questions use the Discussions and for issues, bugs use our Issue Tracker.

Building the application

To successfully build iStudio source code, you need few prerequisites:
After you have downloaded and successfully installed items described above, you may proceed to download the latest source of iStudio from Source Code page.

Some quick releases do not include the required libraries for iStudio solution to successfully compile. If you have downloaded changeset without Lib directory, proceed to Downloads and download latest iStudio assemblies and copy them to the Lib directory in the iStudio solution - not to any project folder! In case the directory does not exist, create it in Windows Explorer.

If the assemblies are not in correct directory, the solution will fail to build. However if you wish, you can put assemblies in another directory, but you will have to change the project references yourself.

Architecture

To achieve maximum performance and extensibility iStudio was designed with very abstract architecture. Application is parted into 5 components, which are run in the following order:
  • Loading
  • Settings
  • Audio Engine
  • Formats
  • Modules
  • User interface
  • Track Editor
    • Renderer Plugins
    • Tool Plugins

Each component is fully extensible and allows for customization through code with very basic code changes. In the section below we will take a closer look at every component.

Loading

The startup function of the application (iStudio/App.cs) loads basic splash screen and runs the loader which is a separate assembly called: iStudio.Loader. The job of the loader is to register global settings and find and load all iStudio assemblies and plugins.

For both tasks it uses Manager objects, which are designed to deal with their specific purpose. Settings manager takes care of whole settings cache and Plugin manager finds and loads all plugin assemblies, such as modules and tools.

More coming soon!

Last edited Jun 19, 2012 at 5:01 AM by Legoless, version 11

Comments

No comments yet.