ideoforms / AbletonOSC

Control Ableton Live 11 via Open Sound Control (OSC)
MIT License
426 stars 70 forks source link

Arming and Recording in Arrangement View #127

Open aclfarmer opened 7 months ago

aclfarmer commented 7 months ago

Hello everyone, thanks for your time. This project is a great feature to Ableton and it has been really interesting exploring the API. Thank you for your hard work.

I have been writing an Electron/React App that connects to multiple different multimedia applications using various different connection methods either through OSC or Websocket. Ableton Live 12 is one of these applications. I am aware that AbletonOSC was written for Live 11 but hoping it is compatible with 12.

I have had success with fetching various track data, and setting volume and the mute status of different tracks. I am having trouble sending the /live/track/set/arm setter listed in the API.

in my code i am sending'/live/track/set/arm', [0, 1]); and Ableton returns an [ERROR] AbletonOSC: Error handling OSC message: list index out of range. When checking the log file:

(2024-04-22 20:15:33,890) [WARNING] AbletonOSC: Traceback (most recent call last):
  File "Ableton\User Library\Remote Scripts\AbletonOSC\abletonosc\osc_server.py", line 166, in process
    self.parse_bundle(data, remote_addr)
  File "Ableton\User Library\Remote Scripts\AbletonOSC\abletonosc\osc_server.py", line 144, in parse_bundle
    self.process_message(message, remote_addr)
  File "Ableton\User Library\Remote Scripts\AbletonOSC\abletonosc\osc_server.py", line 90, in process_message
    rv = callback(message.params)
  File "Ableton\User Library\Remote Scripts\AbletonOSC\abletonosc\track.py", line 15, in track_callback
    if params[0] == "*":
IndexError: list index out of range

I have 4 tracks, 2 MIDI and 2 Audio, and am able to send mute/volume setters to any of the track IDs.

After arming specific tracks, I would like to trigger the 'Arrangement Record' button similar to the start_playing osc command but i can't seem to find any API available for that command.

image

Any pointers or ideas to push me in the right direction would be much appreciated! Thanks!