Max 5 API Reference
00001 /** 00002 @mainpage Objects in C: A Roadmap 00003 00004 Max has an extensive API for developing new objects in C. Before you start learning about it, however, we would like to save you time and make sure you learn the minimum about the API for what you need to do. Therefore, we've made a brief list of application areas for object development along with the sections of this document with which you'll probably want to become familiar. 00005 00006 00007 00008 @section chapter_roadmap_max_objects Max Objects 00009 00010 For <strong>logic and arithmetic objects</strong>, such as new mathematical functions or more complex conditional operations than what is offered in Max, it should be sufficient to read the @ref chapter_anatomy section. 00011 00012 For objects that use @ref chapter_datastructures, you'll want to read, in addition, the @ref chapter_atoms section to learn about Max's basic mechanisms for representing and communicating data. 00013 00014 If you are interested in writing interfaces to <strong>operating system services</strong>, you may need to learn about Max's @ref chapter_threading model and @ref chapter_scheduler. 00015 00016 For objects that deal with time and timing you'll want to learn about @ref chapter_scheduler. If you're interested in tempo-based scheduling, you'll want to read the section on @ref chapter_itm and look at the delay2 example. 00017 00018 To create new user interface gadgets, you'll want to read all of the above, plus the section on Attributes and the @ref chapter_ui_anatomy. The section on @ref chapter_jgraphics will also be helpful. 00019 00020 To create <strong>objects with editing windows</strong>, things are much more complicated than they used to be. You'll need to learn everything about UI objects, plus understand the scripto example object project. 00021 00022 For patcher scripting and interrogation objects, the section on @ref chapter_scripting, plus a few of the examples will be very helpful. It is also helpful to have a clear conceptual understanding of the patcher, which might be aided by reading the patcher scripting sections of the js object documentation. 00023 00024 00025 00026 @section chapter_roadmap_msp_objects MSP Objects 00027 00028 To create audio <strong>filters</strong> and <strong>signal generators</strong>, read the @ref chapter_anatomy, then read the @ref chapter_msp_anatomy section. MSP objects make use of @ref chapter_inout_proxies when receiving multiple audio inputs, so familiarity with that concept could be helpful. 00029 00030 For audio objects that output events (messages), you'll need to use the services of @ref chapter_scheduler, so we suggest reading about that. 00031 00032 For UI objects for analyzing and controlling audio, you'll need to learn about regular MSP objects as well as Max UI objects. 00033 00034 00035 @section chapter_roadmap_jit_objects Jitter Objects 00036 00037 The @ref chapter_jit_objectmodel outlines some important basic information about Jitter's flexible object model. 00038 @ref chapter_jit_maxwrappers describes how to write Max wrapper objects that contain Jitter objects for use in the Max patcher world. 00039 @ref chapter_jit_mopqs and @ref chapter_jit_mopdetails describe how to create a particular type of Jitter object called matrix operators, or MOPs. 00040 @ref chapter_jit_ob3dqs and @ref chapter_jit_ob3ddetails describe how to create OB3D Jitter objects for use in rendering OpenGL scenes. 00041 @ref chapter_jit_sched covers important threading and timing issues when building Jitter objects. 00042 @ref chapter_jit_notification explains how Jitter objects can be registered by name and notify clients as they change or important events occur. 00043 @ref chapter_jit_usingobjs provides some examples of how to instantiate and take advantage of Jitter objects from C, just as one would from Java, Javascript, or the patcher. 00044 Finally, The @ref chapter_jit_jxf and @ref chapter_jit_networking contain information relating to the data formats involved in the JXF file format and Jitter networking protocols, respectively. 00045 00046 00047 */ 00048
Copyright © 2008, Cycling '74