Contents 

FL Studio About FL Studio 6
FL Studio Setup Wizard
FL Studio Setup Wizard
FL Studio Audio Output Setup
FL Studio ASIO Driver Setup
FL Studio DirectSound Driver Setup
FL Studio MIDI Setup
FL Studio File Settings Setup
FL Studio Finished
FL Studio Introduction to FL Studio 6
FL Studio What's New?
FL Studio Making Music
FL Studio The User Interface
FL Studio Keyboard Shortcuts
FL Studio Useful Links
FL Studio Tool Bar
FL Studio Menu Bar
FL Studio Menu Bar
FL Studio File Menu
FL Studio Edit Menu
FL Studio Channels Menu
FL Studio View Menu
FL Studio Options Menu
FL Studio Tools Menu
FL Studio Help Menu
FL Studio Panels
FL Studio Panels
FL Studio Main Panel
FL Studio Transport Panel
FL Studio Output Monitor Panel
FL Studio CPU Panel
FL Studio Shortcut Panel
FL Studio Recording Panel
FL Studio Time Panel
FL Studio Tools Dialog
FL Studio Favorites Section
FL Studio Browser
FL Studio Browser
FL Studio Project Browser
FL Studio Channel Window & Step Sequencer
FL Studio Channel Window & Step Sequencer
FL Studio Keyboard Edit
FL Studio Graph Edit
FL Studio Channel Menu
FL Studio Channel Settings
FL Studio Channel Settings
FL Studio Main Channel Settings
FL Studio Sampler Settings
FL Studio Automation Clip Settings
FL Studio Layer Settings
FL Studio Plugin Settings
FL Studio Plugin Wrapper
FL Studio Instrument Settings
FL Studio Miscellaneous Settings
FL Studio Function Settings
FL Studio Piano Roll
FL Studio Piano Roll
FL Studio Piano Roll Menu
FL Studio Piano Roll Articulate
FL Studio Piano Roll Quantizer
FL Studio Piano Roll Chopper
FL Studio Piano Roll Arpeggiator
FL Studio Piano Roll Strum Tool
FL Studio Piano Roll Scale Level Tool
FL Studio Piano Roll Flam Tool
FL Studio Piano Roll Flip Tool
FL Studio Piano Roll Key Limiter Tool
FL Studio Import MIDI Data Dialog
FL Studio Randomizer
FL Studio LFO Tool
FL Studio Playlist
FL Studio Playlist
FL Studio Pattern Tracks
FL Studio Audio Tracks
FL Studio Automation Tracks
FL Studio Instrument / Generator Plugins
FL Studio Instrument / Generator Plugins
FL Studio Plugin Wrapper
FL Studio 3x OSC
FL Studio Automation Clip
FL Studio BeepMap
FL Studio BooBass
FL Studio Buzz Generator Adapter
FL Studio Chrome
FL Studio Dashboard
FL Studio Dashboard
FL Studio Dashboard: How To Use
FL Studio Dashboard: Standard Components
FL Studio Dashboard: Component API
FL Studio Dashboard: Menu
FL Studio Direct Wave Sampler
FL Studio Direct Wave
FL Studio Direct Wave Zone Window
FL Studio Library Window
FL Studio Direct Wave Zone Tab
FL Studio Direct Wave Program Tab
FL Studio Direct Wave Sample Tab
FL Studio Direct Wave Options
FL Studio FL Keys
FL Studio FL Slayer
FL Studio FPC
FL Studio Fruit Kick
FL Studio Fruity DrumSynth Live
FL Studio Fruity DX10
FL Studio Fruity Envelope Controller
FL Studio Fruity Granulizer
FL Studio Fruity Keyboard Controller
FL Studio Fruity Layer
FL Studio Fruity Slicer
FL Studio Fruity Soundfont Player
FL Studio Fruity Vibrator
FL Studio Fruity Video Player
FL Studio MIDI Out
FL Studio Plucked!
FL Studio ReWired
FL Studio SimSynth Live
FL Studio Sytrus
FL Studio Sytrus Introduction
FL Studio Sytrus: The Main Module
FL Studio Sytrus: The Operator Module
FL Studio Sytrus: Envelope Editor
FL Studio Sytrus: Arpeggiation
FL Studio Sytrus: Harmonic Editor
FL Studio Sytrus: The Filter Module
FL Studio Sytrus: The Effects Module
FL Studio Sytrus: Basics of FM Synthesis and the Modulation Matrix
FL Studio Sytrus: Tutorial
FL Studio Sytrus: Notes & Tips to Patch Creators
FL Studio Sytrus: Options, Helpers & Tools
FL Studio TS404
FL Studio Wasp
FL Studio Wasp XT
FL Studio Wave Traveller
FL Studio Mixer & Mixing
FL Studio Mixer Window
FL Studio Mixer Functions
FL Studio Plugin Effects
FL Studio Mixer Track Properties
FL Studio Audio Input/Output Routing
FL Studio Disk Recording
FL Studio Levels, Mixing and Clipping
FL Studio Mixer Pop-Up Menu
FL Studio Effect Plugins
FL Studio Effect Plugins
FL Studio Plugin Wrapper
FL Studio Supported Effects Standards
FL Studio Buzz Effect Adapter
FL Studio EQUO
FL Studio Fruity 7 Band EQ
FL Studio Fruity Balance
FL Studio Fruity Bass Boost
FL Studio Fruity Big Clock
FL Studio Fruity Blood Overdrive
FL Studio Fruity Center
FL Studio Fruity Chorus
FL Studio Fruity Compressor
FL Studio Fruity dB Meter
FL Studio Fruity Delay
FL Studio Fruity Delay 2
FL Studio Fruity Delay Bank
FL Studio Fruity Fast Dist
FL Studio Fruity Fast LP
FL Studio Fruity Filter
FL Studio Fruity Flanger
FL Studio Fruity Flangus
FL Studio Fruity Formula Controller
FL Studio Fruity Free Filter
FL Studio Fruity HTML Notesite
FL Studio Fruity LSD
FL Studio Fruity Mute
FL Studio Fruity Multiband Compressor
FL Studio Fruity Notesite
FL Studio Fruity PanOMatic
FL Studio Fruity Parametric EQ
FL Studio Fruity Peak Controller
FL Studio Fruity Phase Inverter
FL Studio Fruity Phaser
FL Studio Fruity Reeverb
FL Studio Fruity Reeverb 2
FL Studio Fruity Scratcher
FL Studio Fruity Send
FL Studio Fruity Soft Clipper
FL Studio Fruity Spectroman
FL Studio Fruity Squeeze
FL Studio Fruity Stereo Enhancer
FL Studio Fruity Vocoder
FL Studio Fruity WaveShaper
FL Studio Fruity X-Y Controller
FL Studio Installing & Using VST / DX Plugins
FL Studio Installing & Using VST / DX Plugins
FL Studio Recording & Automation
FL Studio Overview
FL Studio Audio Recording
FL Studio Automation Clips
FL Studio Recording MIDI Controllers
FL Studio Internal Controllers Plugins
FL Studio Step Editing
FL Studio Supported MIDI Devices
FL Studio Mapping Formula
FL Studio Event Editor
FL Studio LFO Tool
FL Studio Scale Levels Tool
FL Studio Import MIDI Data Dialog
FL Studio Wave Editor
FL Studio Wave Editor
FL Studio Basics
FL Studio Main Toolbar
FL Studio Pop-Up Menu
FL Studio Settings
FL Studio ReWire Support
FL Studio ReWire Support
FL Studio Client Mode
FL Studio Client Mode
FL Studio Using with Cubase SX
FL Studio Using with Sonar 2
FL Studio Host Mode
FL Studio Host Mode
FL Studio Using with ReBirth
FL Studio Using with Reason
FL Studio FL Studio as a Plugin (VSTi/DXi2)
FL Studio FL Studio as a Plugin (VSTi/DXi2)
FL Studio File Formats
FL Studio File Formats
FL Studio Open/Import File Formats
FL Studio Open/Import File Formats
FL Studio FL Studio Loop File
FL Studio Zipped Loop File
FL Studio BeatCreator/BeatSlicer Grid File
FL Studio MIDI File
FL Studio Rebirth RB-338 Song File
FL Studio Beat to Slice
FL Studio Save/Export File Formats
FL Studio Save/Export File Formats
FL Studio FL Studio Loop File
FL Studio Zipped Loop File
FL Studio Wave / MPEG Layer 3 / MIDI
FL Studio Sample File Formats
FL Studio Sample File Formats
FL Studio MS Waveform File
FL Studio ReCycle Loops
FL Studio Speech Preset
FL Studio SimSynth Preset
FL Studio DrumSynth Preset
FL Studio Fast Tracker's Extended Instrument
FL Studio Other File Formats
FL Studio Other File Formats
FL Studio FL Studio State File
FL Studio FL Studio Score File
FL Studio Humanize Preset File
FL Studio MIDI File
FL Studio Download Manager
FL Studio Download Manager
FL Studio Options & Settings
FL Studio System Settings
FL Studio System Settings
FL Studio MIDI Settings
FL Studio Audio Settings
FL Studio General Settings
FL Studio File Settings
FL Studio Project Settings
FL Studio Project Settings
FL Studio Project General Settings
FL Studio Project Info
FL Studio Troubleshooting
FL Studio Compatibility with Older Projects
FL Studio Troubleshooting Q&A
FL Studio Optimizing CPU and Memory Usage
FL Studio Registration Exclusive Features
FL Studio Reset Settings
FL Studio Glossary
FL Studio Internet Resources
FL Studio ACM Waveform
FL Studio Cutoff and Resonance Filter
FL Studio Envelope
FL Studio Gate
FL Studio LFO
FL Studio Underrun

