Control Surface Studio Documentation

remoteAdmin's picture by remoteAdmin last updated Feb 10, 2019

Getting Started

Control Surface Studio is an incredibly powerful Desktop Application designed to make building MIDI Remote Scripts for Ableton Live as easy as possible. Any new tool however, requires some getting used to so we have created this set of detailed documentation which we will continuously maintain in order to provide you with all of the information you need.

If you are not able to find the answer to a question, you can post it in the Forum or send us a message via the Contact Form.

Requirements

In order to use the Control Surface Studio Application, you will need

  1. A Computer running either MacOS or Windows operating systems
  2. A connection to the Internet.
  3. A Remotify user account which you can setup for free at Remotify.io/user/login

Installation

Control Surface Studio is a Desktop Application

After purchasing the App, you will see download links for Windows and Mac on the Control Surface Studio Product Page.

Only the latest version will be available for download here.

Once the download is complete, in your downloads folder you will see ControlSurfaceStudio.dmg (Mac) or ControlSurfaceStudio.exe (Windows).

Double click on this and follow the onscreen instructions to install the Application as you normally would for your Operating System.

Registration

To login and use the App, you will to be registered for a Remotify.io user account.

If you don't already have an account there are 2 ways to register.

Registration within the App.

When you first launch Control Surface Studio, you will see the login screen. Click 'Create a New Account' in the bottom right corner of the login form. This will display the Registration form. Enter a Username, a valid email address (this will be needed to active your user account) and enter a password. Re-enter your password in the 'Confirm Password' box then click 'Register'.

Your Account will now be created at Remotify.io (ensure you are connected to the internet).

Registration on the Remotify.io website

To register directly on the website, go to https://remotify.io/user where you will see a registration form. Complete all fields and click 'Register'.

Activate your Remotify User Account

After completing the registration form, an automated email will be sent to the email address that you provided.

Click the activation link in the email, you will be redirected to remotify.io where you will see a success/confirmation message. Your user account is now active and you will be able to login to the Control Studio Application.

If you cannot find the email, please check your spam folders. If it isn't there, contact us at https://remotify.io/contact

Forgotten Password

If you have forgotten your password, you can reset it via the Application or on the remotify.io website.

Resetting your password via the App

On the login form, click the link 'Forgotten Password' where the Forgotten Password form will be displayed. Enter the email address you entered when registrating your Remotify user account and click 'Email New Password'.

You will then see the message 'Further instructions have been sent to your e-mail address'.

Resetting your password on the remotify.io website

Go to https://remotify.io/user/password, enter your username or email address and click 'Email new password'.

Password Reset Email

after submitting the Forgotten Password form on either the App or website, you will receive an email titled 'Replacement login information for *username* at Remotify' (remember to check your spam folder if you do not see it).

Click the link in the email, you will then be redirected to a form where you can enter a new password.

Updates

To use the Control Surface Studio App, you must be using the latest version available.

When you launch the App, if a newer version is available you will see the message 'To Continue using the App, you will need to update to the latest version.'

Click the download link to immediately download the latest version to your computer.

Once download is complete, install the new version and delete the old one.

Purchasing a Licence

To purchase a licence for Control Studio, go to the product page remotify.io/product/control-surface-studio.

Click the link to buy and follow the checkout steps.

Once checkout is complete, your Remotify Account will be automatically upgraded.

If you see the unlocked symbol in the top right corner, this indicates that the Licence has been applied to the App.

If you still see the 'purchase a licence' icon, logout and log back in and the App should automatically update.

Overview

Control Surface Studio has 3 main sections. The Script Manager, The Controller Manager and MIDI Controller Area.

The Controller Manager is used to create and Manage all of your MIDI Controllers. All MIDI Information and default control are set in here.

The Script Manager is used to manage Scripts and all functionality for them. In here you can add and import multiple scripts, everything is instantly saved so you can come back at later time and continue editing and refining your scripts.

Scripts require a MIDI Controller to attach functionality to. The Controllers attached to your Script can be changed at any time. The MIDI Controller Area is visual representation of the currently selected MIDI Controller. This is extremely useful when building Scripts as you can quickly see which Control you adding functionality to.

