Version Control for Complex Application built with Max?

Joe Kaplan's icon

Hi All,

Thinking about undertaking a complex application in max, involving many patches, subpatches, additional media, externals, supporting files, etc.

In a recent thread it became clear that the Max Project Manager is probably not up to the task. I can see how the Project Manager can be useful for small and medium projects that involved a handful of patches and supporting media, but it's not really a DevOps powertool.

I have some ideas, but I'm curious if others have come up with any solutions they can can share?

Thanks!

Henry Murphy's icon

I saw Phillip Meyer using git in one of his recent videos.

TFL's icon

By "Complex Application built with Max", do you mean you tend to export your patch as a collective/standalone?

To me the title of this thread and the content of your post describe two different problems.

Regarding version control like git, yes this is definitely possible with max, either using your own folder structure, or for Max projects, or packages... The main difficulty being merging changes on a .maxpat can be quite troublesome. I tend to avoid this as much as possible and just get in sync with other people who might work on the project. Segmenting a patch in many abstractions also help a lot in that regard.

For the rest, the thread you linked does a good job at summing up the situation, if export to a standalone or collective is a requirement.

Otherwise, depending on who is your app for, you might prefer building a Max Package, or just a folder with a custom structure that you add in your Max search path.

By the way you might find those things useful:

  • max-diff (from Ableton), providing more human readable diffs for maxpat files

  • max-test, some tools to do automated tests