ideoforms / AbletonOSC

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

seeking Warp On/Off, Loop On/Off for audioclips #98

Closed esaruoho closed 1 year ago

esaruoho commented 1 year ago

hi, i'm trying to figure out how to get these:

Screenshot 2023-08-01 at 21 08 37

any idea how to grab them somehow, @ideoforms ?

esaruoho commented 1 year ago

ok i'm slightly confused. https://github.com/ideoforms/AbletonOSC/blob/master/abletonosc/clip.py makes mention of read-write attributes looping and warping. does that mean that there already are OSC hooks for setting looping and warping on/off for a clip, but they're just not listed in the readme.md, @ideoforms ?

esaruoho commented 1 year ago

ok, so turns out it works like this:

>>> /live/clip/get/warping 0 0
(0, 0, True)

and

/live/clip/set/warping 0 0 1

and

>>> /live/clip/get/looping 0 0
(0, 0, False)
>>> /live/clip/set/looping 0 0 1
>>> /live/clip/get/looping 0 0
(0, 0, True)

but what i'm now wondering is how to get the selected_clip and to use that for the looping message.

>>> /live/view/get/selected_clip
(1, 0)

and how to do something like this

>>> /live/clip/set/looping (/live/view/get/selected_clip)
>>> /live/clip/set/warping (/live/view/get/selected_clip)
esaruoho commented 1 year ago

ok, this was a TouchOSC issue, where i was able to solve it by scripting:

function onReceiveOSC(message, connections)
  local arguments = message[2]
  print('result', arguments[1].value, arguments[2].value)

  sendOSC({'/live/clip/set/warping', {
  { tag = 'i', value = arguments[1].value }, 
  { tag = 'i', value = arguments[2].value },
  { tag = 'i', value = 1 }}})
  sendOSC({'/live/clip/set/looping', {
  { tag = 'i', value = arguments[1].value }, 
  { tag = 'i', value = arguments[2].value },
  { tag = 'i', value = 1 }}})  

end

closing. thanks!