List of Notification Codes

3DS Max Plug-In SDK

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