TDAbleton - TouchDesigner Ableton Connection

I looked into the abletonValueListener component, and took a look at how its used in the example project. The example project shows the metronome being controlled, and seemingly to do so requires “SONG” to be entered in the Append To LOM Expression field, and “metronome” to be entered in the Property field.

If navigate through the drop downs to select the Send parameter I want to control it shows default LOM and default return addresses above and below the previously described fields. Must I specify what to append or what the property is? The entries I’ve tried haven’t worked.

Thanks in advanced.
Screen Shot 2018-06-23 at 4.05.16 PM edit.jpg


Hey sorry, I overcomplicated it for you because I misunderstood what you were after. Just use the abletonParameter Component. Set it to your track, # Mixer # device, and whichever Send you want. Currently you have to use one abletonParameter component per Send.


Ahh - thanks for pointing that out! Seemingly didn’t dig deep enough into all the components. Will be using at least 12 abletonParameter Component’s to control all the sends :confused:

Since we’re on the topic, could you clarify the abletonValueListener Component, and when its best practice to use this?

If you just want to watch the sends, you can get all of them with abletonDeviceParameters set to # Mixer #. If you need to control them, you’ll have to use individual abletonParameters. My next update will include a Max device that controls multiple parameters, so be on the lookout for that in the next few days.

The abletonValueListener is made to access obscure parts of the Live Object Model that don’t have specific components associated with them. To use it effectively, you have to learn how to write the expressions that access the value you want. You will see the expression created by your LOM parameters in the Default Expression parameter, then you can append code to that with the Append To LOM Expression and property Parameters.

Very much looking forward to that multi-parameter Max device. Thanks for developing that!

Re abletonValueListener: Got it. I figured it was for the more individualized parts of live. Will look more into appending LOM parameters incase that’s needed. Thanks for explaining.

No problem. Will be easier to explain with a specific case if you run into one. Basically, the expression created is sent directly to Ableton Live’s Python, so will look just like something created using this: … ive9.6.xml, with the addition of a few macros I created for convenience, notably “SONG” which gives you access to the Song.Song object in that documentation.

Uploaded 1.11.1 -

-abletonMapper component: use standard Ableton mapping system to control parameters from TouchDesigner. This method is faster, smoother, and does not create undo steps.
-fixed bug where abletonRack, abletonLevel, and abletonMapper don’t work in master or return tracks

Ivan - Just connected the TDA Mapper - this is exactly what I was looking for!
Many thanks for developing this :slight_smile:

Just uploaded 1.12.0

  • Fixes problems with unfound Max devices
  • Fixes problems with clip names not being updated
  • Fixes error messages when renaming cuepoints
  • Features for playing clips and scenes in abletonSong and abletonTrack
  • Add clip status callbacks to abletonTrack
  • Add play and stop callbacks for abletonSong
  • Better hiding of CHOP channels on macro and level devices


  • abletonChainOrTrack component is now called “abletonChain”. To properly update
  • abletonChainOrTrack components from old versions, change their clone sources accordingly before update.
  • abletonChainParameter has been removed in favor of putting all chain features into abletonParameter. To properly update abletonChainParameter components from old versions, change their clone sources accordingly before update.
    For packaging reasons, the Rack and AudioAnalyzer devices have been moved into TouchDesigner/TDA Project. Also, the TDA_Rack_OSC and TDA_Rack_MIDI_OSC devices have been moved into the subfolders of that project. If Live has trouble finding devices in your set from a previous version, use the ones found in TDA_Project.

Using the demo ableton live project (or a new one with with locators/cuepoints created) and using a brand new TDAbleton, the “last_cuepoint_passed” parameter doesn’t update until you enable “Include Time Data”, whereas when i use the demo .toe you provided, the cuepoint channel updates fine even without the “Include Time Data” parameter enabled.

The cuepoints do depend on “Include Time Data”. You’re either looking in the wrong place or magic is afoot!


