Hacker News new | ask | show | jobs
by windowliker 16 days ago
>Ableton and Max are totally separate codebases, and "Max for Live" is just a ~VST interface between them.

This is not strictly true, and Max for Live (M4L) is much more than a pseudo-VST. In the context of Live, the Max runtime is controlled by the DAW, which itself then exposes part of its interface to Max. So there's realtime bi-directional communication going on, more akin to how Propellerhead Software's (now deprecated) ReWire protocol used to work, the host passing control information (transport position, note data, etc.) and audio buffers into the client software and vice-versa. There is some superficial similarity with VST in this sense, but with M4L it's much more deeply integrated into the DAW as a whole. The Live Object Model[1], while not complete, is extensive, and there is very little that is off-limits to a M4L device to manipulate, with the caveat that care must be taken to avoid overflow of the control stream coming back from Max into Live (certain operations must be placed in the low-priority scheduler thread).

This new API gives much of the same control that M4L already did, but without having to have Max involved.

>In Max, you have to build everything from scratch, every time.

Again, not strictly true. Editing a M4L device opens the full Max environment, which has a snippets[2] feature much like any other good IDE. You can easily build a large library of boilerplate code for your own specific purposes with it. There are also many basic examples included out of the box.

[1] https://docs.cycling74.com/apiref/lom/

[2] https://docs.cycling74.com/userguide/snippets/

1 comments

thanks for the correction - my assumption was that VST APIs had largely the same set of functionality.