-
Notifications
You must be signed in to change notification settings - Fork 152
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
[question] Web midi support #49
Comments
I have not really looked into a web port myself. |
Would really like to see ableton-link in webassembly. I wonder if it's technically possible, due to the multithreading in the code, and the native c++ network code. I can't see what would hinder a javascript library from implementing, in of course less accurate way, the ableton-link protocol, via sockets, sending and receiving data from port 20808. If shared array buffers arrive to all browsers anytime soon, that may not be so wild idea to do (even without them, webworkers provide some non-blocking asyncing). |
I am still waiting for a Java port myself. As it is, I need to tell people to use my Carabiner bridge running on the same machine to relay Link coordination to processes in the Java Virtual Machine environment. You could talk to Carabiner from Javascript just as easily. |
@brunchboy if you're willing to add clojure.jar as a dependency, you could use my Clojure port of ableton-link https://github.com/overtone/ableton-link But nice, Carabiner porves this concept then, I may either borrow some ideas or make a js library this summer. |
Whoa, @hlolli I can’t wait to take a look at your implementation! Clojure is my main language these days, and Beat Link Trigger, the show synchronization platform that I wrote Carabiner to support, is written in Clojure. I wrote the underlying Beat Link library in pure Java to make it easier for people to adopt in non-Clojure JVM projects. But this all started after I discovered Overtone and decided to create a live coding environment for controlling light shows in Clojure, called afterglow. This is a small world indeed! 😁 |
Oh, I got a bit over-excited, @hlolli… I thought you had made a pure Clojure implementation of Link. Instead, you have embedded native libraries, much as I did with Wayang for controlling the Push 2 display. But still… as this is embeddable via Clojars, it could make life a lot easier for my Beat Link Trigger users who want to also talk to Ableton Link. I see some race conditions in the state management code, so I think I will fork it and submit some PRs to address those, and start exploring adopting your solution instead of Carabiner. Thanks again for calling this to my attention! |
Hi,
Have you ever thought about making this accessible into the web ? It would be nice if we could use that combined with webassembly and web midi api.
Thanks for replies :)
Regards.
The text was updated successfully, but these errors were encountered: