Max 5 API Reference
00001 /** 00002 @page chapter_appendix_a Appendix: Messages sent to Objects 00003 00004 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. 00005 However, your object may receive messages directly from Max rather than using the inlet. 00006 00007 One common example is the "assist" message, which is sent to your object when a user's mouse cursor hovers over one of your object's inlets or outlets. 00008 If your object binds a method to the "assist" message then you will be able to customize the message that is shown. 00009 00010 This appendix serves as a quick reference for messages that are commonly sent to objects by Max, should they be implemented by the given object. 00011 Where possible, the prototypes given are actual prototypes from example objects in the SDK rather than abstractions to assist in finding the context for these calls. 00012 00013 00014 00015 @section appendix_a_all Messages for All Objects 00016 00017 <table> 00018 <tr><td>acceptsdrag_locked </td><td>long pictmeter_acceptsdrag_unlocked(t_pictmeter *x, t_object *drag, t_object *view);</td><td></td></tr> 00019 <tr><td>acceptsdrag_unlocked </td><td>long pictmeter_acceptsdrag_unlocked(t_pictmeter *x, t_object *drag, t_object *view);</td><td></td></tr> 00020 <tr><td>assist </td><td>void pictmeter_assist(t_pictmeter *x, void *b, long m, long a, char *s);</td><td></td></tr> 00021 <tr><td>dumpout </td><td> </td><td>bind this message to object_obex_dumpout() rather than defining your own method.</td></tr> 00022 <tr><td>inletinfo </td><td>void my_obj(t_object *x, void *b, long a, char *t) </td><td>you may bind to stdinletinfo() or define your own inletinfo method. <br><br> 00023 The 'b' parameter can be ignored, the 'a' parameter is the inlet number, 00024 and 1 or 0 should set the value of '*t' upon return.</td></tr> 00025 <tr><td>notify </td><td>t_max_err dbviewer_notify(t_dbviewer *x, t_symbol *s, t_symbol *msg, void *sender, void *data);</td><td></td></tr> 00026 <tr><td>quickref </td><td> </td><td>obsolete, this is provided automatically now</td></tr> 00027 </table> 00028 00029 00030 @section appendix_a_nonui Messages for Non-UI Objects 00031 00032 <table> 00033 <tr><td>dblclick </td><td>void scripto_dblclick(t_scripto *x);</td><td></td></tr> 00034 </table> 00035 00036 00037 00038 @section appendix_a_ui Messages for User Interface Objects 00039 00040 <table> 00041 <tr><td>getdrawparams </td><td>void uisimp_getdrawparams(t_uisimp *x, t_object *patcherview, t_jboxdrawparams *params);</td><td></td></tr> 00042 <tr><td>mousedown </td><td>void scripto_ui_mousedown(t_scripto_ui *x, t_object *patcherview, t_pt pt, long modifiers);</td><td></td></tr> 00043 <tr><td>mouseup </td><td>void uisimp_mouseup(t_uisimp *x, t_object *patcherview, t_pt pt, long modifiers);</td><td></td></tr> 00044 <tr><td>mousedrag </td><td>void scripto_ui_mousedrag(t_scripto_ui *x, t_object *patcherview, t_pt pt, long modifiers);</td><td></td></tr> 00045 <tr><td>mouseenter </td><td>void uisimp_mouseenter(t_uisimp *x, t_object *patcherview, t_pt pt, long modifiers);</td><td></td></tr> 00046 <tr><td>mouseleave </td><td>void uisimp_mouseleave(t_uisimp *x, t_object *patcherview, t_pt pt, long modifiers);</td><td></td></tr> 00047 <tr><td>mousemove </td><td>void uisimp_mousemove(t_uisimp *x, t_object *patcherview, t_pt pt, long modifiers);</td><td></td></tr> 00048 <tr><td>paint </td><td>void pictmeter_paint(t_pictmeter *x, t_object *patcherview);</td><td></td></tr> 00049 </table> 00050 00051 00052 00053 @section appendix_a_audio Message for Audio Objects 00054 00055 <table> 00056 <tr><td>dsp </td><td>void plus_dsp(t_plus *x, t_signal **sp, short *count);</td><td></td></tr> 00057 </table> 00058 00059 00060 00061 @section appendix_a_textedit Messages for Objects Containing Text Fields 00062 00063 <table> 00064 <tr><td>key </td><td>long uitextfield_key(t_uitextfield *x, t_object *patcherview, long keycode, long modifiers, long textcharacter);</td><td></td></tr> 00065 <tr><td>keyfilter </td><td>long uitextfield_keyfilter(t_uitextfield *x, t_object *patcherview, long *keycode, long *modifiers, long *textcharacter);</td><td></td></tr> 00066 <tr><td>enter </td><td>void uitextfield_enter(t_uitextfield *x);</td><td></td></tr> 00067 <tr><td>select </td><td>void uitextfield_select(t_uitextfield *x);</td><td></td></tr> 00068 </table> 00069 00070 00071 00072 @section appendix_a_ed Messages for Objects with Text Editor Windows 00073 00074 <table> 00075 <tr><td>edclose </td><td>void simpletext_edclose(t_simpletext *x, char **text, long size);</td><td></td></tr> 00076 </table> 00077 00078 00079 00080 @section appendix_a_dataview Messages for Dataview Client Objects 00081 00082 <table> 00083 <tr><td>getcelltext </td><td>void dbviewer_getcelltext(t_dbviewer *x, t_symbol *colname, long index, char *text, long maxlen);</td><td></td></tr> 00084 <tr><td>newpatcherview </td><td>void dbviewer_newpatcherview(t_dbviewer *x, t_object *patcherview);</td><td></td></tr> 00085 <tr><td>freepatcherview </td><td>void dbviewer_freepatcherview(t_dbviewer *x, t_object *patcherview);</td><td></td></tr> 00086 </table> 00087 00088 00089 00090 00091 */
Copyright © 2008, Cycling '74