35 lines
601 B
C++
35 lines
601 B
C++
#pragma once;
|
|
|
|
class gxAudio;
|
|
class gxChannel;
|
|
|
|
struct FSOUND_SAMPLE;
|
|
|
|
class gxSound {
|
|
public:
|
|
gxAudio* audio;
|
|
|
|
gxSound(gxAudio* audio, FSOUND_SAMPLE* sample);
|
|
~gxSound();
|
|
|
|
private:
|
|
bool defs_valid;
|
|
int def_freq, def_vol, def_pan, def_pri;
|
|
FSOUND_SAMPLE* sample;
|
|
float pos[3], vel[3];
|
|
|
|
void setDefaults();
|
|
|
|
/***** GX INTERFACE *****/
|
|
public:
|
|
//actions
|
|
gxChannel* play();
|
|
gxChannel* play3d(const float pos[3], const float vel[3]);
|
|
|
|
//modifiers
|
|
void setLoop(bool loop);
|
|
void setPitch(int hertz);
|
|
void setVolume(float volume);
|
|
void setPan(float pan);
|
|
};
|