Files
Client/Tools/SoundLib/MusicBuffer.h
LGram16 e067522598 Initial commit: ROW Client source code
Game client codebase including:
- CharacterActionControl: Character and creature management
- GlobalScript: Network, items, skills, quests, utilities
- RYLClient: Main client application with GUI and event handlers
- Engine: 3D rendering engine (RYLGL)
- MemoryManager: Custom memory allocation
- Library: Third-party dependencies (DirectX, boost, etc.)
- Tools: Development utilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:24:34 +09:00

63 lines
1.4 KiB
C++

#ifndef _MusicBuffer_H_
#define _MusicBuffer_H_
#include "SoundObject.h"
#include "SoundGlobal.h"
#include "STL.h"
typedef struct _DS3DBUFFER DS3DBUFFER;
/////////////////////////////////////////////////////////////////////////////////////////
//
class CMusicBuffer : public ISoundObject
{
protected:
IDirectMusicSegment8 * m_pSegment;
IDirectMusicAudioPath8* m_pAudioPath;
IDirectSound3DBuffer * m_pDS3DBuffer;
DS3DBUFFER * m_p3DBufferParam;
CDirectMusic * m_pDMusic;
string * m_pstrFilename;
protected:
CMusicBuffer();
virtual ~CMusicBuffer();
friend CMusicBuffer * NewMusicBuffer();
friend void DeleteMusicBuffer( CMusicBuffer * );
public:
void Create( const char * szFilename, bool b3D = false );
void Destroy();
int Play( bool bLoop );
void Play( DWORD dwIndex, bool bLoop );
void Stop( unsigned );
void StopAll();
void Reset( unsigned );
void ResetAll();
HANDLE GetEventNotify() { return 0; }
void HandleNotification() {}
bool IsAllPlaying();
bool IsAllFree();
bool IsPlaying( unsigned );
void Download();
DWORD GetMemoryUse();
bool IsSameFile( const char * );
const char * GetFilename();
eSndObjType GetType() { return SNDOBJTYPE_MUSICBUFFER; }
void SetPosition( DWORD dwIndex, D3DVALUE x, D3DVALUE y, D3DVALUE z );
void SetDistance( DWORD dwIndex, D3DVALUE minDistance, D3DVALUE maxDistance );
};
/////////////////////////////////////////////////////////////////////////////////////////
#endif