ideoforms / isobar

A Python package for creating and manipulating musical patterns, designed for use in algorithmic composition, generative music and sonification. Can be used to generate MIDI events, MIDI files, OSC messages, or custom actions.
http://ideoforms.github.io/isobar/
MIT License
373 stars 51 forks source link

FR: Add support for Ableton Link #28

Open marcora opened 2 years ago

marcora commented 2 years ago

It would be great if isobar supported syncing of the timeline to Ableton Link clock

ideoforms commented 2 years ago

yes this would be cool! I'll scope it out at some point. Have you used any other Python modules that interface with Link? I am keen to keep isobar pure Python and not add any binary dependencies, but I would definitely be open to optional integration with third-party Python wrappers.

A brief search turns up LinkToPy which might be a good option.

marcora commented 2 years ago

Yes, that looks like an option but I think it would be easier for the end user to have it built into isobar, even though that would mean adding a compiled binary component to it.

On Wed, Aug 3, 2022 at 6:44 AM Daniel Jones @.***> wrote:

yes this would be cool! I'll scope it out at some point. Have you used any other Python modules that interface with Link? I am keen to keep isobar pure Python and not add any binary dependencies, but I would definitely be open to optional integration with third-party Python wrappers.

A brief search turns up LinkToPy https://github.com/bdyetton/LinkToPy which might be a good option.

— Reply to this email directly, view it on GitHub https://github.com/ideoforms/isobar/issues/28#issuecomment-1203782620, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAABRR2VY5ACACU4Y4LWC2DVXJEQLANCNFSM55NGUQTQ . You are receiving this because you authored the thread.Message ID: @.***>

loparcog commented 1 year ago

Although it might be overkill, would it be viable create a submodule in Python to listen for Ableton Link packets on the network, much like Carabiner does as the baseline of LinkToPy? We could keep everything Python-based, but Carabiner says there are some limitations to this

ideoforms commented 10 months ago

I have now implemented Link clock support based on link-python, and it's working nicely. The remaining challenge is making it installable, as the link-python repo above doesn't have an official PyPi distribution; this fork has some infrastructure for cibuildwheel but I'm not sure if the binaries are actually out there.

Bubobubobubobubo commented 7 months ago

Hello @ideoforms: check out https://pypi.org/project/LinkPython-extern/. This is what we use to tackle this issue for Sardine. It may be useful to finish that implementation 😄. We had to hard-fork and republish to move things forward.

ideoforms commented 7 months ago

@Bubobubobubobubo Fantastic! That is just what I was looking for! Thanks so much, I will do some tests with this now.