Max gen~

From MOD Wiki
Revision as of 13:08, 28 October 2016 by FalkTX (talk | contribs)
Jump to navigation Jump to search

This page describes how to get Max gen~ objects working as LV2 plugins, with the purpose of running them on the MOD.
Note that the same procedure also allows for building cross-platform VST2 plugins (Linux, Mac and Windows), but without a custom graphical interface.
In this page we'll focus on LV2 and MOD.

NOTE: This is a work in progress! (specially this page!)
Except some information to be missing.

How it works

This works by mixing pre-existing plugin wrapper code with the gen~'s code export feature.
By exporting the code we can compile them together to create an LV2 plugin binary, then generate the meta-data from it.

The idea was based on the official gen-plugin-export project made by Cycling '74.
We're not using that project for MOD because it uses Juce, which requires quite a few things that unnecessary (not to mention a graphical server).

Based on that project was made DPF-Max-Gen, which uses the much simpler (and limited) DPF instead of Juce.
That way we no longer require X11, freetype and quite a few other things that Juce needs in Linux. The final binary code is also a lot smaller.
Since the plugin DSP code is all done in Max, the wrapper for exposing it as plugin does not really matter per se.
So we use the most lightweight and simple approach possible - in this case being DPF.

Dependencies