Node4Live: Let us plug into Node/V8!

Share what you’d like to see added to Ableton Live.
Post Reply
orin
Posts: 13
Joined: Fri Oct 29, 2010 6:08 am

Node4Live: Let us plug into Node/V8!

Post by orin » Sun Jul 07, 2019 10:39 pm

Live runs Max, which runs Node, which runs on V8, which is the greatest JavaScript engine ever made. Why not skip the layers of legacy and modernize Live's extension capabilities with real bindings to Node/V8? The engine is ready to go. Millions of JavaScript programmers exist -- orders of magnitude more than the number of people who can hack Max patches together. A subset of these programmers (self included) would love to make Live a more powerful and innovative system by extending its capabilities through code.

What we need is a simple way to plug into Live and tweak the bits that matter. Maybe we could call this the Node4Live plugin architecture. Here are some things that I'd love to see in a direct V8 bound API:
* Live Context & State: selections, track and transport states, etc.
* Full access to MIDI and Audio clips, including sample and automation data.
* The ability to offer callbacks that Live can link to keyboard & MIDI events.
* Scheduling and strongly timed interop. This would let a script emit precisely timed, sample-accurate events for things like sending a note to a device or launching a clip.
* ... the sky's the limit, and binding in V8 is easy -- so the more Live opens up to the code, the more value coders can give to Ableton and all Live customers.

Personally, I want to use strongly typed languages to create a Live Coding workflow. They'd compile down to JavaScript and get hot-swapped by Live on change. Sure, TypeScript bindings for the API would be helpful, too!

I'll build this plugin architecture myself, by the way, if you let me. Free labor, for the love of Live! :)

Post Reply