Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
MMJ Depot Contribution Guidelines
There are two important aspects to the programming style of the CNMAT MMJ Depot. First, it should be relatively easy for developers to add new patches and second, it should invite users to copy and paste elements into their own patches. To facilitate these, the number of required elements are minimal.
- Every help patch must assert authorship (if known) and some form of UC License or Disclaimer.
- Every "main" patch must have a help patch.
- Every patch have the proper extension (eg .maxpat, .maxhelp) and follow the naming conventions.
- Every patch or package must have it's own version number.
- There are two patches in the depot that allow contributers to submit their own patches and have them show up in the dynamically created overview. These are "banner.maxpat" and "badge.maxpat". Both are covered below.
Note on Duplication:
Another important consideration is avoiding duplication. Whenever there are two copies of a piece of software, inevitably one ends up changing (like when a bug is fixed), and then the other copy doesn't get updated, so they go out of synch. (This is called "version skew" and it drives people like Matt and Michael crazy.) So never have two copies of the same patch in two different places in the Depot; instead move that useful patch into a module or the baseline. And before you add something new to the Depot, see if you can find something already there that does the same job.
Finally, we are recommending that patches accept and output control parameters in the form of OSC-bundles. This is especially relevant in 'Patchers'.
Please find more details on including your patch into our system here.