Development of plugins with Max/Gen~

I’m exploring coding up a plugin (I have 12 days off over xmas) - I’m not a software engineer. More someone that codes in python for data analysis purposes. I have no idea on what type of plugin.

I saw the Gen~ thread below and that introduced me to Max MSP.

I found the tutorial for Gen~ but can anyone tell me should I learn about Max before embarking on Gen~?

Thanks

Nelson

3 Likes

Nelson,

Max is a wonderful and very powerful tool. Unlike Python, you program by adding objects and connecting them with cables. In a sense, it’s like what you do with the MOD: an empty canvas, you add objects to it (Mod’s plugins) and cable them in whatever way you want. Max is to some extent what modular synthesis is: you have a number of objects to use, then as you connect them they produce a specific result.

The gen~ environment is a special patching canvas where you can use those graphic objects and tinker with the code at the same time. Perhaps this is the tutorial you have found? It’s a very good explanation for beginners.

That being said, the short answer to your question is: a lot. For you to do anything useful in Max you need to understand what the objects are, what they do, how they can be customised, what are their parameters, and so on. Plus, you can try Max free for a month, but the price is 400 USD/EUR. Only the full version gives access to gen~.

If you have the time, I’d say go and download it, read the tuts, and build some effects of your liking even before using gen~. If the platform has potential and if you can go with it, I’d say it’s worth the investment and you can do a hell lot more with it than just exporting plugins – though that is a major feature for us MOD owners.

(Here’s an old tutorial for building a ring modulator in Max.)

Good luck.

3 Likes

Thanks for those comments - I’ll start with Max :smiley:

3 Likes

If you want to try patching environments you can also try Pure Data, which has origins in original max development in the 90s. Using my fork of hvcc you can build lv2 plugins. It supports a subset of Pd objects.

gen~ is not exactly a subset of max/msp, it’s kind of its own dsp environment based on some of the same principles.

Advantage of max/msp/gen~ is that you have a direct export to MOD/DPF using the MOD plugin.
For hvcc you’ll need to do a little bit more work. you can pip install hvcc to get the latest release and start converting pure data patches to c/c++ and DPF wrapper for LV2 plugins.

(sorry for taking over the thread with hvcc, just want to make people aware that there are also free and opensource patching language to plugin development options :wink: )

5 Likes

Thanks for that - pure data looks good - I’ve not written any c for a long long time.

Now if I wanted to get into embedded programming using pure data and pi - that provides a great use case.

Nel

2 Likes