I have some errors appears, when selecting track in abletonTrack1 and abletonChain1 components. Tried to use demo projects, but the same problems.

TD 2018.25000
TDAbleton 1.12.0
Ableton 9.7.1

thx for feedback.
Untitled-1 copy.png

Uploaded 1.13.0 to top of thread

@ m1gUn0v: please try this one

1.14.0 posted. Sorry for the rapid fire updates! Two issues in one day.

Some important changes that could affect older projects:

  • TDAbleton now requires a TDA Master component on the master track of your Live set. Added a dialog that automatically creates one if it’s missing.
  • Changed default OSC ports to avoid Resolume (and other programs’) defaults. 8887 is now the default TD port. 8001 is now the default Ableton port. If you have trouble connecting with older TDAbleton projects, double-check that your tdAbleton master component in TD and your TDA Master device in Live have matching port settings.


1.14.0 works fine. \m/

Hi Ivan,

I think I found a bug in 1.14.0.

I have an Ableton session and some scenes have the same name, in this case ‘STOP’.
Now in the AbletonSongExt SongInfo[‘scenes’], there is only one scene with the name ‘STOP’ and because of this, the total number of scenes is lower then in my Ableton session.
This leads to an ‘list index out of range’ error in line 138 of the AbletonSongExt, when I fire scenes above a certain number (which makes sense).

So, it looks like there is a problem with duplicate names in Ableton scenes, that needs to be handled.

Thank you for this great component!

Cheers, David

I just encountered this as well, not sure if its a Max4Live API/Ableton problem though.

Also just wanted to mention, the cuepoint/locator system in Arrangement view is so good for triggering things in TD, but the band i made the lighting system for uses Session view, so currently I think the best way to get the triggers synced up in TD is to count the bars in Ableton like a dweeb and just have TD wait for that specific bar/beat count.

I’ve also done a little addition of my own to convert beats/sixteenths/time into extra channels for eighths and triplets and some other weirder rhythm stuff (3/4 over 4/4? i’m not really sure the correct musical theory terminology for what they do). It’d be cool to share some user-made extended features and hear how everyone uses TDAbleton.

Also, it would be nice, if the popup window, that opens, when the Ableton session is missing the TDA master plugin, would have a cancel button. It can popup, if you switch Ableton sessions, but you don’t necessarily want to create the TDA master plugin…

love this comp so much - building a big project at the moment - its got lots of track (190+) and a lot of midi going in both directions using tda midis - we started running into issues yesterday and are struggling to trace it - we have begun to not be able to connect

the problem disapears when we delete some tracks but we are finding it impossible to find a pattern - for a while we thought it was a drum rack - but could not reliably reproduce it - then deleting a random track fixed it once - but again we couldn;t trace it -
the closest we are getting to a error message is
‘NoneType’ object is not iterable -
i’ve attached a picture - project goes live next week so this is a bit stressful

need to roll updates to get everything up to latest but thought i’d post in case it raises any immediate thoughts

thanks all for any advice -



Edit: Simple mistake, forgot to follow instructions and set the MIDI control interface.

I’m having some connection issues, I’m trying to connect to a fresh install of Ableton 10.0.3 and TouchDesigner 2018.23760 ( I also tried latest but rolled back for testing purposes) Windows 10. The TDableton components are on 1.10.0 in Touch and Ableton.
I can’t seem to get a connection going between the two. I have a similar setup running on another machine that’s using an Ableton Trial
I was thinking it could be a port issue and so I’ve been trying to trouble shoot. 1.10.0 uses port 8000. If I try to ping from TDAbleton op I get nothing back. IfI setup a UDPin in touch listening to port 8000 I can see the pings coming in and if I do a netstat I don’t see anything already using 8000
Also originally I was using TDAbleton 1.14 which is using 8001 so I’m feeling like it’s less of a port issue and maybe something else?

If anyone has any advise on trouble shooting this it would be great.