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

92 comments:

headrick said...

just thought i'd tell you again your the man

thank you for the time that you've be able to spare to make the community better

Mik said...

I have a question. I have the apc40 connected to ableton live 8.1.3, but the led's on the rotary knobs do not update in time with live's recorded controller motions during playback, making it impossible to edit recorded automation on the fly correctly. Quite strangely though, they do update in time perferctly during playback if parameter movements are recorded with the mouse instead of the akai. I'm using windows 7 64bit, but I dont think this makes a differnece as I get the same behaviour on vista. I'm sure its not a fault with the apc, as it funtions properly using live lite akai edition which came with the controller.

It does record the akais movements correctly, just wont translate them back to the akai in time during playback. Live only seems to update the akai when pressing play, stop, or if theres a definite pause in movement of the recorded parameter.

Any Ideas? I've tried using the 8.1.1 script, but it made no difference.

Anonymous said...

Mik

Please don't post questions about ableton bugs here, hanz is not working at ableton, though he should be with his great works. Hanz has giving us modified python scripts for use with the apc40 for extra functionality. Please make you post to ableton's excellent forums, for instance the Live 8.1.x beta bug forum. Also have you tried the latest beta? it is 8.1.4b2, let us know your results over at the ableton forums!!! Hanz keep up the good work, love it!!!!

Anonymous said...

I would like to thank you for these scripts. This added functionality has really made the APC40 what it should be.
Thank you again.

Anonymous said...

Thank you very much Hanz :)

Mudo said...

...

It is possible get colour from clips and show it in my octint (arduinome RGB)?

Thanks!

...

DJ Story said...

Hanz, this totally rocks! Thank you very much. I just got the APC40, and was looking for some added functionality. This is exactly what I needed! :)

Mr. Meoff said...

KILLER!

Anonymous said...

The work you have done here is exceptional. I bought an APC40 based purely on what I found here. It's an invaluable resource.

Thank You!

Stevie Vega

OGRE said...

Hey,
first of all thank you - the Note Mode Grid is excactly what I was looking for !! :-)
second: looks I am too stupid how to use the "shifted Track Encoder modes" ...
I hold shift and move one of the slider - and then? I midi map something via Abletons "String+M" command? Nope, then the "normal" volume command goes lost too.
How do I use the "shifted" Modes of the sliders and the knobs ???

iroko said...

hello. i was wondering if you have an idea how to write a script so that an akai apc20 can be used to to automatically map and control the rack macro knobs of a selected device. maybe you could develop something that could enhance the functionality of the apc20. i would be grateful if you could help.

Anonymous said...

@ iroko ... doesn't it already do that?

Rozzer said...

Hanz,

This is some amazing work. Thank you for sharing and for detailing it so well. It's people like you that make the internet rock :)

Could you explain the Filter mode? You said "Encoders 1 & 5 will map to current track's Device Filter & Cutoff (if track has device with Filter/Cutoff controls)". Presumably this only works with Auto-Filter?

I would love, love, LOVE to see a Track Encoder mode which was configurable like the Matrix Modes. I personally would like to have control over volume, pan and 6 sends for the selected channel. I know, it's probably a ridiculous amount of work ;)

Anyway, sterling work. I shall look forward to future versions if there are any.

Oh, and if you had a donate button, I would.

OGRE said...

yes, I definetely would donate too.

I figured out, how the "shifted Track Encoder modes" work - great!!

I have another idea: wouldn't it be great if we could replace the really useless PanKnobs (I guess nobody uses in a live set) with a "User Mode". Would that be possible ?

cheers,
Oliver

Will said...

Hey,

I've been trialling the APC_22 package as a replacement for the proprietary NativeKontrol scripts I currently use.

I've run into a show-stopper issue which is fixed in the NK templates. If I MIDI-map any of the "pan" controls the Pan/Send A/Send B/Send C switches stop working!

In the NK template I can MIDI map the pan controls and still have access to the default Send behaviour.

Is this something I've got misconfigured, or is this just a limitation of the current version of these scripts? If the latter, I might be able to patch it (Ruby/Python hacker), if you give me some direction about where to start!

Cheers,
Will

Will said...

