List of Notification Codes
See Also: Structure NotifyInfo, Class Interface, Class Bitmap, Class RenderGlobalContext.
The following pre-defined system notification codes may be passed to the global functions RegisterNotification(), UnRegisterNotification(), BroadcastNotification().
NOTIFY_UNITS_CHANGE
Sent if the user changes the unit setting
NOTIFY_TIMEUNITS_CHANGE
Sent if the user changes the time format setting
NOTIFY_VIEWPORT_CHANGE
Sent if the user changes the viewport layout
NOTIFY_SPACEMODE_CHANGE
Sent if the user changes the reference coordinate system.
NOTIFY_SYSTEM_PRE_RESET
Sent before 3ds max is reset. This is available in release 2.0 and later only.
NOTIFY_SYSTEM_POST_RESET
Sent after 3ds max is reset. This is available in release 2.0 and later only.
NOTIFY_SYSTEM_PRE_NEW
Sent before 3ds max is NEW'd-out. This is available in release 2.0 and later only.
NOTIFY_SYSTEM_POST_NEW
Sent after 3ds max is NEW'd-out. This is available in release 2.0 and later only.
NOTIFY_FILE_PRE_OPEN
Sent before a new file is opened. This is available in release 2.0 and later only.
NOTIFY_FILE_POST_OPEN
Sent after a new file is opened successfully. This is available in release 2.0 and later only.
NOTIFY_FILE_PRE_MERGE
Sent before a file is merged. This is available in release 2.0 and later only.
Note: When merge is called to load an XRef, developers can be aware of this by testing void * callParam to see if it's non-null. If it is then an XRef is being loaded.
NOTIFY_FILE_POST_MERGE
Sent after a file is merged. This is available in release 2.0 and later only.
Note: When merge is called to load an XRef, developers can be aware of this by testing void * callParam to see if it's non-null. If it is then an XRef is being loaded.
NOTIFY_FILE_PRE_SAVE
Sent before a file is saved. This is available in release 2.5 and later only.
NOTIFY_FILE_POST_SAVE
Sent after a file is saved. This is available in release 2.5 and later only.
NOTIFY_FILE_PRE_SAVE_OLD
This option is reserved for future use as of 3ds max 3.0.
NOTIFY_FILE_POST_SAVE_OLD
This option is reserved for future use as of 3ds max 3.0.
NOTIFY_SELECTIONSET_CHANGED
This option is available in release 3.0 and later only.
Sent after the selection set has changed.
NOTIFY_BITMAP_CHANGED
This option is available in release 3.0 and later only.
Sent after the bitmap is reloaded (the NotifyInfo structure pointer callParam is passed the TCHAR * to the bitmap file name). This is used for updating bitmaps that have changed. The callParam is used to pass the name of the bitmap file in case it is used in multiple changes. If the callParam is NULL, this notification will apply to all bitmaps (as is the case when the input file gamma changes).
NOTIFY_PRE_RENDER
This option is available in release 3.0 and later only.
Sent before rendering is started.
NOTIFY_POST_RENDER
This option is available in release 3.0 and later only.
Sent after rendering has finished.
NOTIFY_PRE_RENDERFRAME
This option is available in release 3.0 and later only.
Sent before rendering each frame (the NotifyInfo structure pointer callParam is passed a pointer to the RenderGlobalContext).
Note: At the time of this call the scene cannot be modified. The renderer has already called GetRenderMesh() on all the object instances, and the materials and lights are already updated. If you don't modify anything that is rendered, then it is okay to use this callback.
NOTIFY_POST_RENDERFRAME
This option is available in release 3.0 and later only.
Sent after rendering each frame (the NotifyInfo structure pointer callParam is passed a pointer to the RenderGlobalContext). See the note in NOTIFY_PRE_RENDERFRAME above.
NOTIFY_PRE_IMPORT
This option is available in release 3.0 and later only.
Sent before a file is imported (always).
NOTIFY_POST_IMPORT
This option is available in release 3.0 and later only.
Sent after a file is imported successfully.
NOTIFY_IMPORT_FAILED
This option is available in release 3.0 and later only.
Sent if an import fails or is otherwise cancelled.
NOTIFY_PRE_EXPORT
This option is available in release 3.0 and later only.
Sent before a file is exported (always).
NOTIFY_POST_EXPORT
This option is available in release 3.0 and later only.
Sent after a file is exported successfully.
NOTIFY_EXPORT_FAILED
This option is available in release 3.0 and later only.
Sent if an export fails or is otherwise cancelled.
NOTIFY_NODE_RENAMED
This option is available in release 3.0 and later only.
Sent if a node is renamed. (the NotifyInfo structure pointer callParam is passed a pointer to a struct{ TCHAR* oldname; TCHAR* newname; }. See \MAXSDK\SAMPLES\OBJECTS\LIGHT.CPP for an example of this notification in use.
NOTIFY_PRE_PROGRESS
This option is available in release 3.0 and later only.
Sent before the progress bar is displayed. The progress bar is displayed, for example, when the Render Preview command is run. Note: If a plug-in uses a modeless window it should hide the window between this event and NOTIFY_POST_PROGRESS.
NOTIFY_POST_PROGRESS
This option is available in release 3.0 and later only.
Sent after the progress bar is finished.
NOTIFY_MATLIB_PRE_OPEN
This option is available in release 3.0 and later only.
Sent before loading a material library.
NOTIFY_MATLIB_POST_OPEN
This option is available in release 3.0 and later only.
Sent after loading a material library. The callParam is a pointer to the MtlBaseLib if successful, otherwise it's NULL.
NOTIFY_MATLIB_PRE_SAVE
This option is available in release 3.0 and later only.
Sent before saving a material library.
NOTIFY_MATLIB_POST_SAVE
This option is available in release 3.0 and later only.
Sent after saving a material library.
NOTIFY_MATLIB_PRE_MERGE
This option is available in release 3.0 and later only.
Sent before merging a material library.
NOTIFY_MATLIB_POST_MERGE
This option is available in release 3.0 and later only.
Sent after merging a material library.
NOTIFY_MODPANEL_SEL_CHANGED
This option is available in release 3.0 and later only.
Sent when the Modify Panel focuses on a new object (via opening the Modify Panel or changing the selection)
NOTIFY_RENDER_PREEVAL
This option is available in release 4.0 and later only.
Sent before the render start evaluating objects
NOTIFY_NODE_CREATED
This option is available in release 4.0 and later only.
Sent when a node is created (callParam is pointer to node)
NOTIFY_NODE_LINKED
This option is available in release 4.0 and later only.
Sent when a node is linked (callParam is pointer to node)
NOTIFY_NODE_UNLINKED
This option is available in release 4.0 and later only.
Sent when a node is unlinked (callParam is pointer to node)
NOTIFY_NODE_HIDE
This option is available in release 4.0 and later only.
Sent when a node is hidden (callParam is pointer to node)
NOTIFY_NODE_UNHIDE
This option is available in release 4.0 and later only.
Sent when a node is unhidden (callParam is pointer to node)
NOTIFY_NODE_FREEZE
This option is available in release 4.0 and later only.
Sent when a node is frozen (callParam is pointer to node)
NOTIFY_NODE_UNFREEZE
This option is available in release 4.0 and later only.
Sent when a node is unfrozen (callParam is pointer to node)
NOTIFY_NODE_PRE_MTL
This option is available in release 4.0 and later only.
Node is about to get a new material (callParam is pointer to node)
NOTIFY_NODE_POST_MTL
This option is available in release 4.0 and later only.
Node just got a new material (callParam is pointer to node)
NOTIFY_WM_ENABLE
This option is available in release 4.0 and later only.
Sent when the main window gets an WM_ENABLE (BOOL enabled)
NOTIFY_SYSTEM_SHUTDOWN
This option is available in release 4.0 and later only.
Sent when 3ds max is about to exit
NOTIFY_SYSTEM_SHUTDOWN2
This option is available in release 4.0 and later only.
Sent after the scene is destroyed. Most plug-ins will most likely not live long enough to receive the notification. It is important to unregister this notification when your plug-in dies. If not, 3ds max will try to notify objects that don't exist anymore.
NOTIFY_SYSTEM_STARTUP
This option is available in release 4.0 and later only.
Sent when 3ds max starts up.
NOTIFY_PLUGIN_LOADED
This option is available in release 4.0 and later only.
Sent when a plug-in was just loaded. (callParam is pointer to DllDesc)
NOTIFY_SEL_NODES_PRE_DELETE
This option is available in release 4.0 and later only.
Sent when selected nodes will be deleted. (callParam is pointer to Tab<INode*>)
NOTIFY_SEL_NODES_POST_DELETE
This option is available in release 4.0 and later only.
Sent when selected nodes have just been deleted.
NOTIFY_SYSTEM_SHUTDOWN2
This option is available in release 4.0 and later only.
Sent when the 3ds max system shutdown is completed. This is the last broadcase sent before exit.
NOTIFY_ANIMATE_ON
This option is available in release 4.0 and later only.
Sent when the Animate user interface mode is activated.
NOTIFY_ANIMATE_OFF
This option is available in release 4.0 and later only.
Sent when the Animate user interface mode is de-activated.
NOTIFY_COLOR_CHANGE
This option is available in release 4.0 and later only.
Sent when the system is updating its custom colors.
If a plug-in has created a toolbar with any MaxBmpFileIcons on it, it should register this callback for color changing, and call ICustToolbar::ResetIconImages() on the toolbar. See Class ICustToolbar, and Class MAXBmpFileIcon.
REFMSG_NODE_MATERIAL_CHANGED
This option is available in release 4.0 and later only.
This notification indicates that the material changed.
REFMSG_NODE_WSCACHE_UPDATED
This option is available in release 4.0 and later only.
Sent whenever the mod stack gets re-evaluated.
NOTIFY_PRE_EDIT_OBJ_CHANGE
This option is available in release 4.0 and later only.
Sent just before the current edit object is about to change. This notifications are sent whenever the object returned by Interface::GetCurEditObject() changes.
NOTIFY_POST_EDIT_OBJ_CHANGE
This option is available in release 4.0 and later only.
Sent just after the current edit object changes. This notifications are sent whenever the object returned by Interface::GetCurEditObject() changes.
NOTIFY_BEGIN_RENDERING_REFLECT_REFRACT_MAP
This option is available in release 5.0 and later only.
Sent when the render begins to render the Reflect/Refract map
NOTIFY_BEGIN_RENDERING_ACTUAL_FRAME
This option is available in release 5.0 and later only.
Sent when the render begins to render the full frame
NOTIFY_BEGIN_RENDERING_TONEMAPPING_IMAGE
This option is available in release 5.0 and later only.
Sent when the render begins to render the Tone map
NOTIFY_RADIOSITYPROCESS_STARTED
This option is available in release 5.0 and later only.
Sent when radiosity processing is started
NOTIFY_RADIOSITYPROCESS_STOPPED
This option is available in release 5.0 and later only.
Sent when radiosity processing is stopped, but not done
NOTIFY_RADIOSITYPROCESS_RESET
This option is available in release 5.0 and later only.
Sent when radiosity processing is reset
NOTIFY_RADIOSITYPROCESS_DONE
This option is available in release 5.0 and later only.
Sent when radiosity processing is done
NOTIFY_RADIOSITY_PLUGIN_CHANGED
This option is available in release 5.0 and later only.
Sent when radiosity plugin is changed.
NOTIFY_LIGHTING_UNIT_DISPLAY_SYSTEM_CHANGE
This option is available in release 5.0 and later only.
Sent when the lighting unit display system is changed
NOTIFY_TIMERANGE_CHANGE
This option is available in release 5.1 and later only.
Sent after the animate time range has been changed