Files
BlitzNext/Runtime/gfx/gxaudio.hpp
T
Michael Fabian 'Xaymar' Dirks a16218e1d5 runtime: CMake-ify gx
2019-01-18 17:03:37 +01:00

45 lines
988 B
C++

#ifndef GXAUDIO_H
#define GXAUDIO_H
#include <string>
#include "gxsound.hpp"
class gxRuntime;
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);
};
#endif