General

The FL Plugin sdk helps you to make plugins for FL Studio. For more information about FL Studio, visit the website (www.flstudio.com).
Updates to and new versions of this sdk will be made available through the Developer's Arena (see the Contact page).

Note that this sdk is not meant to make hosts for FL plugins. We prefer to maintain complete freedom to change anything about the sdk we want at any time, and this is a lot more difficult if there are 3rd party hosts that would be broken by those changes.

Little intro
As FL Studio is created using Delphi, it's not always easy to support the latest and greatest of everything right away. New programming interfaces usually come only with C/C++ documentation and samples (like Windows itself, for example). It takes time and some experimentation to translate the necessary headers and source code from C/C++, and even then it doesn't always necessarily works completely as it should. There are some nice features in C++ (macros) that can't easily be translated to Delphi. So while features that add something to FL Studio will be included at some time, it may take a while.

This sdk includes Delphi files and examples, as well as files and examples for C++ compilers. The C++ sources have been tested in Visual C++ (Visual Studio 2005).

Types of plugins
There are two kinds of Fruity plugins: effects and generators. Effects are plugins that receive some audio data from FL Studio and do something to it (apply an effect). Generators on the other hand create sounds that they send to FL Studio. Generators are seen as channels by the user (like the SimSynth and Sytrus). The main reason to make something a generator is that it needs input from the FL Studio pianoroll (although there are other reasons possible).

Installation
Plugins are installed in FL Studio in subfolders of the FL Studio\Plugins\Fruity folder. Effects go in the Effects subfolder, generators are installed in the Generators subfolder (you're advised to use FPSetup to install your Fruity plugins). Each plugin has its own folder.

Contents of the sdk
The sdk contains various things.

First of all, of course, there are the files required to create plugins. These can be found in the Source folder. The C folder contains files for C++ compilers and examples for C++Builder and Visual C++. The Delphi folder contains files and examples for Delphi.

The example plugins are also provided in compiled form, so you can try them out without compiling them. The compiled dlls are contained in the Bin folder. To install these into FL Studio, run the install.bat file.
You'll also find the FPSetup installer program here. How this works is explained in detail over here. There's also a helper plugin called FruityMonitor. This is also installed by running the install.bat file from the Tools folder. It's an effect plugin that shows you what happens when things happen to the plugin (for example, when SaveRestoreState gets called).

The Doc folder contains this documentation.

Note that this version of the sdk is meant for FL Studio 8 and newer. Not all features will work in all versions of FL Studio.