3ds Max C++ API Reference
MaxMixerManager Class Reference

A class that allows a user to access the new max mixers in max 8. More...

#include <IMixer8.h>

+ Inheritance diagram for MaxMixerManager:

Public Member Functions

virtual ~MaxMixerManager ()
 Destructor. More...
 
BIPExport int NumMaxMixers ()
 Returns the Number of Max Mixers in the mixer. More...
 
BIPExport IMixer8GetNthMaxMixer (int index)
 Get's the Nth max mixer. More...
 
BIPExport IMixer8GetMaxMixer (INode *node)
 Get's the max mixer that has this node in it. More...
 
BIPExport void RemoveNthMaxMixer (int index, BOOL collapse, BOOL keyperframe)
 Remove the nth max mixer from the mixer, and subsequently either collapse the mixed animation onto the the old max mixer nodes, or replace the animation with the original animation that was there. More...
 
BIPExport bool AddMaxMixer (INodeTab &nodes, const MCHAR *nameOfMix)
 Add a new max mixer to the mixer using a set of nodes. More...
 
BIPExport bool AddMaxMixer (MaxSDK::Array< NodeAndAnims > &nodeAnims, const MCHAR *nameOfMix)
 Add a new max mixer to the mixer via list of nodes and specific tracks you want to add. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Detailed Description

A class that allows a user to access the new max mixers in max 8.

This class allows the user to create, access, and remove max mixes from the mixer. The class exists in the scene as a single global variable, TheMaxMixerManager.

Constructor & Destructor Documentation

◆ ~MaxMixerManager()

virtual ~MaxMixerManager ( )
inlinevirtual

Destructor.

267 {;}

Member Function Documentation

◆ NumMaxMixers()

BIPExport int NumMaxMixers ( )

Returns the Number of Max Mixers in the mixer.

Returns
The number of Max Mixers in the mixer.

◆ GetNthMaxMixer()

BIPExport IMixer8* GetNthMaxMixer ( int  index)

Get's the Nth max mixer.

Parameters
[in]indexThe index of the IMixer8 interface that's returned. If the index is less than zero or greater than the number of max mixers, then NULL will be returned.
Returns
The mixer interface for this max mixer.

◆ GetMaxMixer()

BIPExport IMixer8* GetMaxMixer ( INode node)

Get's the max mixer that has this node in it.

Parameters
[in]nodeGet the max mixer that this node in it. If this node isn't in any mixers, then NULL will be returned.
Returns
The mixer interface for this max mixer.

◆ RemoveNthMaxMixer()

BIPExport void RemoveNthMaxMixer ( int  index,
BOOL  collapse,
BOOL  keyperframe 
)

Remove the nth max mixer from the mixer, and subsequently either collapse the mixed animation onto the the old max mixer nodes, or replace the animation with the original animation that was there.

Parameters
[in]indexThe index of the max mixer to be removed. If the index is less than zero or greater than the number of max mixers, then nothing will happen.
[in]collapseIf TRUE the mixer will collapse and replace the mixer driven controllers with the values set in the mixer, otherwise it will replace the driven with the original controllers and their values, when the nodes were added to the mixer.
[in]keyperframeIf TRUE the mixer will collapse with a keyperframe, if FALSE, the collapse will try to collapse individual keyframes from the clips instead.

◆ AddMaxMixer() [1/2]

BIPExport bool AddMaxMixer ( INodeTab nodes,
const MCHAR nameOfMix 
)

Add a new max mixer to the mixer using a set of nodes.

Parameters
[in]nodesThe nodes to be added to the mixer.
[in]nameOfMixThe name of the max mix. Note that if the name already exists the function will return false and the new max mix won't be created.
Returns
Will return false if the nameOfMix parameter specifies a name of a mix that already exists, and will return true if the max mixer is successfully created.

◆ AddMaxMixer() [2/2]

BIPExport bool AddMaxMixer ( MaxSDK::Array< NodeAndAnims > &  nodeAnims,
const MCHAR nameOfMix 
)

Add a new max mixer to the mixer via list of nodes and specific tracks you want to add.

Parameters
[in,out]nodeAnimsA tab of the NodeAndAnims structures to be added to the mixer. This provides more flexibility in specifying which tracks you really want to be mixed or not. NodeAndAnims is defined in ILoadSaveAnimation.h Note that if a node is found in another mix we will delete it, and the resulting nodeAnims tab after the function call will contain those nodeAnims currently still existing in the maxObject.
See also
NodeAndAnims
Parameters
[in]nameOfMixThe name of the max mix. Note that if the name already exists the function will return false and the new max mix won't be created.
Returns
Will return false if the nameOfMix parameter specifies a name of a mix that already exists, otherwise if the mix is created successfully it will return true