This tool is an on-going work in progress, issue reports and ideas for adaptations are very welcome.
If you have a Max patch or device that results in an error or is not represented as you would expect, please create an issue on github and include the patch that doesn't work plus a description of the problem you're seeing.
We are happy to accept pull requests from the GitHub community, assuming that they meet the guidelines below.
You have signed and returned Ableton's CLA.
Code is formatted using black:
- Install black
- Run
black .
in the repository root
Black formatting will be checked as a GitHub action for Pull Requests.
This codebase uses the optional typing available in Python. This makes it so other tooling such as mypy can statically analyse your code for errors before you've even run a test. This synergy of types and tooling is useful in an automated context and for doing holistic evaluation, but also the types themselves can provide useful information to people reading and extending the codebase.
mypy is relatively easy to setup with its getting started instructions. Once setup, you can check maxdiff
as a whole project for type issues by running mypy maxdiff
from the root of this git repository, or mypy .
if your current working directory is already set to the maxdiff
project.
Whenever making a change, we test that the previous functionality still works as before. For more info, see the tests folder.
These tests will run as a GitHub action for Pull Requests.