TDAbleton - TouchDesigner Ableton Connection

Posted version 1.3.2

  • Project saved in TD official instead of experimental to avoid startup msgs

Thanks Ivan!

would it be possible to song/info/time into the time path to get TD to follow Ableton on the time line?

Version 1.4.0 posted.

This will probably be the last version before this starts going in the palette and updated in TouchDesigner releases.

Changes:

  • MIDI now has Python callback option
  • All output DAT tables now have header row
  • You can now strip MIDI OSC address prefixes
  • Improved error messages
  • abletonPackage now has help/version parameters

Version 1.7.0 posted in top post.

I haven’t been updating here, as TDAbleton can now be found in the palette, but figured I’d do an early release here until next TD version comes out.

Notable new features:

  • Improved clip support in abletonTrack
  • Ableton LOM parameters now work better with expressions and exports
  • abletonDeviceParameters component shows all parameters on a device

Guess I should note that the format of the zip has changed for ease of integration into TouchDesigner installers.

Samples/TDAbleton/TouchDesigner folder has MIDI Remote Script. Copy it into your Ableton MIDI Remote Script folder.

Demo project is in Samples/TDAbleton/Demo Project. The best way to get tdAbletonPackage is from inside there: /project1/tdAbletonPackage.

Version 1.8.0 is up on the top post.

  • abletonClipSlot COMP for working with clip slots and MIDI clips (read/write notes)
  • various bug fixes and optimizations

Thank you Ivan for this great addon to TD!

I am trying to figure out, how to fire a scene in Ableton from TD.
Can someone give me a hint on how to achieve this?

Thanks.

@django

Good feature! I haven’t built a utility for that, but it is very easy to do using the powerful “RunRemoteCode” method of the tdAbleton component:

RunRemoteCode lets you run Python commands in the MIDI Remote Script. For a mind-blowing list of possibilities, see: julienbayle.net/PythonLiveAPI_do … ive9.6.xml

If you want to experiment with this stuff, the fastest and easiest way is the Ableton Console: derivative.ca/wiki099/index. … ment_Tools

Thank you Ivan, it works like a charm and the possibilities of running remote code are indeed mind blowing.

But I am not a 100% sure, how these commands translate.

To call “Live.Scene.Scene.fire()”, I have to run “op.TDAbleton.RunRemoteCode(‘SONG.scenes[0].fire()’)”

How would I call for example “Live.Application.Application.View.focus_view()”?

So, views are something I haven’t really dived into, but I can give you some starting points.

First, there are the convenience variables set up for you, listed in derivative.ca/wiki099/index. … ment_Tools
APP is used to access the Live application.

So to access the view, you’d just send “APP.view”. “Live.Application.Application.View” is actually the class name, so you have to look in the documentation for the property that holds an object of that class. In this case, it’s “view”.

The other thing is that in those rather inadequate Live Object Model docs, they list the arguments for functions under the title:

This has two arguments and arg2 is a string that apparently identifies a view. This is where it gets into territory that you’ll have to experiment with. And for that, I highly recommend typing commands directly into the Ableton console until you find something that works.

Got it. Thanks again Ivan :smiley:

Would be dope to have a feature that will automatically open the live set associated with a touch file!

Hi,

Thanks for all the work that has gone into this.

I have been going through the Wiki and getting somewhere . Connection is established.
I can see the action of a clip being triggered manually in Ableton in the ‘abletonTrack1’ base as well as tempo data flowing both ways etc

I have streams of data flowing in that I am using to affect visuals, I would like to have that data also trigger clips or samples in Live. I am yet to get this going. I have created TDA midi devices to try and trigger MIDI clips, no luck yet , but i think this is the right direction - but how to trigger audio clips?

In the end do these (midi and audio clips/samples) need to be treated seperately or is there a simple way to fire clips?

thanks,

juddy

derivative.ca/wiki099/index. … letonTrack
If you get the latest version, you’ll find these features very helpful for triggering clips from Python.

derivative.ca/wiki099/index. … onClipSlot
This one has similar features, with more direct control of clips

I put the latest features in the Talk: (aka discussion) sections while they’re still in the experimental stage.

OK , thanks Ivan,

cheers,

With V1.80, calling ‘op.TDAbleton.SongInfo’ hangs TouchDesigner. I can poke that dictionary with len(), and access other attributes, but when I attempt to access ‘tracks’ seems to be the specific point of failure (like 'op.TDAbleton.SongInfo[‘tracks’]). Similarly, trying to use an ‘ExamineDAT’ on the TDAbleton Op, and turning on ‘Expand Classes’ with ‘Extensions’ enabled hangs TD. Using TD 2017.35550.

Are you trying to print SongInfo? Because it gets incredibly huge very quickly and can take multiple minutes to print out. If you want to print, try op.TDAbleton.SongInfo[‘tracks’].keys(). You basically have to print keys for everything but the furthest branches of that dictionary.

If you’re not trying to print, post the code you’re using to access SongInfo. Also let me know if you’re using the demo song or your own.

Cool that you’re going deep :wink:

No print statement, literally just ‘op.TDAbleton.SongInfo’, so I think it was hitting repr() . I understood it got huge, but was assuming it would only take 1-30 seconds to print out. Didn’t let it process for much longer than a minute before declaring it as hanging.

This is using the demo song with a few extra clips and renaming some clip names for unique ids visible from Touch.

Thank you so much for making this! I’ve had plans and tackled small portions of building something like this since 2011 or so - it’s so great to see someone with some great Python chops make such a solid ecosystem & base to build on. I’ve started building a very exciting module on top of this, I’ll post some info/pics once I get a bit further.

Please record your session at the TouchSummit! I really wanted to go, but it overlaps with the first weekend a tour I’m working on (that will use TDAbleton!)

Glad to hear you’re building on this. I checked out your website and it’s full of amazing work. I plan to do as much training as possible in the coming year so maybe our paths will cross somewhere after the summit. Would love to trade techniques. If you post any other TDAbleton questions on forums, please put a link on this thread to be sure I see them.