C3DMusicSegment Sample Class
The C3DMusicSegment sample class represents a segment playing on a 3-D audiopath.
class C3DMusicSegment : public CMusicSegment
{
protected:
IDirectMusicAudioPath8* m_p3DAudioPath;
IDirectSound3DBuffer* m_pDS3DBuffer;
DS3DBUFFER m_dsBufferParams;
BOOL m_bDeferSettings;
BOOL m_bCleanupAudioPath;
public:
C3DMusicSegment(IDirectMusicPerformance8* pPerformance,
IDirectMusicLoader8* pLoader,
IDirectMusicSegment8* pSegment,
IDirectMusicAudioPath8* pAudioPath);
virtual ~C3DMusicSegment();
HRESULT Init();
IDirectMusicAudioPath8* GetAudioPath() { return m_p3DAudioPath; }
HRESULT Play(DWORD dwFlags = DMUS_SEGF_SECONDARY,
IDirectMusicAudioPath8* pAudioPath = NULL);
VOID Set3DParameters(FLOAT fMinDistance, FLOAT fMaxDistance);
VOID SetObjectProperties(D3DVECTOR* pvPosition, D3DVECTOR* pvVelocity);
};
Constructor
The constructor stores pointers to the performance, loader, segment, and audiopath objects.
Public Methods
In addition to the methods inherited from CMusicSegment, the class contains the following public methods, in alphabetical order.
Method | Description |
GetAudioPath | Returns a pointer to the IDirectMusicAudioPath8 interface in the m_p3DAudioPath member. |
Init | Creates a 3-D audiopath if one is not already associated with the segment, and retrieves the 3-D buffer in the m_pDS3DBuffer member. |
Play | Plays the segment, using the specified flags and audiopath. If no audiopath is specified, the audiopath in the m_p3DAudioPath member is used. |
Set3DParameters | Sets the minimum and maximum distances for the 3-D buffer. |
SetObjectProperties | Sets the position and velocity of the 3-D buffer. |
The class is implemented in (SDK root)\samples\C++\Common\Src\Dmutil.cpp.
See Also