Development System Information | |
Anatomy of a Max Object | Max objects are written in the C language, and the Max API is C-based |
Inlets and Outlets | You are familiar with inlets and outlets when connecting two objects together in a patcher |
Atoms and Messages | When a Max object receives a message, it uses its class to look up the message selector ("int", "bang", "set" etc.) and invoke the associated C function (method) |
The Scheduler | The Max scheduler permits operations to be delayed until a later time |
Memory Allocation | The Max API offers cross-platform calls memory management |
Anatomy of a MSP Object | An MSP object that handles audio signals is a regular Max object with a few extras |
Advanced Signal Object Topics | Here are some techniques for implementing additional features found in most signal objects |
Sending Messages, Calling Methods | Max objects, such as the one you write, are C data structures in which methods are dynamically bound to functions |
Anatomy of a UI Object | Max user interface objects are more complex than normal non-user-interface objects |
File Handling | Max contains a cross-platform set of routines for handling files |
Scripting the Patcher | Your object can use scripting capabilities of the patcher to learn things about its context, such as the patcher's name, hierarchy, or the peer objects to your object in its patcher |
Enhancements to Objects | |
Data Structures | |
Threading | The Max systhread API has two main purposes |
Drag'n'Drop | The Max file browser permits you to drag files to a patcher window or onto objects to perform file operations |
ITM | ITM is the tempo-based timing system introduced with Max 5 |
Jitter Object Model | |
Jitter Max Wrappers | |
Matrix Operator QuickStart | The purpose of this chapter is to give a quick and high level overview of how to develop a simple Matrix Operator (MOP), which can process the matrix type most commonly used for video streams—i.e |
Matrix Operator Details | The purpose of this chapter is to fill in the details of what a Matrix Operator is and how it works |
OB3D QuickStart | The purpose of this chapter is to give a quick and high level overview of how to develop a simple Jitter OpenGL object which draws geometry within a named rendering context - we refer to such an object as an OB3D |
OB3D Details | The purpose of this chapter is to fill in additional details of Jitter OpenGL, which we refer to as OB3Ds |
Scheduler and Low Priority Queue Issues | In Max, there are a few threads of execution |
Jitter Object Registration and Notification | In Jitter, matrices are passed around as named references between Max objects |
Using Jitter Objects in C | When developing for Jitter in C, the functionality of pre-existing Jitter objects can be used |
JXF File Specification | The Jitter File Format (JXF) stores matrix data in a binary (not human-readable) form |
Jitter Networking Specification | This appendix describes the format of the data sent by a jit.net.send object |
Appendix: Messages sent to Objects | When writing objects for Max, you typically think of creating methods which are called when a message is sent to your object through the object's inlet |
Appendix: Providing Icons for UI Objects | If you are writing user interface objects for Max, it is recommended that you provide an icon for your object |
Appendix: Additional Resources | While it is out of the scope of this document to cover many topics related to Jitter development, we suggest the following resources to better inform your development |
Appendix: Updating Externals for Max 6 | |
Appendix: Updating Externals for Max 6.1 (x64 architecture) | |
Appendix: SDK changes for Max 7 | |