Using FL Studio.

Prev Page Next Page

GENERATORS

Dashboard: Component API

This page explains how to customize and create new components for Dashboard.

Basics

A Dashboard component is built of an initialization file (*.INI) and a set of bitmap images (*.BMP, *.JPG and *.TGA are supported) that define the component appearance (skin). The INI files resides in the Artwork folder of Dashboard ([FL Studio]/Plugins/Fruity/Generators/Dashboard/Artwork), or in subfolder of that folder. The images can be placed anywhere, but it is best to place them where the INI file is, so you can reference the images directly, without path.

There can be several section in the INI file:

  • Info
  • Properties (optional)
  • Items (only for some types of components)

Each section contains one or more properties. A property entry looks like this:

propertyName=value

For ease of use, it is best to use relative paths when you link to image files. You can link to a folder relative to the INI position or the Artwork folder:

  • Relative to the Artwork folder : [Folder]\image.bmp (links to Artwork\[Folder]\image.bmp).
  • Relative to the INI file : .\folder\image.bmp (links to Artwork\[INI Folder]\image.bmp).

INI File Sections

The INI file contains the following sections:

[Info] Section

You should include these properties in the info section:

  • Name - The name of the control. Make sure the name is unique to the other component names. This property is required.
  • Kind - The component type. The possible values are: 0 = DigiWheel; 1 = Slider; 2 = Wheel; 3 = Panel; 4 = Switch; 5 = Label; 6 = Image; 7 = Selector; 8 = Patch selector; 9 = Page selector; This property is required.
    Default - Indicates if this control is the default control for its kind (Default=1) or not (Default=0). A default control is used in panel presets which contains missing controls (not installed in this copy of dashboard). For example, a missing wheel component is replaced with the default wheel component. This property is optional.
  • Background - This is a reference to the image file that will be used as background for the control. If a background is specified, it determines the control's width and height. If you want to allow the user to make a background transparent, you have to specify an 8-bit .bmp file. Not all controls supports transparency. This property is optional.
  • Foreground - This is a reference to the image file that will be used as a foreground for the control. This could be a knob for a slider, for example. Not all controls will use this value (for example page selectors). This property is optional.

