AbleSet Icon

AbleSet

Controlling AbleSet via OSC

AbleSet listens to OSC commands on port 39051, so you can remote-control it from any other app that supports OSC.

Here's a list of all available commands:

Global

  • /global/play starts playback
  • /global/pause pauses playback
  • /global/stop stops playback

Setlist

  • /setlist/enableLoop enables Live's loop bracket
  • /setlist/escapeLoop disables Live's loop bracket
    • if the current loop was enabled using the +LOOP flag, this will also jump to the next section
  • /setlist/jumpToTime [time] jumps to the given time, in beats
  • /setlist/jumpToSong [number or name] jumps to the song at the given position in the setlist
    • /setlist/jumpToSong 2 jumps to the 2nd song in the setlist
    • /setlist/jumpToSong SongTitle jumps to the first song named "SongTitle" in the setlist
  • /setlist/jumpBySongs [steps] jumps by given number of songs
    • /setlist/jumpBySongs 1 jumps to the next song, /setlist/jumpBySongs -1 jumps to the previous one
  • /setlist/jumpToSection [number or name] jumps to the section at the given position in the current song
    • /setlist/jumpToSection 2 jumps to the 2nd section in the current song
    • /setlist/jumpToSection Chorus jumps to the first section named "Chorus" in the current song
  • /setlist/jumpBySections [number]
    • /setlist/jumpBySections 1 jumps to the next section in the current song
  • /setlist/playCuedSong plays the next song after the current song has finished
    • if autoplay is disabled, this will jump to the next song first, and start playback when it's called again

PlayAUDIO12

  • /playaudio12/setScene [1, 2, A, or B] sets the active scene on the connected PlayAUDIO12
    • /playaudio12/setScene 1 sets the active scene to scene A
    • /playaudio12/setScene B sets the active scene to scene B
  • /playaudio12/toggleScene toggles the active scene between A and B on the connected PlayAUDIO12

Settings

Boolean values can be an actual boolean or 0 / 1.

  • /settings/autoplay [boolean] sets the autoplay option
  • /settings/safeMode [boolean] enables or disables the Safe Mode feature
  • /settings/alwaysStopOnSongEnd [boolean] sets whether AbleSet should stop playback at the end of all songs
  • /settings/autoJumpToNextSong [boolean] sets whether AbleSet should automatically jump to the next song at the end of a song
  • /settings/autoLoopCurrentSection [boolean] sets whether AbleSet should automatically move the loop bracket to be around the current section
  • /settings/countIn [boolean] enables or disables the Count-In feature
  • /settings/countInSoloClick [boolean] sets whether the click track should be soloed during count-in
  • /settings/countInDuration [1, 2, or 4] sets the count-in duration in bars
  • /settings/jumpMode [quantized, end-of-section, end-of-song, or manual] sets the jump mode

Finding the AbleSet OSC Server on Your Network

AbleSet announces its OSC server on the network using Bonjour. Apps like TouchOSC can find it automatically using the "Browse" function so you don't have to enter the IP address and port manually.

If you're writing your own OSC client, you can use any Bonjour library to look for _osc._udp. on the network. AbleSet's OSC server has a TXT value of server=ableset, so in case there are other applications announcing their OSC servers on the network as well, you can look for that value to find AbleSet.

Receiving Updates from AbleSet

AbleSet can send updates on its current state to other OSC servers. This can be used to update the state of your control surfaces in real time.

To register your OSC server with AbleSet, send the /subscribe command with the IP address and port, and optionally a name – e.g:

/subscribe 127.0.0.1 8000 TouchOSC

You'll see a notification From this point on, AbleSet will send updates for all events to this server. You can register multiple servers with AbleSet if you want to connect multiple control surfaces.

In addition to the events, AbleSet will send a /heartbeat every 2 seconds. You can use this to check if the connection is still up.

To get the current state of all values, send /getValues to AbleSet after registering your server.

Here's a list of all values that get sent to registered servers:

Global

  • /global/isConnected [0|1] whether AbleSet is connected to Live
  • /global/isLoadingFile [0|1] whether Live is loading a new song file
  • /global/beatsPosition [number] the current position in beats floored to whole numbers while Live is playing
  • /global/humanPosition [number] [number] the current position in bars and beats
  • /global/tempo [number] the current tempo
  • /global/isPlaying [0|1] whether Live is currently playing
  • /global/timeSignature [number] [number] the time signature

Setlist

  • /setlist/name [string] the setlist name
  • /setlist/songs [...string] a list of all song names in the setlist
  • /setlist/sections [...string] a list of all sections of the current song
  • /setlist/activeSongName [string] the name of the current song
  • /setlist/activeSongIndex [string] can be referenced to the list of songs
  • /setlist/activeSongStart [number] the song's start position in beats
  • /setlist/activeSongEnd [number] the song's end position in beats
  • /setlist/activeSongColor [string] [string] the color of the song, as a color name and as a hex string
  • /setlist/activeSectionName [string] the name of the current section
  • /setlist/activeSectionIndex [number] the index of the current section in the current song
  • /setlist/activeSectionStart [number] the section's start position in beats
  • /setlist/activeSectionEnd [number] the section's end position in beats
  • /setlist/activeSectionColor [string] [string] the color of the section, as a color name and as a hex string
  • /setlist/queuedSongSectionName [string] [string] the name of the queued song and section
  • /setlist/queuedSongSectionIndex [number] [number] the index of the queued song and section
  • /setlist/nextSongName [string] the next song's name
  • /setlist/nextSongIndex [number] the next song's index
  • /setlist/nextSongColor [string] [string] the color of the next song, as a color name and as a hex string
  • /setlist/loopEnabled [0|1] whether the loop bracket is enabled
  • /setlist/loopStart [0|1] the loop's start position in beats
  • /setlist/loopEnd [0|1] the loop's end position in beats
  • /setlist/isCountingIn [0|1] whether AbleSet is currently counting in

PlayAUDIO12

  • /playaudio12/isConnected [0|1] whether a PlayAUDIO12 interface is connected
  • /playaudio12/scene [number] the current scene, 1 for the main and 2 for the backup computer