ut-proj / undertone

Making Music with Extempore, OSC, and SuperCollider in LFE/OTP
Apache License 2.0
57 stars 4 forks source link

New Backend: "Bevin" #80

Open oubiwann opened 3 years ago

oubiwann commented 3 years ago

@gbevin has a couple of open source CLI tools for sending/receiving MIDI:

For situations where these are the only thing needed by a user, Extempore would be overkill (and the bevin backend would thus be quite welcome).

Ideally, we'd be able to start up two OS processes, one for each, put them in the supervision tree, and then pipe (using Erlang ports) commands as needed to these ... will have to look at the tools more to see what's possible. Even without that, though, it might still be worth the cost of an OS process for every command as a tradeoff for the increased simplicity of a backend like this.

Branch:

Tasks/features (some of this might get broken out into separate tickets):

Also:

oubiwann commented 3 years ago

Video for setup on Mac:

First 1/3rd is for beginners. Notes on the rest:

oubiwann commented 3 years ago

If this goes well, I might demo this at the next conference! (CodeBEAM in March).

oubiwann commented 3 years ago

Downloaded:

oubiwann commented 3 years ago

Added a question at https://github.com/gbevin/SendMIDI/issues/29 for guidance in adding MIDI time clock & code support in the backend.

oubiwann commented 3 years ago

Basic reading and writing to the open Erlang ports for the OS process is working quite well (as expected). One problem so far, is that exiting the server doesn't seem to be causing the receivemidi process to exit. sendmidi exits just find, though.

oubiwann commented 3 years ago

Basic reading and writing to the open Erlang ports for the OS process is working quite well (as expected). One problem so far, is that exiting the server doesn't seem to be causing the receivemidi process to exit. sendmidi exits just find, though.

This has its own ticket now: #88