(Interestingly, I don't get this issue with the native APC40 control script)

frankmerc1969 said...

Tried it last night and it works! The only thing is that track number six on the Apc40 will not trigger clips while in clip launch mode. So I removed the script and now Track six works. Aside from that it works well. my favorite is controlling a second device. I really don't use note mode, my main interest is using the top encoders for device control and sliders for controlling effects or vst instruments. Great job with the script

Hanz Petrov said...

Hey all,

Sorry I've been neglecting the comments section for a while, but here are some responses (better late than never). From the top:

@MIK: Your issue was fixed with revision 2 (I just needed to take a hint from Ableton's 8.1.5 Axiom_DirectLink scripts)
@Mudo: I'll get back in touch with you offline, but yes, clip colours can be retrived via the LiveAPI.
@OGRE: Glad you got it figured out. The "useless Pan knobs" can now be set to work as volume knobs by pressing and holding the Pan button (revision 3).
@irko: As I mentioned in my email to you, I don't have sufficient time (or motivation) to re-work the APC20 scripts, but feel free to ask any questions if you try it yourself.
@Rozzer: The Filter mode uses the _Framework TrackFilterComponent and automaps if one of the following devices is found on a track (Ableton's selections): AutoFilter, Operator, OriginalSimpler, MultiSampler, UltraAnalog, or StringStudio. A configurable Track Encoders might be possible, but yes, a fair bit of new code would be required. Maybe down the road.
@Will: Your issue is fixed with revision 3. Good catch.
@frankmerc1969: Not sure what your issue was, but it sounds like you've got it working now. Btw, what is "track number six"?

@All: Thanks for the kind words.

Hanz

frankmerc1969 said...

Hello Hanz thanks for the response. What I was tying to say regarding track six was that I cannot trigger any clips on the sixth column or the track selection Number six will not light up. this happened after i installed the script. everything else works perfectly except that section of the APC40. I can load some clips on that section but I cannot trigger them to play. When I remove the script I am able to playclips in the column? Maybe it's my mac ? I have an 2.0 ghz Intel Core 2 Duo running ableton 8.14 and just upgraded to 8.15, perhaps something is conflicting with the script? aside from that its great to be able to control a second device.

OGRE said...

Hey,
first of all ... like people had said before, I would donate some money, if you introduce a donate button ;-)
I like your to the "core" approach much more than things with bome's midi translator, etc.

I have some sugeestions:

- how about to introduce "momentary" buttons, like in those nativeKontrol patches ?

- and how about giving the ability to make a (user button) toggle, gate or trigger ?

that would make even more fun and could give better visual feedback (in the second case)

cheers,
oliver

Peter said...

Hi Mr. Petrov
I'm a big fan an follower of your work!
My question : is there a decompiled framework and a Novation Launchpad remote scripts around for the 8.1 version of Live? I spent the last night trying to UnPyc them, few bigger files still resist. I'v learned the 7.x Framework, but it it unusable in 8.x versions.
This message goes a bit far from the usual APC discussion, I agree, but any hint you may provide will be a great help.
I'll leave my mail, just in case : sadrik (at) free (dot) fr
Have a great journey and keep this great initiative of yours alive!

Anonymous said...

Hello,
I had no luck with the installation: If I put the folder in the User Remote Scripts directory, nothing shows up in Live. If I copy the UserConfiguration.txt there, it shows up, but it won't work as described. Any help?

Hanz Petrov said...

@Peter: No, I don't have decompiled 8.x scripts for the Launchpad or the 8.x Framework. However, the changes from 7.x are not too hard to identify, based on 8.x disassembly listings. The 8.x _Framework has a few new methods, but I haven't found any 7.x methods which are broken under 8.x, so the 7.x _Framework scripts are still an excellent reference for creating 8.x remote scripts.

@Anon: Customized python scripts should be saved in Live's MIDI Remote Scripts directory (not with the User Remote Scripts):
MAC OS X -> /Applications/Live 8.x OS X/Live.app/Contents/App-Resources/MIDI Remote Scripts/
PC -> C:\Program Files\Ableton\Live 8.x\Resources\MIDI Remote Scripts\

Anonymous said...

short question:

is it possible to bind specific APC matrix-layouts to specific devices?

for example: we would choose a drumrack as device ( its highlighted in ableton ) and then the matrix would automaticly work as a step-sequencer.
but if we would choose spectrum as device the apc matrix would ( for example ) directly show a dynamic spectrum with the help of the leds.

so that we could change the way that the apc works for every device of ableton.

its just an idea and at first i only want to know if its possible. i love these tutorials but it will take a long time until im good in these remote scripts. ( sorry for the bad english )

manu

Mr. Meoff said...

@manu
I have been pondering the same thing... I thought it would be sic to have 8 step seq rocking, one per channel. Press shift + solo, or ?, and the matrix would change. I dig the matrix changing to the device selected idea, killer!

Anonymous said...

it would be the best workflow i could imagine, but i think its quite difficult to code and i think M4L is needed aswell.

if anyone has an idea how to realise a "device-specific-matrix" remote script, pls tell us :)

manu

Mudo said...

...

Hanz Do you have my email, right? I have a really good news for you (I hope), please contact me ASAP.

for anyone interested on anything that I make:
luthier(dot)lab(arrow)gmail(dot)com

Ms. Pinky, arduinome rgb, handmade arduino controllers and so on...

;)

