Files
2019-01-18 19:05:43 +01:00

42 lines
965 B
C++

#pragma once
#include <string>
class gxRuntime;
class gxChannel;
class gxSound;
struct FSOUND_SAMPLE;
class gxAudio {
public:
gxRuntime* runtime;
gxAudio(gxRuntime* runtime);
~gxAudio();
gxChannel* play(FSOUND_SAMPLE* sample);
gxChannel* play3d(FSOUND_SAMPLE* sample, const float pos[3], const float vel[3]);
void pause();
void resume();
private:
/***** GX INTERFACE *****/
public:
enum { CD_MODE_ONCE = 1, CD_MODE_LOOP, CD_MODE_ALL };
gxSound* loadSound(const std::string& filename, bool use_3d);
gxSound* verifySound(gxSound* sound);
void freeSound(gxSound* sound);
void setPaused(bool paused); //master pause
void setVolume(float volume); //master volume
void set3dOptions(float roll, float dopp, float dist);
void set3dListener(const float pos[3], const float vel[3], const float forward[3], const float up[3]);
gxChannel* playCDTrack(int track, int mode);
gxChannel* playFile(const std::string& filename, bool use_3d);
};