Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Ableton Link synchronisation to TempoClock #3347

Closed
smiarx opened this issue Dec 20, 2017 · 5 comments
Closed

Adding Ableton Link synchronisation to TempoClock #3347

smiarx opened this issue Dec 20, 2017 · 5 comments

Comments

@smiarx
Copy link
Contributor

@smiarx smiarx commented Dec 20, 2017

I needed support for Ableton Link in Supercollider for a live project. LinkUGen already exists but it only works on the server side, and I usually work with Patterns and Routines. Unfortunately quarks don't allow hard-coded C++ extensions of sclang, so I created a fork implementing it.

It adds some primitives and a method TempoClock.link(state=true) that allow any TempoClock beats and tempo to be synchronized to the current Link sessions. One way to test it is to create a pattern with quant, removing server latency.

t = TempoClock(90/60).link;
Pbind(\degree, Pseq([0,1,2,3],inf), \latency, 0).play(t, quant:4);

This should be synchronized with every other Link application.

It also add the variables TempoClock.numPeers which is set to the number of connected peers in the session, and TempoClock.linkTempoChanged which can be set to a callback function called when the tempo is changed in the session by other users.

Since adding this as a quark is impossible right now, I'd like to know the team opinion on this and if it's worth making a pull request. Many people work with Live and more and more application support Link, I think it would be a great addition to SuperCollider.

@nhthn
Copy link
Contributor

@nhthn nhthn commented Dec 20, 2017

wonderful!! i think this would be a perfectly appropriate feature to introduce to core for SC 3.10.

@nhthn nhthn added this to the 3.10 milestone Dec 20, 2017
@telephon
Copy link
Member

@telephon telephon commented Dec 21, 2017

very nice, yes, please make a pull request! Then we can discuss the details about what the best code interface is.

@brianlheim
Copy link
Member

@brianlheim brianlheim commented Dec 21, 2017

Cool! I also support moving this to core.

@smiarx
Copy link
Contributor Author

@smiarx smiarx commented Dec 23, 2017

Pull request is here #3351

@nhthn nhthn removed this from the 3.10 milestone Jul 25, 2018
@brianlheim brianlheim closed this Mar 4, 2019
@brianlheim
Copy link
Member

@brianlheim brianlheim commented Mar 4, 2019

Closed by #4331 , thanks again @smiarx for getting this started!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants