Fruity Formula Controller

Fruity Formula Controller generates automation control data based on user-defined 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:

  1. 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.
  2. Enter a formula or select one from the plugin presets and make sure it compiles correctly.
  3. 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.
  4. Link other internal or external hardware controllers to variables A, B and C OR record A, B, C tweaks in real-time as the project is playing.


Syntax, Objects & Functions

The following syntax, functions and objects are supported by the Formula Controller:

Abbreviation Description Example
+ addition a+b
* multiplication a*b
- subtraction  a-b
/ division  a/b
^ power a^b
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 Studio-related)
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 same as tension knobs Tension(Value,Speed)
Date system date Date()
MouseX mouse cursor X position MouseX()
MouseY mouse cursor Y position MouseY()

Plugin Credits: Didier Dambrin, Andrew Tumashinov (RapidEvaluator)