heuermh / lick

LiCK, Library for ChucK
GNU General Public License v3.0
147 stars 21 forks source link

Ableton Link #5

Open jwmatthys opened 7 years ago

jwmatthys commented 7 years ago

I just wanted to let you know that I created an Ableton Link chugin and it would be ideal to create a wrapper for it in LiCK, since it requires some helper functions to be able to use effectively. Let me know if you have any questions about implementing it.

heuermh commented 7 years ago

Thanks @jwmatthys! I don't have an Ableton Link to test, so after I write something, if you could give it a try, I would appreciate it.

jwmatthys commented 7 years ago

It's not a device or even a piece of software; it's a protocol for a shared metronome among multiple programs. It could be useful for locking in a metronome with Pd, or for syncing multiple laptops on a network (I rewrote all my laptop orchestra stuff to use it) or to sync with certain Android and iOS apps, as well as Ableton, Serato, etc.

heuermh commented 5 years ago

Sorry for the long delay on this. I see that you have a pull request upstream, doesn't look like too much has diverged. I also see a few more new Chugins that could use a wrapping in LiCK.

From abletonlink-help.ck I would guess that LiCK could provide the LinkEvent ChucK class and encapsulate the linkListener method?

I've also wanted to learn what MIDI clock is, and how to use it from ChucK. Perhaps there might be some overlap in how MIDI clock and Link are handled in LiCK.

shakfu commented 4 months ago

@jwmatthys @heuermh I checked out your chugin and the interfaces from the Ableton Link side have moved slightly as well as the chugins interface since this issue was opened. Is there any interest in reviving this?

heuermh commented 4 months ago

Hello @shakfu! I would be interested in doing whatever I could from the ChucK/LiCK side, and could maybe help with the chugin. I don't use Ableton though, so still would not be able to test.

shakfu commented 4 months ago

Thanks @heuermh I'm interested in ways to sync chuck with the host in which it is embedded as a plugin. In my case, it's for chuck-max and pd-chuck.

In these two cases, chuck is using the host audio process, so it should be theoretically easier to sync between the host and Chuck, and also have clock dividers and multipliers for changing tempo.

AbletonLink is a more general way to achieve outside of the host I, and it has a wider application because it's a published protocol and there are many applications which have implemented it for the purpose of synchronization.

I'd be happy to help with any of the above.. I've started updating @jwmatthys AbletonLink project, but it would be best of course if it was done with his participation.. I might aim lower and try just to sync the host/chuck as a plugin first ...