Skip to content

Latest commit

 

History

History
44 lines (28 loc) · 3.06 KB

README.md

File metadata and controls

44 lines (28 loc) · 3.06 KB

AbletonOSC: Control Ableton Live 11+ with OSC

AbletonOSC is a MIDI remote script that provides an Open Sound Control (OSC) interface to control Ableton Live 11+. Building on ideas from the older LiveOSC scripts, its aim is to expose the entire Live Object Model API, providing comprehensive control over Live's control interfaces using the same naming structure and object hierarchy as LOM.

Installation

To install the script:

  • Clone this repo, or download/unzip and rename AbletonOSC-master to AbletonOSC
  • Move the AbletonOSC folder to the MIDI Remote Scripts folder inside the Ableton application: /Applications/Ableton Live*.app/Contents/App-Resources/MIDI Remote Scripts
  • Restart Live
  • In Preferences > MIDI, add the new AbletonOSC Control Surface that should appear. Live should display a message saying "AbletonOSC: Listening for OSC on port 11000"
  • On macOS, an activity log will be created at /tmp/abletonosc.log

Usage

AbletonOSC listens for OSC messages on port 11000, and sends replies on port 11001.

Application API

AbletonOSC exposes the Live Object Model. Simply replace spaces with slashes to translate a canonical path to an OSC address. For instance, the canonical path of ClipSlot is live_set tracks N clip_slots M, therefore its OSC address will be /live_set/tracks/N/clip_slots/M.

Properties have additional sub-addresses:

  • <property-address>/get if the access is "get"; sending a message to this address causes the property value to be written to the reply socket at same address;
  • <property-address>/set if the access is "set"; send a message with one argument to change the property value;
  • <property-address>/start_listen and <property-address>/stop_listen if the access is "observe", which respectively start and stop the automatic sending of property message; property value will be written to the reply socket as soon as it changes when the listener is running;

For instance, to get song's tempo send /live_set/song/tempo/get and to change tempo send /live_set/song/tempo/set 125.0.

To get color of 2nd clipslot of 4th track: /live_set/tracks/3/clip_slots/1/color/get.

Functions can be called by appending /call, for instance: /live_app/get_version_major/call; the result of the function call will be sent to the reply socket.


Acknowledgements