Bests, guys!


...

Mik said...

Hi Hanz The script is absolutely amazing, I'm no longer considering throwing my apc40 out of the window due to inproper led synchronisation now! Ableton should employ you to write their python scripts for them :) Thanks very much.

I just wish now I could find a way to record envelope information into individual clips in session view. Can anyone explain why its possible to do this using the mod wheel on my midi keyboard but not with the knobs on the apc40?

Gary said...

Greetings, Mr. Petrov.

I stumbled across your work and I am so glad that I did. It's fantastic. It truly is what the APC40 should have been in the first place(bar a few minor details). Maybe you actually worked for Akai or Ableton in the production of this and got sacked for suggesting all these ideas because too much functionality in one product might affect sales of other products? :p

Anyway, enough joking. It is amazing and I thank you very much for spending your time to do it and share it.

It has been mentioned already here but one thing I would really is momentary buttons. For example, one thing that I've been trying my best (obviously not good enough) to do for a while now is make the clip stop buttons (which I don't personally ever use) to different delay time or Beat Repeat grid settings that will activate the effect at the specified setting only while the button is depressed and, upon release, the effect would de-activate. I don't know and can't find that this is possible anywhere. Maybe your genius can help?
My goal is eventually to get much of the functionality and implemented in the same as the Pioneer EFX-500.

Thanks again and any insight or advice you can offer would be greatly appreciated.

Gary (ijustexist@hotmail.com)

Gary said...

P.S. One more thing that would be amazing to be able to do (and may or may not be possible - I don't know enough about this stuff) is to use the APC40 to control the browser. For example, the Banks arrow buttons or an encoder could be the arrows of a keyboard, shift + play could be to preview (if it's a sample), shift + record could be to select the sample or device and just put it into whichever track is selected either at the end of the chain or in the next clip slot and maybe shift + stop could be to get the focus on the browser in the first place.
Just an idea anyway. Still amazing what you've already done! Thanks again. :)

Big B said...

This is really amazing and useful! There are some incredible and useful functions built in here. I was wondering if it is possible to create a script that simply allows you another page of controls. Basically, another page of the default mappings so each slider, button, and knob can be manually mapped. This way I would have all of the default mappings on one page or bank, and then I can switch to another mode and manually map everything. That would allow me to keep my defaults and then quickly switch to a whole new set of controls. Almost as if i had two apc40s side by side, one with defaults and another with whatever i want. Thanks!

humanevolution said...

i really seaching hard on the net to see if someone has made a apc 20 script where fx user 3 slider mode was 8 macro sliders.... cut be so cool :)
can you make it?

Anonymous said...

Dear Hanz. Thanks for creating this site and posting up all your work and sharing your scripts. I was wondering if you or any of your kind readers could point me in the right direction here. What i would like to achieve is essentially turning the functionality of the button matrix sideways. Meaning 8 clips launchable from 5 tracks and if possible having stop clip and launch scene buttons reverse roles. I would like to do MLR style sample chopping in live simply by chopping up the portions of my tracks and using follow actions. I would rather not use a monome emulator of any kind because I'd like to not need to switch modes during a set it would fit my work flow better to simply build my sets around the above idea. I don't really need more than the five horizontal rows for tracks as I'm doing something more akin to a live producer set than a traditional dj set and would rather have the extra clips per track than the other way around. I am currently running Live 8.2.1 and attempted modifying the apc40-813 scripts provided here by changing the session view and matrix information to read as 8 clips and 5 tracks (meaning the most logical thing for me to attempt was to simply invert the values) but alas when using that modified script it did not read my apc40 at all. Is this a possible route to achieve what i want or is there some update in the script I'm missing that is causing the thing to fail completely? any help would be incredibly appreciated, sorry this was so long winded. thank you i can be contacted at Leon07(at)netzero.net
ps-sorry if this double posts it did not show up the first time

I r Pat said...

I'm having trouble installing this. I have tried each one.. I drop the APC_64_40 or APC40_21 folder in the MIDI Remote Scripts folder and nothing shows up. I changed the name of the folder to APC64-40 and I got it to show up in live preferences, but when I enable it, my APC is unresponsive. Any help would be much appreciated!

roel salemink said...

Hello,

i'm trying to change the matrix colors. I read above how you have to write it into the script. Only when i go to the midi scripts and open the .pcy file, i can't find where to change it.

Can someone please help me? Maybe with some screenshots??

rgds,

roel

Quantum Ninja said...

Hey love your work, I have been using the apc 20 script on Live 7 with two apc20's for the last month and it has been great, not sure if anyone picked this up but I am pretty sure the left right, up down buttons are reversed in comparison to how they operate in Live 8.

Also was wondering if something was possible. I did a gig tonight where I had 7 pages of songs split into 5 pieces each over 6 tracks in clip view. I had a couple of times where I accidentally didn't hold down shift long enough when trying to select the right page and ended up launching a whole line. Is there a way to bypass the shift and just have the rhs buttons as page select?

Mudo said...

Let's go for SERATO scripts maaaan!

:D


pd: thank you so much, you encouraged me to learn python coding. ;)

jones said...

is there a way to have digi002 as a control surface for ableton live 8

Anonymous said...

Truly incredible functionality you are able to extract from the APC40 with these amazing script mods Hanz. Turned this controller into something worth 3 times as much. What a gifted genius you are. Akai and or Ableton need to have you on payroll straight up. You placed both their products on a total higher order. I do have one problem I see - combination mode for an APC40 and APC20 do not work when using Live 8.2.2 and your latest APC64-40. On Windows XP or Windows 7 both 32 and 64bit. In fact none of your scripts work in combination mode in Live 8.2.2 with these two controllers. Is there a work around for this Hanz? (i'm bringing back my APC20 to guitar center because it will not integrate when using your amazing APC40 scripting.) I sure would like to keep it if there was a solution. ??? - Ryan

Hanz Petrov said...

Yes, I do have a version of the APC20 script which works in combination mode with an APC40 running the 64-40 script. I need to check 8.2.2 compatibility first, but I should be able to upload soon.

Best,

Hanz

Anonymous said...

wow - if you have that Hanz that would be amazing. would truly be a life saver and allow me to integrate fully with your python scripts. I still have both the APC20 and APC40 hooked up right now in front of me, and could help you out with any testing or bug resolutions if need be for combi-mode. The APC40 without your scripts just isn't the same. Got about a day or two before I need to return this APC20 to Guitar Center if it doesn't pan out. Hoping I get a chance to try out any upload you might have on this. I can imagine a ton of Ableton users are on 8.2.2 at this point and wanting to double up controllers while still retaining the value of your magic code. I'll contribute anything for this. - - - Ryan

Anonymous said...

In addition to what I just typed above - BTW Hanz - what in 8.2.2 hosed your scripts - I saw some early postings on this. Its a shame that Ableton didn't take into account third party type of additions before making such globally affecting changes in a small revision like 8.2.2. Your work should be integrated into their final product releases and you should be making license royalties for this code - and that's the truth. With regards to Live 8.2.2 - From the FCB1020 script (which i wanted to use) straight through the APC40 rev4 version you made in python - none of those work with 8.2.2. 64-40 works flawlessly - but dosen't do combi. - Ryan

Hanz Petrov said...

Okay; APC20a script posted at top. Should allow APC20 to be used in combination mode with APC40 when running the APC 64-40 script. Compatible with 8.2.2. Please let me know if you find any bugs.

Best,

Hanz

Anonymous said...

holy cow - let me download this and try :) I had this APC20 packed and ready to go back......... Dude, Hanz - hold on for some feedback. YOU ARE THE BOMB. - Ryan

