0ad/source/sound/CMusicPlayer.h

67 lines
933 B
C++

#ifndef CMUSICPLAYER_H
#define CMUSICPLAYER_H
#include <string>
#include <iostream>
#include <stdio.h>
//#include "oal.h"
/*
#include <ogg/ogg.h>
#include <vorbis/codec.h>
#include <vorbis/vorbisfile.h>
*/
/*
struct SOggFile
{
char *dataPtr;
size_t dataSize;
size_t dataRead;
};
const size_t RAW_BUF_SIZE = 32*KB;
const int NUM_SLOTS = 3;
*/
class CMusicPlayer
{
public:
CMusicPlayer(void);
~CMusicPlayer(void);
void open(char *filename);
void release();
bool play();
bool isPlaying();
bool update();
protected:
// bool stream(ALuint buffer);
void check();
void empty();
std::string errorString(int errorcode);
private:
bool is_open;
// between open() and release(); used to determine
// if source is actually valid, for isPlaying check.
/*
SOggFile memFile;
Handle hf;
struct IOSlot
{
ALuint al_buffer;
Handle hio;
void* raw_buf;
};
IOSlot slots[NUM_SLOTS];
*/
// ALuint source;
};
#endif