
MIXING & EFFECTS
Fruity Formula Controller
Fruity Formula Controller generates automation control data based on userdefined formulae. The Formula Controller will appear as an Formula ctrl  Out option in the Link dialog. It is just one of the many internal automation controllers available in FL Studio.
How to use:
 Load Fruity Formula Controller in a Mixer FX Slot. NOTE: Renaming the Formula Controller will help you find the correct automation source when more than one is used in a project.
 Enter a formula or select one from the plugin presets and make sure it compiles correctly.
 Link the target Synth, Effect or FL Studio interface control to the 'Formula ctrl  Out' option (or custom name used at step 1) from the Link Dialog > 'Link assignment' menu.
 Link other internal or external hardware controllers to variables A, B and C OR record A, B, C tweaks in realtime as the project is playing.
Parameters
 A/B/C  These knobs can be used as variables in your formulas. Enter them into your formula as a, b and c variables (see the list operators and functions below).
 Formula  This is where you enter your formula. Press ENTER or Compile to compile to formula. If the formula is a valid mathematical expression, you will see a message 'Compiled ok' below the formula. If it's not, you will see a helpful error message. NOTE: The output of the formula must range between 0 to 1 in order to qualify as valid control data.
 ?  Opens the Syntax, Objects and Functions table (see below).
 Compile  Compiles the formula. Alternatively press ENTER when using the formula edit box.
 Comments  Type comments here. If text exceeds the height of the window a scrollbar will appear on the right side. Supports RTF text from WordPad. The formula Monitor graph also displays behind the text for your convenience.
 Monitor  Shows the output from the formula in realtime. NOTE: Many formula will not display as a moving trace until you click Play on FL Studio's transport panel.
Syntax, Objects & Functions
The following syntax, functions and objects are supported by the Formula Controller:
Operators 
Abbreviation 
Description 
Example 
+ 
addition 
a+b 
* 
multiplication 
a*b 
 
subtraction 
ab 
/ 
division 
a/b 
^ 
power 
a^b 
Functions 
Abs 
absolute 
Abs(a) 
ArcCos 
anticosine 
ArcCos(a) 
ArcSin 
antisine 
ArcSin(a) 
ArcTg 
antitangent 
ArcTg(a) 
ATan2 
arctangent angle/quadrant of a given number 
Atan2(a,b) 
Case 
returns b if a=1, else returns c 
Case(a,b,c) 
Cos 
cosine 
Cos(a) 
CoSec 
cosecant 
CoSec(a) 
Ctg 
cotangent 
Ctg(a) 
Exp 
exponent 
Exp(a) 
Frac 
fractional part 
Frac(a) 
IfE 
returns 1 if a=b 
IfE(a,b) 
IfG 
returns 1 if a>b 
IfG(a,b) 
IfGE 
returns 1 if a>=b 
IfGE(a,b) 
IfL 
returns 1 if a<b 
IfL(a,b) 
IfLE 
returns 1 if a<=b 
IfLE(a,b) 
Int 
integral part 
Int(a) 
Inter 
returns 1 if a > b and a < c. If c < b, b & c values will be swapped
 Inter(a,b,c) 
Internoswap 
as Inter but doesn't swap a & b 
Internoswap(a,b,c) 
Ln 
logarithm base e 
Ln(a) 
Log10 
logarithm base 10 
Log10(a) 
Log2 
logarithm base 2 
Log2(a) 
Max 
maximum 
Max(a,b) 
Min 
minimum 
Min(a,b) 
Neg 
negative 
Neg(a) 
Pi 
pi 
Pi() 
Rand 
random value (0..1) 
Rand() 
Round 
round to nearest integer 
Round(a) 
Sec 
secant 
Sec(a) 
SeededRand 
controlled random value (0..1) 
SeededRand(Seed) 
Sin 
sine 
Sin(a) 
Sqrt 
square root 
Sqrt(a) 
Sum 
sum of arguments 
Sum(a,b) 
Tg 
tangent 
Tg(a) 
Special (FL Studiorelated) 
a 
value of knob A 
a 
b 
value of knob B 
b 
c 
value of knob C 
c 
SongTime 
song position, in quarters 
SongTime() 
Time 
system time, in ms 
Time() 
Tension 
Curves the line, positive or negtively depending on sign 
Tension(Value,Rate of change) 
Gadgets 
Date 
system date 
Date() 
MouseX 
mouse cursor X position 
MouseX() 
MouseY 
mouse cursor Y position 
MouseY() 
Plugin Credits: Didier Dambrin, Andrew Tumashinov
(RapidEvaluator)
