Files
m2dev-client-src/src/MilesLib/SoundSample.hpp
2025-08-19 00:20:40 +02:00

36 lines
835 B
C++

#pragma once
#include "SampleFile.hpp"
#include <mss.h>
class SoundSample
{
public:
SoundSample(HSAMPLE sample);
SoundSample(SoundSample &&other);
SoundSample(const SoundSample &other) = delete;
~SoundSample();
SoundSample &operator=(SoundSample &&other);
SoundSample &operator=(const SoundSample &other) = delete;
bool SetFile(SampleFilePtr sample);
void Play(int loopCount = 1) const;
void Pause() const;
void Resume() const;
void Stop() const;
float GetVolume() const;
void SetVolume(float volume) const;
bool IsDone() const;
void SetPosition(float x, float y, float z) const;
void SetVelocity(float fx, float fy, float fz, float fMagnitude) const;
void UpdatePosition(float fElapsedTime);
private:
HSAMPLE m_sample;
SampleFilePtr m_sampleFile;
};