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.
To talk to the host use
Host, which is passed to the plugin's
examples/simple.rs in the code repo provides you with more details.
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).
Plugins are installed in FL Studio in subfolders of the
FL Studio\Plugins\Fruity folder on
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
Plugin's host (FL Studio).
Plugin related stuff.
Voices used by generators to track events like their instantiation, release, freeing and processing some events.
Exposes your plugin from DLL. Accepts type name as input. The type should implement
Value is an integer increment.
Message box flags (see https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messagebox).
Name of the color (or MIDI channel) in Piano Roll.
This type represents a note in
Notes parameters flags.
Describes an item that should be added to a control's right-click popup menu.
Parameter popup menu item flags.
Processing mode flags.
Processing parameters flags.
Sample loading flags.
Song time in bar:step:tick format.
Raw pointer to value.
The result returned by a message box.
Current FL SDK version.
Size of wavetable used by FL.
For types, which can be represented as
For conversion from