Header

The header contains clickable menu icons for the Settings Menu, Error Log , MIDI Monitor and logout link. On the right side you will also see a link to ‘Purchase a Licence’ or ‘unlocked’ icon depending on your user account status.

Settings Menu

Ableton Live Location

Click the browse button, Explorer (Windows) or Finder (Mac) will open. Navigate to the location of Ableton Live that you are using, click on your Ableton Live .app (Mac) or .exe (Windows) file and then click open.

MIDI Remote Script Folder location

The location of your MIDI Remote Script Folder will be automatically set once you select the location of Ableton Live in 'Ableton Live Location'. Ensure this is correct as Control Surface Studio will automatically generate MIDI Remote Scripts into that folder. If the folder location is incorrect then Ableton Live will be unable to find your MIDI Scripts.

Live Version

Once 'Ableton Live Location' is correctly set. 'Live Version' will automatically populate with all available Ableton Live versions on your Computer.

Log.txt Location

Ensure this has been automatically set correctly. If it isn't you can click 'browse' and find the location of Ableton Live's log.txt file.

See 'Error Log' for details.

Show grid

This shows and hides the grid for 'The MIDI Controller Area'.

Error Log

The Error Log contains any errors added to the log.txt file by Ableton Live.

These errors help to find and debug issues in any MIDI Remote Scripts.

For the Error Log to function, you must set the correct location of the log.txt file in the 'settings menu'.

If there are errors in the log, a small red circle will be displayed above the Error Log icon in the Header.

Understanding Errors

Errors are listed from bottom to top - bottom being the latest error. Each line contains a piece of information related to an error. Some pieces contain details of the script and line number that are causing errors.

For example 'File "MIDI Remote Scripts/css_button_press_delay_test_2/css_button_press_delay_test_2.py", line 812, in scroll_active_device_bank'

This contains 3 valuable pieces of information.

  1. The name of the script that is erroring 'css_button_press_delay_test_2.py'
  2. The line in the script causing the error 'line 812'.
  3. The name of the python function causing the error 'scroll_active_device_bank'

Clearing the Log

Clicking the 'Clear Log' button will empty the log.txt file. It is advisable to periodically clear the log.

MIDI Monitor

What is MIDI Monitor?

MIDI Monitor is used to listen for MIDI messages transmitted by any MIDI enabled Devices that are connected to your Computer.

MIDI Monitoring on/off

When this is turned on, COntrol Surface studio will listen for anu incoming MIDI Messages. You will see a green circle next to the MIDI Monitor icon, when this is on and a red circle when off.

Latest MIDI Message received

When MIDI Monitor is turned on, this will be updated with the last received MIDI Message.

Logout

Clicking the header > logout link will end your session and redirect you to the login screen.

Purchase Licence Icon

if you have not yet purchased a Licence, you will see the message ‘purchase a Licence’. After purchasing the licence, this will change to the unlocked icon.

The Manager Switcher

The ‘Manager Switcher’ column contain 2 clickable icons which enable you to switch between displaying the ‘Script Manager’ and ‘Controller Manager’.

Script Manager

The Script Manager is the place where you create and manage all of your custom Ableton MIDI scripts. It displays by default when you first load the App.

What are MIDI Remote Scripts?

MIDI Scripts Scripts (also known as Control Surface Scripts) are what Ableton Live uses behind the scenes to program connected MIDI Controllers/Keyboards.

Control Surface Studio automatically generates these Scripts based on your own custom configurations and installs them directly into Live’s own MIDI Remote Script folder, ready for use

Adding a new Script

A new script can be added to the Script Manager by clicking the ‘add’ icon in the header of the Script Manager.

Script Settings

The settings form can be opened by clicking the cog icon to the right of the Script name. Scripts are automatically given the name ‘New Script’. Change this in the settings form to something more descriptive.

Selecting a MIDI Controller

The Controller select list is populated with all MIDI Controllers found in the Controller Manager.

