MIXING & EFFECTS

**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:**

- 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 real-time as the project is playing.

**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 scroll-bar 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 real-time.**NOTE:**Many formula will not display as a moving trace until you click Play on FL Studio's transport panel.

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

Operators | ||
---|---|---|

Abbreviation |
Description |
Example |

+ | addition | a+b |

* | multiplication | a*b |

- | subtraction | a-b |

/ | 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 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) |

Gadgets | ||

Date | system date | Date() |

MouseX | mouse cursor X position | MouseX() |

MouseY | mouse cursor Y position | MouseY() |

**Plugin Credits: **Didier Dambrin, Andrew Tumashinov
(RapidEvaluator)