Control Surface Studio Changelog

*Note: Server Updates relate to changes completed on our backend server. You do not need to update your App in order to utilise these changes.

Version 2.8.2

1/10/23

New:

  • Blue hand is now added to device selections and added option to turn on/off “device selection follows track selection” - in the script settings form.

Improved:

  • Session box now navigates across visible tacks AND return tracks
  • To coincide with Session box change. Relative track selection For track and device mapping types  now use “visible tracks” and “return tracks” which match the session box position. This is the same for “relative track” selection in Reactions.
    • User will need to reselect track type for listeners/conditions/actions in order to get the new relative track code
  • Device Navigation’ mapping type improved for ‘Absolute’ knobs. Device selections for this are now spread across the full range of the knob
  • Device Navigation: added new option to auto collapse not selected devices and expand the selected device (absolute controls only)
  • Device parameters now work better with knob style controls. Including on/off parameter buttons
  • “Pickup” is now improved when controlling various device & mixer parameters.
  • Improved LED feedback from parameters.

Fixed:

  • Session box LED feedback
  • When script is disconnected, LEDs on midi controller now turn off.
  • Session box Navigation feedback. Buttons will send the “on” value to the input when there are tracks to move to and  will send the “off” value when there are no more tracks to move to.
  • logging table for “get value from ranges”

Server update

29/10/23

Fixed:

  • Issue with Exclusive Arm. Was erroring when a track didn't have an Arm button

Server update

21/09/23

Improved:

  • Added Exclusive Arm & Solo when turned on in Ableton preferences

Version 2.8.1

26/6/23

  • Fixed bug where changing number of keys & pads would break the midi controller panel.
  • FIxed bug where ”device parameter" was not sending LED feedback to midi controller (server)

Version 2.8.0

21/6/23

Complete rebuild of the user interface

  • Workflow improvements for creating Ableton scripts
  • Totally new layout for script and template management

New Homepage Overview

  • Four new tabs: 'My Scripts', 'My Controller Templates', 'On Remotify', 'Tutorials'
  • 'My Scripts' manages MIDI remote scripts
  • 'My Controller Templates' for controller templates
  • 'On Remotify' imports pre-made scripts and controller templates
  • 'Tutorials' provides links to all available tutorials

Scripts and Controller Templates

  • 'My Scripts' tab enables addition, import, duplication, deletion, and export of scripts
  • Scripts can be opened in the new ‘script editor’ view
  • 'My Controller Templates' mirrors 'My Scripts' in functionality but for controller templates
  • Each controller template displays any scripts which are currently using it

Script Editor

  • Similar two-column layout to previous versions, but with changes
  • Script manager on left, controller template manager on right
  • New log section as an extra panel in bottom right
  • Errors from Ableton Live displayed in red, log messages in green
  • Latest received MIDI messages, display in a panel in the bottom left corner.(last received MIDI data and connected all MIDI controllers)
  • MIDI learn can be turned on and off here too

Script Manager Overview

  • From the top: close editor button, open app settings, script name, button to access extra script settings (writing notes, changing global feedback)
  • Save button replaces autosave, lights up when there's a change in the script
  • Button to generate the script into Ableton Live, successful addition displays the script’s saved file location
  • Controller template menu for selecting and adding new controller templates

Mappings Table

  • Separate ‘Modes’ and ‘Mappings’ options
  • Add a mapping menu filters mapping types and opens settings form for each mapping type
  • Track mapping types and device mapping types can be directly selected, removing old hierarchy of adding track selectors, device selectors
  • Options for deleting, duplicating, importing, and exporting mappings
  • Rearrange  mappings with drag and drop
  • Filter mappings

Controller Template Manager

  • Several new features including changing the controller template name, save button, and settings menu with extra options
  • Bulk adding, deleting, and editing of inputs
  • Option to duplicate selected inputs and see a list of all selected inputs
  • Show/hide the Grid, Zoom in and out,  directly from the toolbar, 
  • Selected inputs can be exported to a JS file
  • Inputs can be imported directly into the controller template
  • Inputs can be directly resized by clicking and dragging the bottom right corner of the input
    Input settings accessed through clicking the pencil icon
  • MIDI data is now displayed alongside input name on hover
  • Click and drag to select multiple inputs
  • Controller templates can be edited without the script, changes applied to any scripts using the template