Select the MIDI Controller which you are going to build a script for. If your desired Controller isn’t available in the list, you can create a MIDI Controller yourself in the Controller Manager or import one if we already have it available online.

Viewing the selected MIDI Controller

Upon selecting a Controller, you will see a visual representation of it appear in the MIDI Controller section in the right side column.

Importing a Script

To open the Import section, click the Import icon in the top right corner of the Script Manager. The Import section will appear to the right.

There are 2 ways to Import Scripts into The App, from your computer or from remotify.io. With both methods, when a script successfully imports, it will immediately appear in the Script Manager.

Importing a script from your computer

Click the browse button, then find the Script .json file, click open, then import.

Importing a script from remotify.io

Here you can import from our selection of pre-built scripts directly from our website. Simply click the ‘import’ link for a script.

Adding a Mapping to your Script

Mappings can be added by clicking the plus icon to the right of other, parent mappings and scripts.

The Mapping Hierarchy

It’s important to note that mappings have a strict hierarchy in how they can be added.
For example, every mapping must exist inside a ‘Mode’ mapping type. So if you click a Script’s plus icon, you will see that ‘Mode’ is the only highlighted / clickable mapping type.

Mapping Type Colours

The colours of highlighted mapping types indicate their level within the hierarchy.
This is purely to make it quick and easy to understand the structure of your script as these same level colours, are carried over in the Script Manager.

Mapping Indentation

Parent and children mapping types are also made more visual by indenting them inside the Script Mapping Menu.

Generating and installing Scripts into Ableton Live

Clicking the ‘Install Script’ icon to the right of a Script generates the python code for it to run inside Ableton Live.
This is done by sending your script’s configuration to our server which returns the complete set of python scripts.
The Script is then installed automatically into Ableton Live’s ‘MIDI Remote Script’ folder ready for use. Ensure that you have setup the location of your Ableton Live Application correctly in the settings menu found in the header of Control Surface Studio.

Activating your script in Ableton Live

After successfully installing your Script, reload your Ableton Live session or restart it. Then go to preferences > MIDI. In the control surface column, open a select list and find your script.

Then after selecting your script, then select your MIDI Controller/keyboard from the Input and output select lists on the same row. Then for the MIDI ports options below, set ‘track’ and ‘remote’ to ‘on’ for your MIDI Controller/keyboard’s input and output.

The naming structure of Control Surface Studio Scripts

All scripts created by Control Surface Studio are prefixed with “css_” so if you named your script “My first Script”, it will be named “css_my_first_script”.

Mapping Errors

There are 2 places where Errors related to your scripts can be displayed.

Pop Up errors

These are Errors which appear, usually during generation of your script and will appear in the right side of the App.

Error Log Errors

Displayed in the Error Log which is found in the header. These are Errors returned by Ableton Live during execution of scripts.

Editing Script Mappings

Each mapping has its own settings form.
Clicking the cog icon to the right of the mapping name opens its settings form.

Type

The Mapping Type.

Name

The user definable Mapping name. Give each mapping its own descriptive name.

Minimum & Maximum

Some mapping types such as Volume & Device Parameters have Minimum & Maximum form options. These enable you to set the minimum and maximum that a mapping will move to, usually as a percentage of 100. 0% being the absolute minimum and 100% being the absolute maximum.

Snapping

Used combination with Minimum & Maximum, if the parameter in Ableton is positioned outside your Min/Max settings and snapping is turned on, when you move your physical control, the parameter will first snap to either min or max then continue moving as normal.
If snapping is turned off then the parameter will not move unless it is already inside your Min/Max settings.

Controller Input

The Controller Input select list contains all available inputs for the MIDI Controller/Keyboard currently linked to your script in the Script’s Settings Form.

Viewing the selected input visually on the MIDI Controller

When you Select an Input, the control will become highlighted in the MIDI Controller Window to the right.

Control

The control option enables you to override the MIDI Controller’s control type functionality.
When set to default, control settings from the attached MIDI Controller input are used.

Overriding default Control

Setting the ‘Control’ option to ‘Custom’ overrides the Control type settings from the MIDI Controller.

