Support Files

Here are the download links for the various python samples and support files which are linked-to from the main blog.

If you have any script contributions of your own to make, please let me know, and I'll post them here, for the benefit of the Live community.



New! APC_64-40 script now compatible with Live 9 (thanks to an update courtesy of Fabrizio Poce).

New! FCB1020 script now compatible with Live 9.

Reference files:

API_MakeDoc script. This script generates Live API documentation in XML format, based on realtime inspection of the Live module.

Live 8.2.2 _Framework scripts decompiled

Live 8.2.2 APC40 scripts decompiled

Live 8.2.2 APC20 scripts decompiled

Custom Scripts:

FCB1020 script  Provides APC40 emulation and combination mode for the FCB1010 MIDI foot controller. Compatible with Live 8, on PC or mac. Can also be used as a generic APC emulation script, compatible with most MIDI controllers.

The latest APC40 customized script is APC_64-40 - featuring an all new 64 step sequencer mode.

Older APC40 customized scripts can be found below, including APC40_22 revision 4a compatibility fix for Live 8.2.2.

APC20a script. This script allows the APC20 to be used in combination mode with an APC40 running the APC 64-40 script. Beta version; compatible with Live 8.2.2.

APC20 script for Live 7




Introduction to the Framework Classes Part 1

7.0.18 MIDI Remote Scripts decompiled

AAA basic remote script demo - mostly transport controls

ProjectX/ProjectY demo script - for MIDI keyboard control of red and yellow boxes

Korg NanoPad script - 6 x 4 "red box", plus 4 x 4 navigation grid

Introduction to the Framework Classes Part 2

APC40 8.1.3 scripts decompiled

APC40plus1 script - changes APC40 metronome button to device lock

Introduction to the Framework Classes Part 3

APC40_20 scripts - adds APC20 functionality to APC40, including Note Mode and other mods.

APC20 8.1.3 scripts decompiled - original APC20 scripts for reference

Introduction to the Framework Classes Part 4
 
FCB1020 script - provides APC40 emulation and combination mode for the FCB1010 MIDI foot controller. Compatible with Live 8.1.3 & higher, on PC or mac. Can also be used as a generic APC emulation script, compatible with most MIDI controllers.



Miscellaneous

APC20 script for Live 7 - auto-mapping for the APC20 under Live 7. Compatible with Live 7.0.18 & higher, on PC or mac.



APC40 Note Mode scripts (See below for APC40_21 beta script - adds multi-page User Modes)

APC40_20_r4 is the latest APC40 Note Mode script revision (an alternate version, which uses Shift + Master for Note Mode, is also included in this file).

This set of Python scripts adds APC20 functionality to the APC40. Compatible with Live 8.1 & higher, on PC or mac.

To use, drop the APC40_20 folder into Ableton's MIDI Remote Scripts directory, and select APC40_20 from the MIDI Preferences dialog. Switch Track Input to "On".

Modifications and customizations include the following:

- Master Button = Note Mode. The 8 x 5 grid sends MIDI notes (36 through 75) when in Note Mode. The lower left 4 x 4 section of the grid will follow Drum Rack selection box. Use Shift + Master for Master Track Select.
- Shift + Arm = Slider Reassignment. 8 Modes are available (from left to right): Vol, Pan, Send A, Send B, Send C, User 1, User 2, User 3.
- Shift + Tap Tempo = Device Lock.
- Shift + Nudge- = Undo.
- Shift + Nudge+ = Redo.
- Shift + Cue Volume = Tempo Control.

To see Note Mode and custom control mappings, click to enlarge:





--------------------------
APS40_21 revision 0    download
--------------------------

This set of Python scripts adds APC20/Launchpad-style User Mode/Note Mode functionality to the APC40, with additional shifted control mappings. Compatible with Live 8.1 & higher, on PC or mac.

To use, drop the APC40_21 folder into Ableton's MIDI Remote Scripts directory, and select APC40_21 from the MIDI Preferences dialog. Switch Track Input to "On" for Note Mode, and switch Remote to "On" for User Modes.

Modifications and customizations include the following:

-------
Matrix
-------

* Shift + Track Select buttons = Matrix Modes selection. There are 8 Matrix Modes available. The default setup of the Matrix Modes is as follows:

* Shift + Track Select 1 = Clip Launch (default)
* Shift + Track Select 2 = Session Overview
* Shift + Track Select 3 = User 1 -> 8 x 6 Note Mode grid on Channel 10, Drum Rack mapping (4 notes wide)
* Shift + Track Select 4 = User 2 -> 8 x 6 Note Mode grid on Channel 11, notes laid out left to right (8 notes wide)
* Shift + Track Select 5 = User 3 -> 8 x 6 Note Mode grid on Channel 12, same as previous, but with sharps turned off
* Shift + Track Select 6 = User 4 -> 8 x 5 Note Mode grid on Channel 13, double grid 4 notes wide; does not use Clip Stop buttons
* Shift + Track Select 7 = User 5 -> 8 x 6 Note Mode grid on Channel 14, notes ascend in vertical columns
* Shift + Track Select 8 = User 6 -> 8 x 6 user Mode grid on Channel 15, no MIDI notes sent

For each of the User Matrix Modes, the following options are available for customization (by editing the Matrix_Maps.py file):
* LED colour assignment for each button
* MIDI note assignment for each button
* Channel assignment for entire grid
* Stop Track buttons included as part of grid
* Note Mode or User Mode setting (Note Mode sends MIDI notes, except where buttons are mapped; User Mode does not send MIDI notes).

The Drum Rack selection box is automapped to MIDI notes 36 through 72 on Channel 10 (User Mode 1 by default). This is the lower left 4 x 4 grid of User Mode 1, also coloured solid green by default.

-------
Sliders
-------

* Shift + Arm buttons = Slider Reassignment. 8 Slider Modes are available (left to right):

* Shift + Arm button 1 = Volume (default)
* Shift + Arm button 1 = Pan
* Shift + Arm button 1 = Send A
* Shift + Arm button 1 = Send B
* Shift + Arm button 1 = Send C
* Shift + Arm button 1 = User 1
* Shift + Arm button 1 = User 2
* Shift + Arm button 1 = User 3

------
Other
------

* Shift + Tap Tempo = Device Lock.
* Shift + Nudge- = Undo.
* Shift + Nudge+ = Redo.
* Shift + Cue Volume = Tempo Control.

-----------------
Revision History
-----------------

2010-06-10
* Initial APC40_21 release, built on APC40_20 script rev.4





The latest APC40 customized script is APC_64-40 - featuring a 64 step sequencer mode. Live 9 compatible version now available!

Older APC40 scripts are still available below.

-------------------------
APS40_22 revision 4a    download
-------------------------

The APC40_22 scripts are built on the APC40_21 scripts (see above), and have the same functionality, but also include new shifted Track Encoder modes.

To use, drop the APC40_22 folder into Ableton's MIDI Remote Scripts directory, and select APC40_22 from the MIDI Preferences dialog. Switch Track Input to "On" for Note Mode, and switch Remote to "On" for User Modes. Consider switching Takeover Mode to "Value Scaling" when using sliders or encoders in User mode. Compatible with Live 8.1.3 & higher, on PC or mac.

APC40_22 Custom Mappings, click to enlarge:










Customizations and new features include the following:

-------
Matrix
-------

* Shift + Track Select buttons = Matrix Modes selection. There are 8 Matrix Modes available. The default setup of the Matrix Modes is as follows:

* Shift + Track Select 1 = Clip Launch (default)
* Shift + Track Select 2 = Session Overview
* Shift + Track Select 3 = User 1 -> 8 x 6 Note Mode grid on Channel 10, Drum Rack mapping (4 notes wide)
* Shift + Track Select 4 = User 2 -> 8 x 6 Note Mode grid on Channel 11, notes laid out left to right (8 notes wide)
* Shift + Track Select 5 = User 3 -> 8 x 6 Note Mode grid on Channel 12, same as previous, but with sharps turned off
* Shift + Track Select 6 = User 4 -> 8 x 5 Note Mode grid on Channel 13, double grid 4 notes wide; does not use Clip Stop buttons
* Shift + Track Select 7 = User 5 -> 8 x 6 Note Mode grid on Channel 14, notes ascend in vertical columns
* Shift + Track Select 8 = User 6 -> 8 x 6 user Mode grid on Channel 15, no MIDI notes sent

For each of the User Matrix Modes, the following options are available for customization (by editing the Matrix_Maps.py file):
* LED colour assignment for each button
* MIDI note assignment for each button
* Channel assignment for entire grid
* Stop Track buttons included as part of grid
* Note Mode or User Mode setting (Note Mode sends MIDI notes, except where buttons are mapped; User Mode does not send MIDI notes).

The Drum Rack selection box is automapped to MIDI notes 36 through 72 on Channel 10 (User Mode 1 by default). This is the lower left 4 x 4 grid of User Mode 1, also coloured solid green by default.

