At Ableton, we make Live, Push and Link, unique software and hardware for music creation and performance. Live is a C++ desktop application built from a 15-year old code base. Push is an instrument embedding a multicolor display which renders a Qt Quick scene powered by Qt. Link is a technology that keeps music devices in time and is available to app developers as LinkKit, an iOS SDK. “But what does all that have to do with Python?”, you might ask.
This talk answers that question by explaining how our developers use Python to build and test C, C++ and Objective-C source code. Based on GYP, what we call “build-system” is a collection of Python scripts that simplify our workflows, and help us write better software. The three top-level scripts, “configure.py”, “build.py” and “run.py”, share a common design which makes them easy to use by developers, as well as easy to maintain and extend. This talk describes the essence of that design, so you can apply it to your own project.