The download file contains my custom script for the BCF2000. The script comes with zero support and you may use it at your own risk. The syx file requires the Selected Track Control script to utilize all the functionality. I suggest that you use the awesome BC Manager to make any of your own customized layout. If you use either of these great resources please consider making a small contribution to the creators. The layout I have provided here is my first draft and I expect i will be changing it as I use it more and more. Please post any suggestions or problems or if you have your own cool way of using it. If you are interested on the development of the script you may continue reading below.
I found that the remote setup that comes with Ableton Live is extremely limiting especially for the power that the BCF2000 has as a controller. An alternative would have been to manually assign the controls to what I wanted, but those controls would only work in projects started with that template, and if I wanted to change a control I would have to do it for every project made. There is also emulation modes that many people seem to be happy using. I decided that I wanted more control and customizable control as well.
Ableton has an easy way to make custom user remote scripts by modifying a template file. The template file and simple instructions are locate in a "User Remote Scripts" folder, it is located here on Windows- Users\user\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote Scripts. This only offers some controls, but still only some of what I wanted to do. I did some research and learned that some people have found an unofficial and unsupported way of making more advanced scripts that same way that manufacturers make theirs. Doing a little Google searching I found a few tutorials here and there. Most of the links were collected in this post.
I know a little programming but not too much, and I have never used python before. Doing some more advanced stuff was going to take too much knowledge that I would have to learn, but mapping out the controls I wanted seemed easy enough to tackle. Once I had some basic understanding of how the scripts are setup, I mostly chopped up the scripts from other controllers and modified them for my own. The code I ended up with is not elegant, but I was able to get it working.
There were still a few things that I felt I needed for which I lack the programming skill to accomplish. I was able to fill the main things I needed by using the Selected Track Control. There are a couple things I would like to see added to the script, but the author has done a great job with it and its extremely useful. This along with my own script gave me a lot of control from a single BCF2000.