Attributes | An attribute of an object is a setting or property that tells the object how to do its job |
▼Classes | When a user types the name of your object into an object box, Max looks for an external of this name in the searchpath and, upon finding it, loads the bundle or dll and calls the ext_main() function |
Old-Style Classes | |
Inlets and Outlets | Routines for creating and communicating with inlets and outlets |
▼Data Storage | Max provides a number of ways of storing and manipulating data at a high level |
Atom Array | Max's atomarray object is a container for an array of atoms with an interface for manipulating that array |
Database | Max's database ( i.e |
Dictionary | Max 5, introduced the t_dictionary structure/object |
Hash Table | A hash table is a data structure that associates some data with a unique key |
Index Map | An indexmap is basically a managed array of pointers, but it allows you to derive relatively quickly the index from a pointer in the array |
Linked List | The Max t_linklist data structure is useful for maintaining ordered lists of items where you want to be able to insert and delete items efficiently |
Quick Map | A quickmap implements a pair of t_hashtab hash tables so that it is fast to look up a unique value for a unique key or vice-versa |
String Object | Max's string object is a simple wrapper for c-strings, useful when working with Max's t_dictionary, t_linklist, or t_hashtab |
Symbol Object | The symobject class is a simple object that wraps a t_symbol* together with a couple of additional fields |
Dictionary Passing API | The Dictionary Passing API defines a means by which t_dictionary instances may be passed between Max objects in a way similar to the way Jitter Matrices are passed between objects |
▼Data Types | |
Atoms | |
Atombufs | An Atombuf is an alternative to Binbufs for temporary storage of atoms |
Binbufs | You won’t need to know about the internal structure of a Binbuf, so you can use the void * type to refer to one |
Symbols | Max maintains a symbol table of all strings to speed lookup for message passing |
Files and Folders | These routines assist your object in opening and saving files, as well as locating the user’s files in the Max search path |
▼Jitter | |
Atom Module | |
Attribute Module | |
Binary Module | |
Class Module | |
Object Module | |
Miscellaneous Utility Module | |
Linked List Module | |
Math Module | |
Matrix Module | |
Max Wrapper Module | |
Memory Module | |
MOP Module | |
Parallel Utility Module | |
MOP Max Wrapper Module | |
OB3D Module | |
Operator Vector Module | |
Memory Management | In the past, Max has provided two separate APIs for memory management |
▼Miscellaneous | |
Console | |
Byte Ordering | Utilities for swapping the order of bytes to match the Endianness of the required platform |
Extending expr | If you want to use C-like variable expressions that are entered by a user of your object, you can use the "guts" of Max’s expr object in your object |
Table Access | You can use these functions to access named table objects |
Text Editor Windows | Max has a simple built-in text editor object that can display and edit text in conjunction with your object |
Presets | Max contains a preset object that has the ability to send preset messages to some or all of the objects (clients) in a Patcher window |
Loading Max Files | Several high-level functions permit you to load patcher files |
Monitors and Displays | Functions for finding our information about the environment |
Windows | |
Mouse and Keyboard | |
▼MSP | |
Buffers | Your object can access shared data stored in an MSP buffer~ object |
PFFT | When an object is instantiated, it is possible to determine if it is being created in pfft~ context in the new method |
Poly | If your object is instatiated as a voice of a poly~ object, it is possible both to determine this context and to determine information about the specific voice |
Objects | |
▼Patcher | Max's patcher represents a graph of objects that communicate with messages |
jpatcher | The patcher |
jbox | A box in the patcher |
jpatchline | A patch cord |
jpatcherview | A view of a patcher |
▼Timing | |
Clocks | Clock objects are your interface to Max’s scheduler |
Qelems | Your object’s methods may be called at interrupt level |
Systime API | The Systime API provides the means of getting the system time, instead of the scheduler time as you would with functions like gettime() |
ITM Time Objects | ITM Time Objects are a high-level interface to ITM, a tempo-based scheduler API |
▼Threads | In Max, there are several threads of execution |
Critical Regions | A critical region is a simple mechanism that prevents multiple threads from accessing at once code protected by the same critical region |
Mutexes | |
▼User Interface | |
▼JGraphics | JGraphics is the API for creating user interface objects introduced with Max 5 |
JSurface | A surface is an abstract base class for something you render to |
Scalable Vector Graphics | |
JFont | |
JGraphics Matrix Transformations | The t_jmatrix is one way to represent a transformation |
JPattern | A pattern is like a brush that is used to fill a path with |
Colors | |
Styles | Styles provide a means by which to inherit attribute values from a patcher that are consistently used across many objects |
TextField | The textfield is a high-level text display object that may be used by a UI object to represent text in a patcher |
TextLayout | A textlayout is lower-level text rendering object used by higher-level entities such as TextField |
Popup Menus | Popup menu API so externals can create popup menus that can also be drawn into |
Box Layer | The boxlayer functions provide way to make it easier to use cached offscreen images (layers) in your drawing |
DataView | The jdataview object provides a mechanism to display data in a tabular format |
Unicode | |