Why override default Controls?

Overriding Controls gives you the ability to change how Physical Inputs on your MIDI Equipment can interact with parameters inside Ableton Live. Buttons can act like knobs and vice versa. There are also options to set your control as an ‘increment' or ‘decrement’, as these mean nothing outside Ableton they are not available in the Controller Manager.

Control Types

Absolute

Sends MIDI Message Values from 0 - 127.

Relative

Sends a single value continuously while turning the physical input left/down and another value when turning right/up.

On/Off

On/Off buttons can work in 2 different ways depending on how your MIDI Controller is setup.
If it is Momentary, a MIDI Value is sent when the button is pressed AND when released.
If it is a toggle, an ‘on' MIDI Value is sent on first press, then an ‘off’ Value is sent on second press.
You can also set ‘Momentary/Toggle’ in ‘Switch Type’ (see below) but it’s important to note that this does not change the configuration of your Physical Controller, only the way in which your script fires functionality.
For example, setting your Switch Type to ‘Momentary’ can mean that functionality only fires when an ‘on’ value is received, compared to ‘Toggle’ which will cause functionality to fire when both ‘on’ and ‘off’ are received.

Increment & Decrement

Increase or decrease the current value of a mapping. Useful for controls inside Ableton Live which have value ranges . Volume, Tempo, Sends, Device Parameters etc. Usually can be used in combination with ’Steps’ to set the amount in which the control increments/decrements each time a MIDI Value is received.

Control Options

First and Last Values

Used by the ‘Absolute' Control Type to set the complete value range that your script listens for. It’s important to note that ‘First’ must be the lowest value & ‘Last’ is the highest.
Here it is possible to only use a portion of your Physical Input’s complete range meaning, for example if you only want half of your Knob to control a Volume, you can set the range as First: 0 and Last: 63. The Volume will now move from 0db to 6db with only a half turn of your Knob.

Invert

Used by Absolute controls to reverse/invert the direction of the control.

Takeover Mode

Used by Absolute Controls. mimics Ableton Live’s internal Takeover mode, except that here you can set it per control.

Left and Right Values

Used by Relative Controls to set the left/right MIDI Values which your script listens for.

On and Off Values

Used by On/Off, Increment & Decrement Control Types to set the on and off MIDI Values that your script listens for.

Steps

Used by Relative, Increment & Decrement Control Types. It is used in different ways depending on the Mapping Type. For example, with mappings that have Value Ranges such as Volume, Sends, Pan, Device Parameters, the amount that the control moves with each button press/knob turn is calculated by the total range divided by the number of steps that you have set.
For navigation type mappings such as Track/Scene Navigation, the step number is the number of tracks/scenes to move by with each press/turn.

Switch Type

Used by On/Off, Increment & Decrement Controls to handle when a mapping should fire. Note that a matching On or Off value must first be received by the script before this point is reached in the execution process.

Momentary

Will fire only when the ‘On’ value is received.

Toggle

Will fire when ‘On’ or ‘Off' is received.

Delay

Will fire only when the time between receiving the ‘On’ Message and ‘Off’ Message is greater than the value set in ‘Delay Amount’.

Delay Amount

Sets the delay amount (in seconds) to listen for. 0.5 equals a half second delay.
Only available when 'Switch Type’ is set to ‘Delay’.

Managing Script Mappings

​Right clicking on a mapping opens a contextual menu which gives you access to some other mapping management options.

Copying / Pasting Mappings

To copy a mapping right click on the mapping /parent mapping for the group and click “Copy”. All children will also be copied.
To paste, right click on the parent mapping that you want to paste into and click “Paste”. Note the mapping hierarchy, if you are trying to paste into a place which does not fit the hierarchy then the ‘Paste’ option will be greyed out.

Deleting Mappings

Right click on the mapping and click “Delete”. Note this will also delete all children of the Mapping.

Script Mapping Types

There are many different mapping types for your scripts, each are designed to control specific pieces of functionality within Ableton Live.

Mode

​Inside your Script, The mode mapping type is what all other mappings sit inside.