Anonymous said...

Wow, wow, wow, wow................this is a sick sick setup. I can confirm without a doubt the "redbox" is combi'd between the APC20 and APC40 while working in Live 8.2.2 running your amazing python scripts for both units. My god! That's exactly what I was fantasizing about when I bought the second unit to add to the APC40. Your scrips complete the disconnect for mixing functionality on these units. Keeps the environment uniform (sends, pans, etc - using the faders on both units). Dedicate the pan send track controls to the alternate device lock is brilliant. I've been up since my post last night testing the be-jesus out of this code - haven't slept a wink. Thank you soooooooooooooooooo much. Report: had a crash or two of live, and one in particular froze the system with total hardware lockup, keyboard, mouse null.... That one was bad, however the fact is I have a multiport firewire interface - multi port usb padKontrol, usb ACP20, USB ACP40 UAD DSP cards x 2 and PCI gigabite ethernet cards for FX Teleport external PC's, Multi drive SATA's striped and Video Card, so system failure could have been contributed to any and all of the functions fighting for IRQ resources. Full on in and out operations with your scripts in XP Pro - work phenomenal with both Akai's running simultaneously. I'll test some more today and provide a followup. - thank you thank you thank you thank you.
- Ryan

Anonymous said...

Thank you very much for the apc20a extension and for all the stuff you performed.
I thought This feature could be very cool and you just made it, Great !
Thanks !

Anonymous said...

Straight up rock solid Hanz. I've now had the APC20 and 40 Running in live 8.2.2 in combi mode without incident or one single crash for nearly a week. A workhouse script to say the least with some very complicated projects with multi VST's and crazy routing. Ableton Live 8.2.2 - APC40/20 (both running your scripts for remote and note input) 1 Master DAW - 2 FX Teleport machines - Firepod - and Korg pad kontrol - all coexisting in one cohesive universe. Freakin amazing. As mentioned in my previous post above - incredible. Your script makes all the cool APC64 style functionality a reality while still providing the extension with the APC20 8 channel strip. I can't thank you enough for the work you did, and the "like whoa, are you serious, this guy is crazy cool" coding fix for this beta APC20a release. You saved my ass, and I'll be contributing a chunk of change your way shortly. I shit you not, you are my hero!!!!!!!!

Ryan

Komponist-Kalle said...

Excellent guide! Thanks!

Decompiled scripts for RemoteSL is high on my wish list. Some files in that directory (namely MixerController.py, EffectController.py and DisplayController.py) is rejected by www.depython.com. Any ideas?

Again, thanks for a great guide!

Komponist-Kalle said...

And of course I mean .pyc files in my post above :)
(MixerController.pyc and so on.)

BREAKFADER said...

when i shift and track four, how do i change the midi note channels. but still have default midi note channels when i shift track 1 back to default. which script do i edit to do this.

danny s said...

hello, i am unable to get this functioning on my system. i'd appreciate any guidance, and i apologize if i'm crossing over into out-of-scope territory.

10.6.8 mac pro
fcb1010 + uno -> midisport 4x4
live 8.2.2

i've:
- initialized the uno-ized fcb, NOT using stomp box mode (for now)
- uploaded the Preset.syx file included in fcb1020 download (successful, via parallels -- ed dixon editor for pc seemingly working fine :) )
- added the fcb1020 folder to live remote scripts directory within live .app
- launched live, added "FCB1020" from the available control surface list, selected appropriate input via midisport, no output
- checked the default midi_map.py file, is set to channel 0 for buttons and sliders, 0 (note) message type, fcb is set to channel 1 (hence, should match, no?)

at this point, i get no significant reaction or red box visible in live. i do see the midi-in light reacting in live, however, as i press fcb buttons. am i missing any steps? checking the incoming messages via midimonitor, system seems to be receiving the expected midi note values from the fcb (although, each press and release displays 2 identical note-off messages -- should there be a note on?.)

i have a launchpad that works fine (red box, etc.) but i have disconnected that for this test.

danny s said...

also i've been trying combinations of midi port prefs in live (track input on/off, remote input on/off, etc). i noticed i get no midi input light showing if track input is off for fcb1020.

so i know live is seeing SOME of the python scripts because the fcb is listed now as a surface, however it seems to not be executing all of the script, because other than that device listing there is no other reaction from the fcb in live now...

Anonymous said...

Hi Hanz,

First, allow me to thank you for all of your hard work on these excellent scripts!! You are truly an artist in this field.

My question is, and maybe I'm crazy, but I seem to remember some scripts being on here for the apc20, particularly one or two that allowed you to use the cue control knob as a tempo control when you pressed shift, or vice verse. I can't seem to find them on this site anymore, and I searched around the web with no luck either.

My question is, did such a script exist? And if so, any chance of getting it put back up here?

Thanks again for all your help and hard work!!

Anonymous said...

wonderfuyl work.. I could REALLY use your help here. I need to change how I toggle the Matrixes. I do not wish to use the TRACK SELECT buttons, as I use those for my main send toggles. Wondering which config and which line I need to edit to reassign the toggle keys. Ultimately I would like to use SHIFT and SCENE LAUNCH buttons.

Can ayone help?

thanks

Mike

Dale said...

Hanz,

Much respect for sharing all your experience and hard work with the community! I've been using Ableton Live for a while, but have just recently been getting into more advanced control mapping. After a lot of reading on this site however, I'm still having trouble getting the FCB1020 script to work with my FCB1010 (UnO firmware). I've followed the instructions in the script's readme file, but I don't get a colored box or any other responses from Live (other than the MIDI in indicator). I'm running Live 8.2.2 on Mac OSX 10.6.8. My goal is simply to use my FCB1010 in combination mode with my APC40 (i.e. - if I record clips live via the FCB, I'd like the APC's grid to reflect where those clips are located. I assume this probably ins't the forum in which to have such specific questions answered, but I was hoping someone here might be willing to help a guy out. Thanks in advance!

Anonymous said...

Hello.

I am amazed at your work.

I am in a desperate situation here. I seem to of messed up all of my MIDI mapping on the APC40. I can't seem to now go back to the default mode.
I have tried a number of things but nothing is working.

I need a simple answer so I can fix this due to a show I have on in 2 days.

Please reply.

Thanks

Universal Flyer said...

Heyy,

I love these scripts.

Can you add support to Ableton 8.2.5. The latest APC40 customized script APC_64-40 working fine, but I need APC40_20 (note mode script) support.

Thank you

Unknown said...

Hey Hans, I was just messing around with the FCB 1020 script with my Line 6 Shortboard MKII and I had to make a few modifications to the script to get it working with Live 8.2.6.

There is a call (self._rebuild_callback: line 89) that is failing in the SpecialViewControllerComponent, and a call (self._rebuild_callback: line 45) in the SpecialSessionComponent. I am not exactly sure what those are supposed to do, but _rebuild_callback apparently no longer exists and there are multiple attempts to call it in several files.

For now I have commented said lines out and it works for what I need. I am not sure what that function does though ,so others may be having issues with it. I just thought I would give you a heads up. Great work on this script by the way. It does exactly what I want. Thanks so much.

Matthias Puech said...

Hi,
I'm looking for the latest decompiled Launchpad remote scripts (for 8.2.x), I can't find them anywhere. Do someone here know where I could find them?
Thanks in advance, m.

Todd Jensen said...

Is it possible to have the FCB1020 script NOT link to the APC40 so that one can use another midi controller with its own independent and separate "red square"?

I have tried changing the script but cannot seem to get it working.

Thanks for all the awesome work Hanz!

S. Curtis said...

Hello,
thank you for all that work. Unfortunately I don`t get it to work. I use Ableton Live 8 latest version and have the fcb1010 connected yia a fireface uc. The sysex dump seem to work. Do I have to plug in a apc40? Is it correct just to take the fcb1020 folder and the corresponding midi input in the preferences or do I have to change something else? Do I have to modify the files in the fcb1020 folder or is that just an option for more personal use? I got other scripts get to work (Wabbit Wanch Design), but yours look far better to me.

Thanks in advance for any answers...

Greetings,
S. Curtis

Hanz Petrov said...

Hey all,

I've updated the FCB1020 script to make it compatible with Live 8.2.x

'Unknown' had it right (about 4 posts up); the python Framework no longer supports _rebuild_callback calls.

Best,

Hanz

OFAD said...

Hi !

Would it be possible for you to reup the files to another storage space ?

I would be especially thankful for the nanopad remote script.

Thanks in advance,
Martin

Sandy Sun said...

live chat Software is a powerful tool that helps you talk to your website visitors and convert them into customers.According to a survey 23 percent of the e-commerce sites surveyed said that of those customers that engaged with them in a live chat, more than 40 percent converted to an active lead or sale.

Anonymous said...

The link to the ProjectX/ProjectY demo script is incorrect; it should be http://dl.dropbox.com/u/31640052/ProjectX%20MIDI%20Remote%20Scripts.rar

Cheers!

LAO Experiment said...

Question of colors.

Hi, I use the apc 64-40 script in Matrix mode 8 (user mode 6).

I've changed the color of some buttons thanks to the mattrix-map.py.

It works but unfortunately, when I manually map a button, I lose the wanted color, it automatically becomes green.

Has anybody got an answer?
And thanks Hanz for your work.
cheers

Anonymous said...

I just downloaded both the APC40 64 script and the FCB1020 scripts. Awesome work making those, I too was going to sell my APC, but not now. Thanks a lot man!

Anonymous said...

Firstly, thank you Hanz for sharing so much of your hard work. Having used the FCB 1020 script for a while under Live 8.1.x, and 8.2.x I can attest for how well it works. However, as I have since updated my version(s) of Live to Live 8.3.4 or 8.4 beta, the script no longer works for me. Perhaps I am overlooking something simple, but I do remember reading somewhere on your blog that the script would not work in 8.3. I would love to figure out how to make the script work under the latest versions of Live, including the upcoming Live 9. It seems that I may have to learn how to program scripts in Python - which sounds very fun - but if there is a way to get the script updated and working any sooner, it would be... amazing! Anyway, if you have time to post a suggestion that might point me in the right direction, I would be much obliged. (Even if it is simply "Tom, you've got to learn Python!") Thanks again for sharing your work.

Regards,

Tom

Anonymous said...

hi,
APC 64 40 script question ? HOW can I change that the remote sl and both APC 40 not send on the same Midichannel in the script !?! anyone out there ? I mape a crossfader on the remote and I lost on the APC the first device control encoder? he is in relative mode ?
mfg S.R:

behr said...

Hi Guys

I just got my hands on live 9 and I have built a mammoth personal template in live 8 with the use of Hanz' APC 64 40 Midi Remote Script for the past two years. To my horror I have found out that remote scripts in live 8 are not compatible with live 9. Please please please could someone shed some light on the subject. Can the script be converted to become compatible with live 9?, if so, how would I go about doing this?

Thanks in advance

Emile

Dale said...

I've not actually tried the FCB1020 script with Live 9 yet, but from what some of you are saying, it seems like it probably doesn't work. Any idea when we might see an update? I really love using it for live performance and would gladly pay for a timely update. :) Keep up the amazing work Hanz!

Hanz Petrov said...

Hey all,

Sorry for not posting it sooner, but the FCB1020 script has indeed been updated to work with Live 9. Enjoy!

Hanz

Dale said...

Man... you're the best. Donation submitted!

Paul Schofield said...

Has anyone gotten the Live 9 FCB1020 script working in Ableton? I see the yellow indicator blinking when I press a pedal, but nothing happens in the UI.

Paul Schofield said...

[Posting again to get follow-ups emailed to me.]

El Gayo Negro said...

How to run FCB1010 whit a MIDI controller and APC40 controller at same time?? it cant be separate?? Saludos!!

Luis Lopez said...

Hanz,really great job man! I have a Korg Nanopad 2 and I downloaded the FCB1020 script for Live 9,can you give me a little help with the configuration? My idea is launch clips and scenes like launchpad (is too much?)and navigate with the red box trought the session view.
By the way,the script RUN! I see the red box on my live 9! thanks a lot for the great job and dedication! cheers from ARGENTINA.

dexter said...

Hey there!

Thaks for this great job, mr. Petrov!

I need a little bit of help here. I was using for a long time a modded version of the Nano Kontrol script, who gave me a simple 1*16 clips matrix and a L/R/UP/DOWN controls.

But I can't upgrade my script to work with Live 9, and I can`t edit the Current NanoKontrol script to follow my neads.

An advise? Or a ready-made script arroud? Optionality I can post my script for an examination.

Thanks!

Dexter said...

I fount it here : https://github.com/datamafia/Baseline_script_by_modern_dj

greets

Twigs said...
This comment has been removed by the author.
tasapaino said...

6.52 a.m. and I just finished programming my BCR2000.. Now it works fine alongside APC20 with the FCB1020 script and APC40 emulation (synced together). Perfect! I know nothing about programming but the midi messages were so well documented in the script that it was pretty straightforward.

Thank you for your amazing work, small donation on the way :)

