4 stable releases

1.0.3 May 25, 2020
1.0.2 May 23, 2020

#660 in Audio

Custom license

155KB
3K SLoC

Rust 3K SLoC // 0.0% comments C++ 302 SLoC // 0.0% comments Batch 32 SLoC // 0.1% comments Shell 12 SLoC // 0.3% comments

docs

fpsdk

Rust port of FL Studio SDK.

The FL Studio SDK provides you the API libraries and developer tools necessary to build, test, and debug plugins for FL Studio.

Example

The example demonstrates how to use this library.

To build it, run:

cargo build --release --example simple

To install it:

./install.mac.sh simple Simple -g # for macOS
./install.win.bat simple Simple -g # for Windows

Check out the corresponding script for your system for usage notes.

The plugin's log file is created at FL's resources root. It's /Applications/FL Studio 20.app/Contents/Resources/FL for macOS and <Drive>:\Program Files\Image-Line\FL Studio 20 for Windows.


lib.rs:

The FL Plugin SDK helps you to make plugins for FL Studio. For more information about FL Studio, visit the website.

Note that this SDK is not meant to make hosts for FL plugins.

How to use this library

You should implement Plugin and export it with create_plugin!.

To talk to the host use Host, which is passed to the plugin's constructor.

examples/simple.rs in the code repo provides you with more details.

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 on Windows and FL\ Studio.app/Contents/Resources/FL/Plugins/Fruity for macOS.

Effects go in the Effects subfolder, generators are installed in the Generators subfolder. Each plugin has its own folder.

The name of the folder has to be same as the name of the plugin. On macOS the plugin (.dylib) also has to have _x64 suffix.

Dependencies

~105–355KB