A Mode contain a collection of mappings which can all be activated and deactivated together as a group. Only 1 Mode can be active at any time and you can change the active mode using a Mode Selector mapping type.

Mode Selector

Change the active Mode.
Change to a specific Mode by using 'Select Mode’ and selecting the desired Mode.
Scroll through Modes by using ‘Scroll’. Note: as the active Mode will change when you scroll, add the same mapping to all Modes so you can keep scrolling through them.

Reactions / Individual Reaction Mappings

​The Reaction Mapping type can be used to do things such as sending velocity value feedback to your MIDI Controller to set LEDs.
When you add a Reactions mapping type, you will first need to select the number of Reactions to add. This will automatically create the selected number of Reactions as children in the Script Manager.

There are 3 steps in the Reaction process.

1 Listener

Set the event that must happen in order for a reaction to fire. There are 3 types of Listeners:
Controls: when a physical input on your MIDI Controller sends a MIDI message.
Mixer: When a Mixer control in Ableton is changed in some way. The mute button is activated for example.
LOM: When a LOM(Live Object Model) event occurs. LOM events cover a wide variety of Ableton Live events.

2 Conditions

Set conditional options which must be met for a Reaction to fire.

3 Reactions

The event that occurs when Listener fires and all Conditions are met.

Session Box

Also known as ‘Red Box’, displays a custom sizeable coloured box in Ableton Live.
Use ‘Tracks’ and ‘Scenes’ options to set the height width and height of the Box respectively.

Duplicates Error

You cannot set more than 1 clip in the Session Box to the same Input. If you do, your script will error when you attempt to run it in Ableton Live.

Session Box Navigation

Moves the displayed Session Box.
Set to ‘tracks’ to change the track position.
Set to ‘Scenes’ to move the scene position.
Select ‘Scroll’ to scroll across tracks or up/down through Scenes.
Select ‘Select track/Scenes number’ to move to a specific Track/Scene.

Highlight Navigation

​Moves the Track/Scene highlight.
Set to ‘tracks’ to change the track position.
Set to ‘Scenes’ to move the scene position.
Select ‘Scroll’ to scroll across tracks or up/down through Scenes.
Select ‘Select track/Scenes number’ to move to a specific Track/Scene.

Device Navigation

​Scroll through the currently selected Device chains.

Tap Tempo

Set the tempo of your Session by tapping it out.

Tempo

​Control over the Tempo of your Session.
Set a Minimum and Maximum BPM range.

Song Tempo Nudge Up

​Control over Ableton Live’s Nudge Up functionality.

Song Tempo Nudge Down

​Control over Ableton Live’s Nudge down functionality.

Metronome

Turn the Metronome on and off.

Play

​Control over Ableton Live’s Play button.

Stop

Control over Ableton Live’s Play button.

Arrangement Record

Turn on/off Arrangement Record.

MIDI Arrangement Overdub

Turn on/off MIDI Arrangement Overdub.

Session Record

Turn on/off Session Record.

Redo

Redo change if available.

Undo

Undo previous change if available.

Arrangement Punch In

Turn on/off Arrangement Punch-in switch.

Arrangement Punch Out

Turn on/off Arrangement Punch-out switch.

Track

Set the track which all children mappings will control.
​Type options: track (select from the available mixer tracks), return (select a return track), selected (the currently highlighted track), master (the master track).
Number options: if track or return is selected for Type you can select a track number here.
Include folded tracks: Yes/No. should tracks folded into groups be selectable.
Relative to Session Box: If a Session Box is active and you have selected ‘Yes’, then your track number will be relative to its current position, meaning it will move with the Session Box. If you set this to ’No’ then the track selection will always stay the same.

Volume

Control the track’s Volume. Set the Minimum / Maximum value range to control.

Pan

Control the track’s Volume. Set the Minimum / Maximum value range to control.

Mute

Turn the track’s Mute/Track Activator button on and off. Mute

Solo

Turn the track’s Solo button on and off.

Arm

Turn the track’s ‘Arm Session Recording’ button on and off.

Sends & Individual Send Mappings