[Properties] Section

This section defines the values to be used for the properties of a control. They are all optional. You can see a full list of properties you can set here in the component inspector for each component.

[Items] Section

This section is only valid for selectors and patch selectors. It defines the values that will be available in the selector. The values are specified as a list of text lines (each line is a value) ending with "=":

valueName=

For patch selector controls, you also include the bank and program numbers that correspond to the instrument names:

valueName=Bank MSB, Bank LSB, Program Number

EXAMPLE:

[items]
100% Left=
50% Left=
Centered=
50% Right=
100% Right=

Component Types

This is a more in depth description for each component type (you specify in the Kind property).There are currently ten different control kinds.

DigiWheel (Kind=0)

  • Wheel which displays a different image for each value (the images should be ordered sequentially in a horizontal strip).
  • It can be used as a controller.
  • The background is used for the border around the control.
  • The foreground is used for the values (see the supplied DigiWheel controls).

This additional parameter is supported in the [Properties] section (not visible in the component inspector):

  • Border - Specifies the border size of the background image as follows:

    Border=left, top, right, bottom

Slider (Kind=1)

  • An up/down slider control.
  • Can be used as a controller.
  • The foreground is used as the knob of the slider. Most of the time, this is a 32-bit *.TGA file which can be transparent.

Wheel (Kind=2)

  • A wheel control with a line as indicator of the value.
  • Can be used as a controller.
  • The foreground image is not used.

This additional parameter is supported in the [Properties] section (not visible in the component inspector):

  • Line Length - the length of the indicator line, as a percentage of the width/height of the control.

Panel (Kind=3)

  • This component allows you to add custom backgrounds to the dashboard's panel.
  • The foreground image is not used.

This additional parameter is supported in the [Properties] section (not visible in the component inspector):

  • Border - Specifies the border size of the background image as follows:

    Border=left, top, right, bottom

Switch (Kind=4)

  • This is a two-state toggle button (on-off).
  • Can be used as a controller.
  • The foreground should contain two images, one for up and one for down
  • The background is not used.

Label (Kind=5)

  • This is a simple control that displays text labels.
  • Background and Foreground are not used.

Image (Kind=6)

  • This control simply displays an image.
  • Foreground image is not used.

Selector (Kind=7)

  • This is a combo box control, showing a custom list of values.
  • The list of values is read from the [Items] section of the *.INI file.
  • Foreground image is not used.
  • It can be used as a controller.

Patch Selector (Kind=8)

  • This control allows the user to select a patch from a list of predefined values.
  • The list of values is read from the [Items] section of the *.INI file.
  • Each value should have a Bank MSB, Bank LSB and a Patch Number information appended (see the description of the [Items] section above).
  • Foreground image is not used.

Page Selector (Kind=9)

  • This is a special type of control which allows you to select the visible interface page (if there are any).
  • Foreground image is not used.

Notes & Tips

  • A control is identified by its name, so make sure to give it one that's both descriptive and unique.
  • Preferably put all controls of a certain group in a directory away from the rest.
  • If you don't specify a background image for a control, it's transparent. Not all controls support this very well.
  • Take a look at the provided controls, they'll show you most of what you need to know.