-------
Sliders
-------

* Shift + Arm buttons = Slider Reassignment. 8 Slider Modes are available (left to right):

* Shift + Arm button 1 = Volume (default)
* Shift + Arm button 1 = Pan
* Shift + Arm button 1 = Send A
* Shift + Arm button 1 = Send B
* Shift + Arm button 1 = Send C
* Shift + Arm button 1 = User 1
* Shift + Arm button 1 = User 2
* Shift + Arm button 1 = User 3

-----------------
Track Encoders
-----------------
* Shift + Track Control buttons = Encoder Modes selection. There are 4 Encoder Modes available:

* Shift + Pan = Default (Pan / Send A / Send B / Send C)
* Shift + Send A = Alternate Device Mode. Encoders mirror the currently selected Device. In this mode, the track control buttons operate as follows (left to right):
    * Device Lock/Load
    * Device On/Off
    * Device Bank Left
    * Device bank RIght
* Shift + Send B = EQ/Filter Mode. In this mode, Encoders 1 & 5 will map to current track's Device Filter & Cutoff (if track has device with Filter/Cutoff controls); Encoders 2, 3 & 4 will map to track's Send A, Send B & Send C; Encoders 6, 7 & 8 will map to track's first three EQ controls (Low, Mid & High, if track has EQ3). In this mode, the track control buttons operate as follows (left to right):
    *EQ Lock/Load
    *EQ Low Cut
    *EQ Mid Cut
    *EQ High Cut
* Shift + Send C = User Mode. Encoders and track buttons can be user-mapped.

* In Default Mode, pressing and holding the Pan button switches between Pan control and Volume control for the 8 Track encoders.

------
Other
------

* Shift + Tap Tempo = Device Lock.
* Shift + Nudge- = Undo.
* Shift + Nudge+ = Redo.
* Shift + Cue Volume = Tempo Control.

-----------------
Revision History
-----------------

2011-04-27
* APC40_22 revision 4a - Live 8.2.2 compatibility fix

2010-09-07
* APC40_22 revision 4 - Added support for Combination Mode

2010-08-10
* APC40_22 revision 3 - Added Press & Hold feature for Pan button (to switch between Pan and Volume control modes); fixed bug where manual MIDI-mapping of Pan encoders would override Send mode encoders as well; fixed bug where either sliders or encoders (but not both) would follow session highlight (aka "red box") when mapped to same control.

2010-07-15
* APC40_22 revision 2 - Fixed bug: Encoder LEDs now update without lag, when device parameters are being controlled by another element (such as sliders).

2010-06-29
* APC40_22 revision 1 - Fixed bug: Track Encoders in EQ/Filter Mode (Shift + Send B) would sometimes would not fully release parameters.

2010-06-27
* Initial APC40_22 release, built on APC40_21 script rev.0



-----------------------
FCB1020 revision 3   download FCB1020 revision 3 for Live 9  (see below for Live 8 version)
-----------------------

This set of Python scripts provides APC40 emulation and combination mode for the FCB1010 MIDI foot controller. Compatible with Live 9, on PC or mac. Can also be used as a generic APC emulation script, compatible with most MIDI controllers.

To use, drop the FCB1020 folder into Ableton's MIDI Remote Scripts directory, and select FCB1020 from the MIDI Preferences dialog. Choose appropriate MIDI Input port, and set Output to None.

To dump sysex, set Input port to None, then select appropriate Output port. To prepare FCB1010 to receive sysex dump (for stock firmware), press and hold the "Down" pedal while powering on, press the "Up" pedal twice, then press "7". Dump sysex, then press and hold "Down" pedal until countdown ends.

Switch Track Input to "On" when using Drum Rack mappings. Consider switching Takeover Mode to "Value Scaling" for smoother foot pedal operation.

Custom mappings can be made by editing the file MIDI_map.py with any text editor; see within MIDI_map.py for further instructions.

An FCB1010 map layout in PDF format, with editable text fields, is included for reference. See MIDI_map.py for a complete list of functions which are available for MIDI mapping.

----------------
Revision History
----------------

2013-03-16
* FCB1020 revision 3 - Live 9 compatibility fix (not backwards compatible with Live 8.x)

2012-01-06
* FCB1020 revision 2 - Live 8.2 compatibility fix  Download FCB1020 revision 2 for Live 8

2010-09-08
* FCB1020 revision 1 - added customization option to handle controllers which use MIDI CC messages for buttons/pads

2010-09-07
* Initial FCB1020 release

135 comments: