Skip to main content

A tool to monitor Ableton Live and update the color of clips that have been played.

Project description

pylive-played-clip.py

Details

Original Author: Scott Selberg
Current Owner: Scott Selberg

Introduction

This is a python package that deploys a command line tool to monitor Ableton Live clips through AbletonOSC and pylive. When a clip finishes playing, this utility can change the color to visually flag the clip as having been played. When the global playback is stopped, the utility will reset all of the clips to the color they had before it changed them.

This was developed for a talent show at Foothills Elementary. We needed a way for an elementary student to control the sequencing of several dozen sound clips. In the past we've used iTunes, but it was a bit unresponsive and error prone. We'll be using a launchpad to trigger the clips and this utility will be running in the background to dim the color of the clips as they get played to make it easy to know which clips have been played and which is the next clip to play.

There is a similar utility created using MaxForLive created by AbletonDrummer. That 'device' costs $12 and I believe it requires MaxForLive or Ableton Live Suite which I think includes MaxForLive. I've only got the free Ableton Live Lite license that came with the LaunchPad. The AbletonOSC works fine with Ableton Live Lite 11.

How it works

AbletonOSC is a MIDI remote script that should be placed in Ableton's 'Remote Scripts' folder. As Ableton starts up, it will launch the script. This creates a listener program on the local computer where we can send messages that conform to the Live Object Model and it will convert them to the proper MIDI syntax and pass it into Ableton.

The same group that makes AbletonOSC also maintain a python library, pylive, that makes it easy to send messages to the listener.

This project builds on top of pylive to create a background program that will monitor Ableton and when a clip finishes playing, it will change the color of that clip. The program can either set the clip to a pre-defined value, such as dark grey, or it can 'dim' the original color.

Installation

First, install Python version 3.8 or above. This is likely to be preinstalled on a linux or MacOS machine. There are plenty of install instructions on the internet for Windows.

Next, you will need to install AbletonOSC. This involves downloading a zip file and unpacking it into .../Ableton/User Library/Remote Scripts. On my system, I had to create the directory Remote Scripts, but the rest was created by Ableton. After putting the files in place, I had to restart Ableton, locate the 'Link|Tempo|Midi' preferences and add AbletonOSC as a controller. The AbletonOSC home page has detailed instructions on the process.

Lastly, you will need to install pylive-played-clip. The python package creates a command line script that you can use to launch the utility. On Windows, it will only have permissions to setup the utility if you install the package as an administrator. On linux and macOS, the user install will also setup the utility.

> pip install pylive-played-clip

Using

To use, Ableton should already be up and running. Then from a console launch pylive-played-clip as shown below.

> pylive-played-clip

If you installed on Windows as a regular user, the command line script will not be setup because of permissions issues, but you can still launch it by calling python first as shown below.

> python -m pylive_played_clip

Command Line Options

The command line utility has the following options:

  • --dim-color FFFFFF: This is the fixed color that played clips should receive. We're using the standard web notation for colors without the leading '#' symbol.
  • --dim-ratio 2: If a dim-color is not specified, we'll take the original color and in the HSB space divide the brightness by this number. A value of 2 should reduce the brightness of the clip by half, but have the same hue and saturation.
  • --polling-delay: The utility will scan all of the tracks for playing clips, wait this amount of time, and then re-scan. Should it detect that a clip was playing in the previous scan but not playing in the current scan, the color will be changed.

Examples

All played clips will be set to dark gray:

> pylive-played-clip --dim-color 555555

All played clips will be dimmed by 25%:

> pylive-played-clip --dim-ratio 4

License

BSD 3-Clause

Author Information

Scott Selberg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylive-played-clip-1.1.2.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pylive_played_clip-1.1.2-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file pylive-played-clip-1.1.2.tar.gz.

File metadata

  • Download URL: pylive-played-clip-1.1.2.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for pylive-played-clip-1.1.2.tar.gz
Algorithm Hash digest
SHA256 d01a52ff89fb0443fa849a7e9cc0bd621a4c431e340be050a3524fa454ab441f
MD5 37afd8204cf29f56f95acf040d71caa2
BLAKE2b-256 9ad730bd0ff3a8cb0eb0c000ee616c079725f13b0bbe66dbd29ed30ae42aa745

See more details on using hashes here.

File details

Details for the file pylive_played_clip-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pylive_played_clip-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f97d3107b5cb3280314cc783838e4df18e7a94adfd2cdd0d3232444c14fd4172
MD5 2fb976bd95fe8165b8b793c77fca1bef
BLAKE2b-256 9ab12824fd315e6bdd23cc22cbc3c30fec09eccd54b43d144d48f3c7bd913105

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page