Anonymous said...

Hello. I need help. I can't turn on the Note Mode script. I did everything as instructed, tried different versions. When I click on any button of the controller, Ableton sees it as a simple midi keyboard, without any mapping or switching modes. Ableton version 8.3. Maybe the problem in this? Thanks in advance.

marco said...

hello
what s be great is someone who can tell me the way to change the metronome button of the "push" in a "lock to control surface button"....
:)

Sean Brunke said...

just downloaded the script but I am lost on where to put it help please?

Anonymous said...

Sean,
this much i have to say: i am biting my tongue in order not to verbally abuse you! Why do you not read a little? All the information is right before your eyes! Please do not be so lazy as to stop yourself from learning! It's good for you..

Ok, now that i've got that out of my system:
You can either go on to the 1st page of Hanz' amazing article:
http://remotescripts.blogspot.de/2010/03/introduction-to-framework-classes.html , where it will say this:
>>The remote scripts are installed with the Live application, and if your OS is Windows, you should be able to find them here (or in a similar location):
C:\Program Files\Ableton\Live 8.x.x\Resources\MIDI Remote Scripts\<<
and/or
RTFM of Ableton itself, which will tell you where to place MIDI Remote Scripts, or do a quick search on the Ableton Forum.

(but i sincerely hope, you had already found the answer ;o) )
All the best