First select the number of send controls you would like to create . This will atomically create the selected number as ‘Send’ children in the Script Manager.
For each individual Send mapping you can select the send number to control and set the minimum / maximum range for it.

Device

This is the Device selector for a specific Device within the parent Track selection.
All children mappings will use this selection to control a Device.

Chain Targeting

​Inside Ableton Live, Devices can be contained within other ‘Device Chains’. Chain targeting enables you to dig down to specific Device Chain/level. From there you can select a specific Device number using the ‘Device Selector’ option below.

Device Selector

Number: select Device a number.
Selected: The currently selected Device.

Parameter bank / Individual Parameter Mappings

A Parameter bank is group of individual Parameter mappings.
Select the number of Parameter Mappings you would like to create. The selection will be automatically created as children in the Script Manager.
Switch between active Parameter Banks using a Parameter Banking mapping type.

Individual Parameter Mappings

Select parameter by: Choose the Parameter number that you would like to control in the Device.
minimum / maximum: Set the range to control for the Parameter.

Device On/Off

Control the Device’s on/off button.

Parameter Banking

​Change the active Parameter Bank.
Select Bank Number: select a specific Parameter Bank to change to. The number is order number that a Parameter Bank appears in the Script Manager for that Device.
Scroll: scroll through all available Parameter Banks for that Device.
Note that when a new Parameter Bank is activated, its name is displayed in the message window or Ableton Live.

Select Device

Selects the parent Device. (Moves Track highlight and Device Highlight to it).

Controller Manager

Contains all of the available Controllers. Here you can create your own custom Controllers, or download pre-built Controllers to use with your Scripts.

What are Controllers?

Controllers are where MIDI Message information for every Physical Input on a MIDI Controller are defined, ready for use by Scripts. All controls also have a visual representation in the MIDI Controller Area.

Adding a New Controller

Make sure you are viewing the Controller Manager and click the ‘add controller’ plus icon in the Controller Manager’s header.

Setting the Controller’s grid

When you add a new Controller, its settings form will automatically which has options to set the grid dimensions in the MIDI Controller Area. Default settings are added which you can change. Square Size: The size of a grid square in pixels. Grid Height: The number of squares in height Grid Width: The number of square in width.

How to turn the grid on and off

The grid can be displayed and hidden in the "settings Menu”.

Colour Assignments

Add Colour names and the corresponding Velocity Values which the MIDI Controller uses to display them on LEDs. You can find these Velocity Values in the User Manual for your MIDI Controller/Keyboard.

The MIDI Controller Area

A visual representation of the MIDI Controller/Keyboard you are creating. The position of each control is set in its settings form.

Importing a Controller

To open the Import section, click the Import icon in the top right corner of the Controller Manager. The Import section will appear to the right.
There are 2 ways to Import Controllers into The App, from your computer or from remotify.io With both methods, when a Controller successfully imports, it will immediately appear in the Controller Manager.

Importing a Controller from your computer

Click the browse button, then find the Script .json file, click open, then import.

Importing a Controller from rremotify.io

Here you can import from our selection of pre-built Controllers directly from our website. Simply click the ‘import’ link for a Controller.

Adding an Input to your Controller

Clicking the plus icon to the right of your Controller’s name opens the Controller Input Menu. From here you can select the input type to add.

The Controller Input Menu

Displays all Input types that you can add to your Controller. After clicking one, it will appear in your Controller.

The Controller Input Settings Form

When you add a new Input to your Controller, its settings form automatically opens. You can also open it by clicking the clicking the Cog icon immediately to the right of the Controller’s name.

Input Settings form options

This contains all required options for the Input.

Grid Options

Set the size and position of the Input visually in the MIDI Controller Area.

Width

The width (in grid squares) of the input.

Height

The height (in grid squares) of the input.

Left

The position from left (in grid squares) of the input.

Top

The position from top (in grid squares) of the input.

Radius

For round Input types, you have the option to set the radius (in grid squares).

Align to

If the input type has a radius, you can align it to the top left corner or the centre of the input.

MIDI Messages

