Extending Max

    Develop custom additions in a language of your choice


    Javascript

    Simple and forgiving, Javascript lets you prototype extensions and user interface objects in Max. Javascript is a great starting point for extending Max.

    NodeJS

    The node.script object in Max hosts Node programs with full access to NPM. Node opens up a wealth of integrated features and libraries, with a special emphasis on web technologies.

    C/C++

    Build a compiled Max object using the classic Max SDK (C) or the Min Dev Kit (C++). C/C++ objects provide the best performance and access to all new Max features.

    Gen

    Gen provides a Max-like patching environment that compiles in realtime to efficient, running objects. The codebox element in Gen provides space for procedural code within your Gen patchers. Find the gen, gen~, jit.gen, jit.pix and jit.gl.pix objects to get started.

    GLSL Shaders

    Create efficient custom image filters, geometry and rendering programs (shaders) using the GLSL language. Shaders can be loaded in the jit.gl.slab and jit.gl.shader objects, or chained together using jit.gl.pass.

    Java

    Create custom objects for Max, MSP, or Jitter hosted by the mxj/mxj~ objects. Java support in Max is installed separately and is maintained as an open source project.


    Community Supported Languages

    In addition to officially supported integrations, Max developers in the community have created Max wrappers for a variety of coding languages. These language extensions include Csound, Python, Ruby, Gibber, Scheme, and SuperCollider, along with many more.

    Some of these may no longer be active projects but could provide a starting place for added programming support.




    Share Your Creations with Max Packages

    Max Packages are the preferred way to share and manage bundles of Max objects with examples and documentation. Packages can be submitted for inclusion in the Max Package Manager, which makes it easy for others in the community to discover and try your tools.

    Learn about Package authoring
    Submit a Package