#pragma once
#include "ofConstants.h"
#ifdef OF_SOUND_PLAYER_FMOD
#include "ofSoundBaseTypes.h"
extern "C" {
#include "fmod.h"
#include "fmod_errors.h"
}
void ofFmodSoundStopAll();
void ofFmodSoundSetVolume(float vol);
void ofFmodSoundUpdate();
float * ofFmodSoundGetSpectrum(int nBands);
void ofFmodSetBuffersize(unsigned int bs);
class ofFmodSoundPlayer : public ofBaseSoundPlayer {
public:
ofFmodSoundPlayer();
virtual ~ofFmodSoundPlayer();
bool load(const std::filesystem::path& fileName, bool stream = false);
void unload();
void play();
void stop();
void setVolume(float vol);
void setPan(float vol);
void setSpeed(float spd);
void setPaused(bool bP);
void setLoop(bool bLp);
void setMultiPlay(bool bMp);
void setPosition(float pct);
void setPositionMS(int ms);
float getPosition() const;
int getPositionMS() const;
bool isPlaying() const;
float getSpeed() const;
float getPan() const;
float getVolume() const;
bool isLoaded() const;
static void initializeFmod();
static void closeFmod();
bool isStreaming;
bool bMultiPlay;
bool bLoop;
bool bLoadedOk;
bool bPaused;
float pan;
float volume;
float internalFreq;
float speed;
unsigned int length;
FMOD_RESULT result;
FMOD_CHANNEL * channel;
FMOD_SOUND * sound;
};
#endif
Comments