Script Functions

Recommended Functions

Besides the obvious functions, it is recommended to make use of the Shift function as it doubles the overall functionality of the controller. Rotate Set Windows, the arrow keys and enter will allow use of the Browser to add samples. Scroll makes it easy select channels and tracks. It is also required to mute and solo Playlist tracks through the controller. Change Mode is needed to switch between keyboard, button and sequencer control.

Any function with a * means that it controls a particular track, channel or pattern. When setting up a layout, set the TRK number to the corresponding track/pattern/channel you want to control.

Transport

Start

Start Reset

A performance-oriented function that behaves normally when FL is stopped. When FL is playing, it will immediately reset to the beginning and continue playing. This can create a continuous loop-like effect, as used by DJs.

Stop

Toggle Record

Toggle Overdub

Metronome

Song/Pattern

Toggle Countdown

Loop Record

Windows

Pattern Down

Pattern Up

Focus Mixer

Focus Channels

Focus Piano Roll

Focus Browser

Focus Playlist

Open Plugins

Opens the plugin select window. The arrow keys can be used along with enter to select Plugins.

Rotate Set Windows

Rotates only through the windows chosen under Default Options

Rotate Down Set Windows

Rotates the other direction through the windows chosen under Default Options. Not necessary but useful for toggling between two windows.

Rotate All Windows

Rotates through all open windows

Script Functions

Shift

This is a script specific control that will alter between selecting the first and second functions set for each encoder/button/jogwheel etc. This essentially doubles the amount of functionality a controller has. Make sure to set both the first and second function to Shift, otherwise it will not be possible to toggle between the two.

Change Mode

An important function which changes between Button, Sequencer, and Keyboard modes. It allows the same buttons to control each depending on the active mode.

Shift Trigs

This will rotate the trigs of the selected channel pattern left or right. It does not shift the note information. It clears the pattern, so note information will be lost. Use only for trigs with no set notes (percussion).

Step Parameter Control

A few different functions are available to control step parameters, both with buttons and encoders. Some of these functions overlap for setups with more encoders or buttons. A sequencer will need to be set for parameter control to function. With sequencer mode selected and a channel's Graph Editor open, pressing sequencer steps will select steps to edit, rather than setting steps on and off.

Button options include Step Parameters and Change Step Parameter. Step Parameters will simply open and close the Graph Editor. Change Step Parameters will cycle through all of the parameter options (Note, Velocity etc.).

Encoder Options include Set Step Parameter and Set Parameter Value. Set Step Parameter has the same functionality as the Change Step Parameter button function, but instead selects the parameter by encoder position. Set Parameter Value will do as the name suggests and set the value for the step.

The Step Parameters button is optional, as both the encoder functions will open the Graph Editor. That said, you will need a button set to enter or escape to be able to close the Graph Editor, but if one of those is already set on the layout, it may open a button for another function.

Up Arrow

Down Arrow

Left Arrow

Right Arrow

Enter

Provides the same function as pressing enter on a keyboard. Essential for making use of menus and the Browser through the controller.

Next

Previous

Previous and Next seem to work just like left and right. No difference is apparent but there may yet be.

Solo

Will solo selected Mixer Track, Channel, or Playlist Track depending on which window is active. If soloing a Playlist Track, the track must be selected using this script's Scroll option.

Mute

Will mute selected Mixer Track, Channel, or Playlist Track depending on which window is active. If muting a Playlist Track, the track must be selected using this script's Scroll option.

Open Channel

Opens the selected channel. Not much can be done from the controller on open sampler channels. This will open the selected plugin which the controller will be able to control.

Escape

Provides the same functionality as the keyboard's escape key. Useful to exit prompts or menus.

Cut

Same as CTRL-X

Copy

SAme as CTRL-C

Copy All

This will select an entire pattern.

Paste

Same as CTRL-V

Delete

Does the same as pressing the Delete key on the keyboard. This doesn't seem to do anything so it isn't on the web app as an option but could be entered manually.

Undo/Redo

Toggles between Undo and Redo. Undo Up is also an option for going back through the undo history instead.

Next Preset

Only controls Plugin presets. Next Pattern/Preset is recommended instead.

Previous Preset

Only controls Plugin presets. Previous Pattern/Preset is recommended instead.

Quick Quantize

Step Record

Toggles the step record option.

Change Color

Rotates through the color for the selected channel, mixer, or playlist tracks depending on what is active. Colors must be added under default options for this to function.

Random Trigs

Creates a random trig pattern on the selected channel. Does not set notes. The random chance percentage can be set with an encoder that has the 'Set Random Offset' option selected, although this is not necessary. The default 50% per step chance of being set provides a suitable range.

Random Notes

Sets random notes for the selected channel, not trigs. The root note and scale can either be set in the Default Options or with the appropriate Encoders set. Encoders can also be set to control the possible octave range of the notes.

Random Pattern

Sets both random notes and trigs in one function.

Increment Scale

Rotates through the available music scales for the random note generator. This functionality can also be set to an encoder.

Link Mix/Chan

This will link the selected channel to the selected mixer track. If not already linked, the mixere track will take on the name and color of the channel. If already linked, the channel will aso be linked but the track will maintain its name and color.

Route Mixer Track

Used in conjunction with an encoder that has Set Mixer Route enabled. The encoder determines the track number. Pressing Route Mixer Track will route the currently selected track to the one set by the encoder.

Save

Step Parameters

Opens step parameters for the selected channel.

Change Step Parameter

This will rotate through the various step parameter options. This excludes shift as it does not currently function correctly with the Python API.

Item Menu

Opens the menu for the currently selected window, Channels, Mixer etc.

Open New Pattern

This will open a new pattern, although FL Studio then demands a name for the pattern which you must enter or escape. It might be easier to press 'next pattern' until a blank pattern is reached

Next Preset/Pattern

Prev Preset/Pattern

This will select the next Plugin preset if a plugin is focused. Otherwise, it will select the next pattern.

Arm Track

Toggles record status of currently selected Mixer track.

Octave Up

Button control over the octave the keyboard is set to.

Menu

Opens the main menu. Left, Right, Up, Down and enter can be used to make selections.

Undo Up

Rather than alternate between undo and redo, this will keep going back in the undo history.

Set Root Note

Set Scale

Sets the root note and scale for the random scale generation and keyboard, if you have it set to play scales.

Encoders

Set Step Parameter

This is an option to use an encoder to select which step parameter to edit for the currently selected channel. This will open the graph editor, if not already open. This functionality is a bit slow.

Set Parameter Value

Changes the step parameter value for the currently selected step of the selected channel. Also opens the graph editor and works a bit slow.

Set Mixer Route

Controls which track the selected mixer track will be routed to when using the Mixer Route function.

Scroll

This allows a slider/touchpad/knob to function as a track/channel/playlist track selector. By default, it will scroll from mixer track 0 to 32. The max track number can be changed in the config.py file. In the Channel Rack, it will automatically compute how many channels are present.

Nothing

This will do nothing. Allows users to use the Link To Controller functionality within FL Studio without script conflict.