A MIDI Message is the Data that MIDI enabled uses to communicate with the Computer or other MIDI Devices.

Using MIDI Monitor to set Messages

You can automatically set the information for MIDI Type/Channel/Value by turning on the MIDI Monitor. With it turned on and an Input’s Settings form displayed, turn/move/press a physical input on your Controller and its MIDI Message Data will be automatically added to the MIDI Type/Channel/Value options.

Control Types

It is important to set the correct Control type and other information for an input. It should represent the exact same data sent by the Physical Controller. Note: you can override them in the script if you want to.

Absolute

Sends MIDI Message Values from 0 - 127.

Relative

Sends a single value continuously while turning the physical input left/down and another value when turning right/up.

On/Off

On/Off buttons can work in 2 different ways depending on how your MIDI Controller is setup. If it is Momentary, a MIDI Value is sent when the button is pressed AND when released.
If it is a toggle, an ‘on' MIDI Value is sent on first press, then an ‘off’ Value is sent on second press. You can also set ‘Momentary/Toggle’ in ‘Switch Type’ (see below). note: this does not change the configuration of your Physical Controller, check the User Manual for the Controller to do this.
For example, setting your Switch Type to ‘Momentary’ can mean that functionality only fires when an ‘on’ value is received, compared to ‘Toggle’ which will cause functionality to fire when both ‘on’ and ‘off’ are received.

First / Last

Used by the ‘Absolute' Control Type to set the complete value range that your script listens for. It’s important to note that ‘First’ must be the lowest value & ‘Last’ is the highest.
Here it is possible to only use a portion of your Physical Input’s complete range meaning, for example if you only want half of your Knob to control a Volume, you can set the range as First: 0 and Last: 63. The Volume will now move from 0db to 6db with only a half turn of your Knob.

Invert

Used by Absolute controls to reverse/invert the direction of the control.

Takeover Mode

Used by Absolute Controls. mimics Ableton Live’s internal Takeover mode, except that here you can set it per control.

Left/Right

Used by Relative Controls to set the left/right MIDI Values which your script listens for.

On/Off

Used by On/Off, Increment & Decrement Control Types to set the on and off MIDI Values that your script listens for.

Steps

Used by Relative, Increment & Decrement Control Types. It is used in different ways depending on the Mapping Type. For example, with mappings that have Value Ranges such as Volume, Sends, Pan, Device Parameters, the amount that the control moves with each button press/knob turn is calculated by the total range divided by the number of steps that you have set.
For navigation type mappings such as Track/Scene Navigation, the step number is the number of tracks/scenes to move by with each press/turn.

Switch Type

Used by On/Off, Increment & Decrement Controls to handle when a mapping should fire. Note that a matching On or Off value must first be received by the script before this point is reached in the execution process.

Momentary

Will fire only when the ‘On’ value is received.

Toggle

Will fire when ‘On’ or ‘Off' is received.

Controller Input Types

Container

The container Input type is purely for visuals in the MIDI Controller Area. Use it to draw the rectangular shape of your MIDI Controller.

Knob

A circular Input which can be a Control Type of either Absolute or Relative.

Slider

A rectangular Input which be a Control Type of either Absolute or Relative.

Crossfader

The same as a Slider by in a horizontal position.

Pads & Individual pad inputs

When you add a Pads Input type, you will see 2 options
Rows: Number of pads in width
Columns: Number of pads in height.
This will automatically add the number of selected pads (rows x columns) as children ‘pad’ input types into the Controller Manager.
Individual Pad Input types are a Control Type of On/Off.

Keys & Individual key inputs

When you add a ‘Keys’ input type, you will see this option:
Keys: select the number of child keys you require.
This will automatically add the number of selected keys as children ‘key’ input types into the Controller Manager.
Individual ‘Key’ input types are a Control Type of On/Off.

Button

Button Input types are a Control Type of On/Off. They can be either round or rectangular.

The MIDI Controller Area

A visual representation of the currently selected Controller when Controller Manager is active. When the Script Manager is active, it displayed the MIDI Controller attached to the selected Script in the Script settings form.