D.NKishi said...

Hanz, THANK YOU!!!

Great! Great! Great!

Can't wait to try this out (but will be back to donate!

***one love***
D

BeatBlox said...

Hello

Hanz, thank you so much for your tutorials they've helped me quite a bit in the daunting universe of scripting.

However, I have got stuck after a while and if anybody could help me out with some LED feedback scripting, that'd much much appreciated!

So here is the thing: I have desperately tried to set a LED to light up on pressing a button (say, midi note 67) on my controller but no luck (the LED works fine and it can be switched on by sending midi note 67 on the right channel with value 127). I have managed to get this button activate the function it should in Live (8.2.1) but that’s it. I have tried different approaches to set the light on such as:

#1
force_send = False # if I set True it works as bad
InputControlElement(MIDI_NOTE_TYPE, CHANNEL, 67).send_value(127,force_send)

#2
ButtonElement(is_momentary,MIDI_NOTE_TYPE, CHANNEL, 67).turn_on()

#3
ControlElement.send_midi(tuple(144,67,127)

So as you might guess, I am a newbe in Python…
I have tried to get inspired by the launchpad scripts and the APC scripts in this blog but I can’t figure it out. There is plenty of code I don’t grasp. Ideally, someday, I’d like to manage to set 4 LEDs on one after the other in a quantized fashion to create a visual metronome… that’s a long shot for me and even the sequencer scripts don’t show me that many clues as I get dazzled in the complexity…

I apologize if this topic has been dealt with somewhere else but even after quite some googling I haven’t found anything.

Cheers

aalia lyon said...

We are always happy to support you with various Windows Live Mail issues Click on it Windows Live Mail Help & Support and free from it.
Thank you
Aalia lyon

St├ęphane Leurs said...

Hello,

Thanks Hanz for your sharing.

I've got a problem, the FCB1020 is selected and the Input port too but I don't see the red area in the scene view and nothing happened when I push a buttons on my board (the Midi configuration is correct)...

An idea please ?

indra zaaba said...

hi, im very new to this remote scripts..
i already installed the scripts and load it in my Live9, but i cant get the the matrix mode to change. its always in note mode. cant make it change to launch mode..

can anybody please help me with this?
thanks a lot!!

Daniel said...

Hey indra (and everybody else),

got the same problem in Live 9! Any ideas for solving this problem?

cheers

Matt Hooper said...

Thanks but the script is not working in 9.1.3