Configuration Files

  • Control Surface Studio 2.8 and up uses a new folder to store config/json files. (Control Surface Studio 2.8 in your OS user folder)

 

Server update

6/12/22

Fixed:

  • get_selected_device_num was returning -1 instead of 0 when the first device in a chain was selected.

Server update

9/8/22

Fixed:

  • Fixed issue where LEDs would turn off on controller when clips are moved in the UI (ba95ce1b)

Version 2.7

28/6/22

New: 

  • Controller Template: Inputs and Controller Template settings forms are now displays on the right size of the visual midi controller area
  • Controller Template: Export ‘controller template’ button added directly on the visual midi controller area
  • Controller Template: 'input names' are now editable
  • Controller Template: Multiple inputs can now be selected (hold ctrl/cmd + click)
  • Controller Template: Multiple inputscan now be selected
  • Controller Template: Bulk updating of multiple input's MIDI Data and visual sizes
  • Controller Template: Duplicate multiple inputs
  • Controller Template: Delete multiple inputs 
  • Controller Template: An Input will display green while matching MIDI data is being received from a connected midi controller.
  • Scripts & Mappings: ‘add controller template’ button added in the script settings form - Clicking it adds a new controller template and assigns it to the script.
  • Scripts & Mappings: ‘import controller template’ button added in the script settings form
  • Controller Manager: Can now select multiple inputs in Controller Manager (hold ctrl/cmd + click)

Improved:

  • Controller Template: 'Add Inputs’ menu is now located at the bottom of the visual midi controller
  • Controller Template: When an input is selected, it now has a blue highlight (instead of blue border)
  • Controller Template: Inputs now snap to the grid immediately
  • Controller Template: New inputs are now added to the right of the selected input
  • Controller Template: Improved the visual inputs to align better within the grid
  • Scripts & Mappings: Settings forms for ‘scripts’ and ‘mappings’ are now displayed in the left column (the third panel which opened in the bottom of the right column is now gone)
  • Scripts & Mappings: Controller Template Inputs can now be moved and edited while script manager is viewed (no longer need to be controller manager view)
  • Controller Manager: Multiple Inputs in Controller Manager highlight when they are selected in visual Midi Controller and vice versa.
  • Controller Manager: Add/Delete/Duplicate/export Input buttons have been removed (they are now available in the visual Midi Controller)

Fixed:

  • Fixed issue with Midi Learn not functioning correctly in previous version.

Server update

3/4/22

Fixed:

  • Fixed issue with modifiers not working with the Sends mapping type

Server updates

24/3/22

Fixed:

  • Fixed issue with LED feedback related to this forum post
  • Fixed issue with snap to max / min

Server update

5/3/22

Fixed:

  • Prevent users from running into the eror: get_device_chain_target error: we cant currently handle device selectors of type: Called by config_module

Server update

2/3/22

Fixed:

  • Bug with Session Box LEDs turning off when the selected device changes

Server updates

18/1/22

Fixed:

  • Issue where parameter banking was not working for increment / decrement buttons

Version 2.6.3

14/1/22

New: 

  • A section for writing notes has been added to the following forms:
    • Script Settings Form
    • All Mapping Type Forms
    • Each Action Block in a Reaction
    • Controller Template Settings Form
    • All Controller Input Type Forms
  • Duplicate, Move up & Move down buttons are now available for Reaction Actiion Blocks, Reaction Conditions and Reaction Actions

Improved: 

  • The Log Menu now displays current size (in mb) of the log.txt file.
  • Midi Learn/Monitoring can now be turned on/off directly inside the 'MIDI Settings' section of a controller input
  • Removed on/off button inside MIDI Monitor menu. It is now always monitoring incoming midi signals (no longer displays a red dot when on).
  • Each script in he 'script import section' now shows a description, and a link to it's webpage for more information.

Fixed:


Server updates

9/12/21

Improved:

  • Highlight Navigation now allows moving across return and master tracks aswell as regular tracks in the session.

 


Version 2.6.2

17/11/21

New: 


Server updates

11/10/21

Fixed:

  • Fixed issue where user.py file wasn't being called correctly in Ableton Live 11 (py3) scripts
    reported here: can't access user methods

Version 2.6.1

8/10/21

Fixed: 

  • Fixed reaction action 'set active mode' - it now activates the mode correctly

Version 2.6

18/9/21

New:

  • Reactions version 2, which includes...
    • Redesigned UI 
    • ability to add multiple listeners
    • New menu system containing hundreds of Ableton events and actions
      
    • Reaction errors are handled nicely in the log
      
    • Action blocks which have their own Loop, Condition and Action sections
     
    • Modifiers
    • Ability to use Modifiers in other mapping types
      
    • Script based listener events such as ‘when script is initialised’, ‘when mode is changed’
    • Ability to add custom code in Reactions
    • Easily send custom LED feedback to the connected Midi Controller
    • Send Raw Midi data to Controller (sending Sysex is possible with this)
  • Added 'Quit Control Surface Studio' menu option / shortcut

Improved:

  • Can now delete each individual row in a Reaction
  • Easily display data to the CSS log from a Reaction

Fixed:

  • A script containing only Reactions (and no other mapping types) works.
  • If user.py file exists, in script folder it is now automatically initialised by the script, for custom python coding.
  • bug where mappings would re-shuffle back to their original positions after re-ordering

 

Server updates

15/3/21

Fixed:

  • Ableton Live 11 would crash when attemping to move the session box to a position of less than 0
  • cur_val, pre_val and prev_press_time are now initialised on script load, as Ableton Live 11 / Python 3 reports errors if these are missing (this wouldn't happen in Live 10) - this fix has been applied to all Python versions.

Version 2.5.6

5/2/21

New:

  • Scripts can now be compiled for Ableton Live 11 (Python 3)
  • Ability to select Python version in settings menu
  • Support for multiple Python versions... 2.5 (Ableton Live < v9.5), 2.7 (Ableton Live > v9.5 and < v11) , 3.x (Ableton Live v11+) 

Fixed:

  • Script generation for Ableton Live 9.2.3 (Python v2.5)
  • Multiple autosaves causing saved json to become malformed (scripts disappearing in App)
  • layout of 'Device Parameter Banking' menu

Version 2.5.5

5/10/20

New:

  • 'Crossfader' mapping type
  • 'A/B Crossfade Assign' mapping type
  • 'Cue Volume' mapping type

Server updates

26/09/12

New:

  • Added import user.py file. Users can add a user.py file into their script folder (in Live's midi remote scripts folder) and the file will be automatically imported into the script.


 

Version 2.5.41

26/8/20

Fixed:

  •  json importing was failing on Windows operating systems.

Version 2.5.4

20/7/20

Improved:

  • In mapping and input menus, make close button stay visible at the top.

Fixed:

  • In Script Manager, the 'add mode' button would stop working after clicking an 'add mapping' button.
  • using 'csslog' in reactions to log to the CSS Log, it was outputting to the log twice.

Version 2.5.3

6/7/20 

New:

  • The width and height of panels inside CSS can now be increased/decreased by dragging their edges.
  • Settings forms now appear in a separate panel in the bottom right section of the App. 
  • The contents of the Script & Controller Managers respond in width to the size of the panel.
  • Button added for reloading CSS.
  • Names of controller inputs now display in tooltips when you hover them in the midi controller panel.
  • Tooltips added for all icons in the app.
  • Auto fix functionality added for json files containing an extra closing bracket at end of the file.

Improved:

  • If a script or controller .json file cannot be displayed or auto fixed (see above). An error message appears with details of the issue. 
  • Knobs in the midi controller were slowing performance of the App down, these have now been replaced with a much more lightweight option. 
  • As part of streamlining workflow, when in script manager view, its no longer possible to change selection (the blue outline) by clicking an input in midi controller view.
  • The logout text link is now changed to an icon.

Fixed:

  • Mappings in the script manager were becoming duplicated. This was happening in a variety of situations which have all now been fixed.
  • When a controller template contained two or more groups of 'Keys', one would often not be movable.
  • When adding multiple sets of pads or keys in a controller template, the name/number combination of inputs are now increased correctly, preventing duplicated input names.
  • The pads visual now updates correctly when you change the amount of rows / columns it contains.
  • Default script now downloads correctly on first App load. 
  • Install button would sometimes not work when you first create a new script or have just imported one.
  • Unable to assign a script to use controller template which was originally duplicated from another controller.
  • The default MIDI type for buttons, pads and keys is now set to 'Note'.
  • Plus many minor bug and stability fixes. 

 


Server updates

Fixed:

  • Fixed issue where Session boxes would disappear when Ableton Live 10.1.14 is reloaded. 
  • Fixed issue with relative encoders not firing functionality when turned.

New:

  • Selected Clip Quantization added.



Version 2.5.2

Fixed:

  • Fixed issue where controllers would become detached from scripts if controllers are moved around/re-ordered in the controller manager.
  • Fixed an issue with Duplication in script manager. If you moved a duplicated mapping into another mode, the duplicate button would stop working / multiple mappings would become highlighted / the script would no longer be usable.
  • Fixed issue with Delay option not working for Device On/Off mappings.

Improved:

 

  • Reactions: Assigning a Listener to a controller input now creates all required code for the reaction to fire (meaning dummy mappings are no longer needed).
  • Reactions: added 'self' as an option.
  • Reactions: In select lists for Listeners, Conditions & Reactions, only available options for each type are in select lists.
  • Reactions: cur_val (current value) is now available for use in reaction conditions.

Server update

3/10/19
  • Fixed an issue with right rotation not working for relative controls controlling volume.


Version 2.5.1

23/9/19
  • In Controller Manager: Pads, '1' and '5' added as options. (351)
  • In settings menu, added a browse button next to 'MIDI Remote Script Folder Location' (346)
  • Error Log now displays error messages correctly for Ableton Live 10. (319)
  • Fixed issue where all Controller Input options would be removed in script when a Controller input is duplicated. (331)
  • When a 'knob' is added to controller, its size is auto set to 4. Previously it had no setting so was not displaying correctly when first added. (348)
  • Fixed issue where visual MIDI Controller is not being refreshed when knob or encoder size is changed. (347)
  • Issue fixed where button had no width/height default when it is changed from round to square the first time. (349).
  • Fixed issue where deleting a control in the Controller Manager does not immediately delete it from the MIDI Controller Area (350)
  • User is now prevented from generating scripts which contain mappings beginning with a number as this breaks the script. (318)
  • User is now prevented from using a controller which contains inputs that have duplicate MIDI data (channel, type and value. (353)
  • This error now provides a user friendly/descriptive message 'get_controller_input error: no matching input found for 215 called by attach_it"' (335)
  • Added more full descriptions to controller and script import errors. (343)
  • 'Register' and 'forgotten password' links now go directly to website. (352)

Server update 

30/7/19
  • Fixed Session Box LEDs not updating when Session Box is moved.


Version 2.5

New:

  • Remember username/password details in Login Form (197)
  • Session Box: Offset
  • Session Box: Combination Mode (179)
  • Session Box: LED Feedback (203)
  • New Controller Input Types: Endless Encoder, LED Display, Text Input. (198)
  • Duplicate & Delete Buttons (200)
  • Ask ‘are you sure’ before deleting mappings / inputs. (225)
  • MIDI Controller area scrolling to selected Input (220)
  • Select Mapping's 'Controller Input’ from MIDI Controller Area. (237)
  • Added ability to click and drag Controller Inputs (In Controller Manager only). Inputs snap to grid positions. (199)
  • Drag and Drop functionality for Script Mappings & Controller Inputs (201)
  • Scripts now have Global LED Settings
  • Controllers now have default LED on / off values.
  • Added Bi-Directional LED Feedback (218)
  • Added Bi-Directional LED Feedback for:
  • - Mode
  • - Track
  • - Selected Track
  • - Device
  • - Device bank
  • - Device Parameter
  • - Session Box
  • - Session Box Navigation
  • - Tracks Relative to Session Box
  • - Highlight Navigation
  • - Parameter Banking
  • - Tempo
  • - Nudge Up
  • - Nudge Down
  • - Metronome
  • - Play
  • - Stop
  • - Arrangement Record
  • - Arrangement Loop
  • - Punch in
  • - Punch Out
  • - Volume
  • - Pan
  • - Mute
  • - Solo
  • - Arm
  • - Send
  • - Device On/Off
  • When Active Mode is changed, the global/controller LED Off value is sent to all inputs. (254)
  • The names of 'Color Assignments’ in the attached Controller are now added to ‘LED Feedback’ On/Off select lists. (278)

Fixed:

  • Reactions bug. Fixed if you select a 'LOM' option as a Listener, it resets the 'Reactions' menu option to 'show message. (207)
  • Make all Controls "exist" on modes even if no functionality is attached (239)
  • Fixed Copy and Paste on Mac. (148)
  • Fixed Import panels not closing when user clicks outside of them / changes between script & controller manager. (219)
  • Fixed 'Controller Input' Selection Keeps Changing. (230)
  • Display message on mappings if no controller attached. (242)
  • In the Custom Control section of mapping settings forms. First is now set as 0 by default instead of 1. (233)
  • Fixed Delete only working occasionally. (248)
  • In Session Box, only buttons are selectable. Fixes broken Session Box issue. (228)
  • Fixed Scripts hardcoding global 'Off' LED/Velocity Value as 4. (206)
  • Fixed MIDI Monitor Bug where the last open settings form was still being updated by incoming MIDI Messages. (253)
  • Improved functionality of 'Session Box Navigation’ when used with ‘Invert’ option.
  • Fixed 'Mode Selector’ bug where Script would error if selected Mode had been deleted. Installation now stops and returns an error message if selected Mode does not exist.(257)
  • Fixed Session Box issue which was causing errors when the attached Controller is changed. (214)
  • Fixed an issue with Tempo where Tempo would snap to 80bpm and stay fixed there. (271)
  • Fixed an issue with Knob/Range/Absolute style controls being used with On/Off Mapping types immediately setting the Control to off as soon as you turn the Knob. Now, the control will only turn off when the ‘Off’ Velocity value is reached and turn on when the ‘On’ Velocity Value is reached. (286)
  • Prevented Scripts from erroring when tracks or Scenes are added and then removed in the UI. (295)
  • In Session Box, UI now prevents duplicate inputs being selected for either Clips, Scenes or Track stops. This was causing scripts to error previously. (294)
  • Fixed a bug where the ‘Stop All’ Button in Session Box needed to have a section. (227)

Improved:

  • Default Selections for Navigation/Selector Mappings. By default we now have 'select track/scene number’ selected and a value entered in the accompanying input box. Previously ‘Scroll’ was selected by default.
  • This applies to the following mapping types: Mode Selector, Session Box Navigation, Highlight Navigation, Parameter Banking. (261)
  • iteration number is automatically added for Send and Device Parameters. (231)
  • On selected track change in Live, update Controller with new Velocity Values. (232)
  • Increased number of available Knobs and Buttons to 256. (235)
  • Added a green line next to Script Manager and a white line next to Controller Manager to help prevent confusion between which Manager is currently being viewed. (273)
  • An error message is returned if a Script fails to install into the set 'MIDI Remote Script' folder. (279)
  • Panning Defaults are now 0 & 100%. (284)
  • For Sends & Device Parameters, ‘Minimum’ Field is now above Maximum which is consistent with other Mapping Types. (284)
  • Improved details returned by Error Messages in the App. (296)

Server update

31/3/19
  • Akai MIDIMIx Controller File: Fixed some incorrect MIDI Values.

Version 2.4.1

14/3/19
  • Added Buttons to easily Export Script & Controller Json Files. (192)
  • Fixed bug which was overriding other other Apps from using CMD+R keyboard shortcut. (196)
  • Fixed issue with Reactions log and show message selections were being lost after switching to another mapping. (194)
  • Fixed issue with Reaction, Devices, Sends names reseting to default when increasing / decreasing the number of Reaction, Devices, Sends. (189)
  • Fixed MIDI Monitor issue which was updating MIDI Values for settings forms that were not currently displayed. (190)

Version 2.4 

3/2/19

  • Fixed disappearing Controllers Issue.
  • Fixed New Controllers not being saved.
  • Fixed Controller Input MIDI Messages keep reseting.
  • Fixed Controller Input values not being saved.
  • Fixed Controller Inputs being duplicated.
  • Increased number of buttons and knobs to 100.
  • Fixed auto generated location of log.txt file on Windows.
  • Reaction Bugs Fixed.
  • Fixed broken Device on/off code.