I’m not sure that the Ableton Link chop has ever really functioned the way the protocol intends, as its meant to send tempo/start/stop/sync data bidirectionally between all of the peers on the link network.
What the ableton chop actually seems to be doing, regardless of whether the undocumented, seemingly non-functional startstopsync parameter is enabled, is generate beat data from only the tempo coming from a peer, ignoring sync and stop/start messages, and with no ability to push data back to the link network.
While super powerful tools exist in TDAbleton that preclude the necessity for this functionality if one is only working with Ableton, for certain simple tempo integrations its overkill, and there are many other tools like VCV Rack, Resolume, tablet based synths and sequencers etc. that work with the protocol, can control each other bi-directionally, and can stop or start the network while maintaining sync. Any chance we might see a fully fledged abletonCHOP sometime in the future?
I noticed this too when I played with abletonCHOP a little bit recently. @eric.b ?
There’s definitely room for expansion, but currently ‘Start/Stop Sync Enable’ is only meant to set it on the Link Server, not react to it locally in TouchDesigner.
You can use an Info CHOP to see if the link playbar is running with the channel named ‘ableton_is_playing’
Still one way though, not connected to TouchDesigner playbar.
I wouldn’t want the link chop to be able to control the TD playbar; that sounds dangerous, and would only result in pausing cooking on the touch side, which has no benefit. What I am mostly interested in is TD link chop becoming an equal peer, having the ability to start and stop playback in other apps, as well as being to update the tempo of other apps in the link network.
right now link acts only as a listener; perhaps a link out chop would allow it to also act as master, as the link protocol is meant to be bi-directional without any single peer having hierarchical priority over the rest
Maybe this could work as a set of python methods on the CHOP itself.
eg: op(‘link1’).stopPlayback() etc
That would work for me, but the tempo sync thing would be something to figure out, as in most programs that’s just a single parameter for BPM…
I’d want to be able to set that up without it causing some kind of tempo change loop/cook dependency.
Would it be possible to have playstate and tempo as parameters of the chop as well as python methods?