Python PYC files are relatively easy to decompile, and the resulting PY files are quite readable – in fact, they are practically identical to the original source files. PYC files are not readable by humans, however, it was soon discovered that by decompiling the controller script files, the source code could be analyzed – providing a convenient map to the default MIDI mappings, and insight into how MIDI remote scripts actually work. As an example, for the Vestax VCM600, the following files are found in the VCM600 directory: pyc file named after the controller, and one or more additional. Within each folder, there is generally an _init_.pyc file, a. The folder names are used to populate the control surfaces drop-down list in Live (changes in folder names will not be visible in the drop-down until Live is re-started). The other folders contain the python compiled (.PYC) script files for each of the supported controllers. The first few directories, which are named with a leading underscore, will not appear in the Live MIDI preferences control surfaces drop-down list (they are mostly “private” helper scripts). 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):Ĭ:\Program Files\Ableton\Live 8.x.x\Resources\MIDI Remote Scripts\Ī typical MIDI Remote Scripts directory will contain a series of folders with names similar to the following: Black box emulation is somewhat limiting – the next step was to investigate the scripts themselves. This type of emulation is basically “black box emulation”, since the MIDI remote scripts are not modified (and their inner workings do not need to be understood in order for it to work). This can be done either by reconfiguring your controller, or by filtering through an intermediate application (such as MIDI-OX). The caveat is that your hardware must be capable of supplying Live with the MIDI messages it expects to see coming from the controller which you are emulating. The most well-known emulation model is “Mackie emulation”.Įmulation essentially involves telling Live that you have a certain piece of MIDI hardware hooked up, when in fact you do not. It has been quite some time since ever-curious and inventive Live users discovered that it is possible to take advantage of Live’s “instant mapping” capabilities by emulating a supported controller (typically using one which is not). We’ll get into the details later – but first, a bit of history. Each of the controllers which Live supports has a dedicated script folder and its own dedicated scripts. MIDI remote scripts are written in the Python programming language, and essentially serve to translate MIDI data into instructions for controlling various aspects of the Live application. Live provides its “instant mapping” support for controllers through the use of MIDI Remote Scripts. (If you’re unfamiliar with basic controller setup procedures, have a look at the MIDI and Key Remote Control section of the Live help file, or check out the Control Surface Reference Lessons in Live’s Help View.) If you’ve found your way here, then you probably already know a thing or two about control surfaces, and you’re probably aware that Live has built-in support for many controllers. The results of my explorations are documented here, in hopes that they may be useful to others. It didn’t take long before I realized that in order to fully customize my setup, I’d need to explore emulation and learn something about scripting in Python. My journey into the world of Ableton MIDI remote scripts began with a search for a better way to set up my FCB1010 as a Live controller.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |