-#include <msp/core/except.h>
+#include <stdexcept>
#include "device.h"
using namespace std;
{
dev = alcOpenDevice(0);
if(!dev)
- throw Exception("Couldn't get OpenAL device");
+ throw runtime_error("Couldn't get OpenAL device");
}
Device::Device(const string &spec)
{
dev = alcOpenDevice(spec.c_str());
if(!dev)
- throw Exception("Couldn't get OpenAL device");
+ throw runtime_error("Couldn't get OpenAL device");
}
Device::~Device()
#include <cstring>
-#include <msp/core/except.h>
+#include <stdexcept>
#include "sound.h"
using namespace std;
void Sound::open_file(const string &fn)
{
if(ovfile.datasource)
- throw InvalidState("Sound has already been opened");
+ throw logic_error("Sound has already been opened");
if(ov_fopen(const_cast<char *>(fn.c_str()), &ovfile)<0)
- throw Exception("Could not open ogg vorbis file "+fn);
+ throw runtime_error("Could not open ogg vorbis file "+fn);
open_common();
}
void Sound::open_memory(const void *d, unsigned len)
{
if(ovfile.datasource)
- throw InvalidState("Sound has already been opened");
+ throw logic_error("Sound has already been opened");
MemorySource *src = new MemorySource(d, len);
if(ov_open_callbacks(src, &ovfile, 0, 0, memory_callbacks)<0)
{
delete src;
- throw Exception("Could not open ogg vorbis memory block");
+ throw runtime_error("Could not open ogg vorbis memory block");
}
open_common();
void Sound::load_data()
{
if(data)
- throw InvalidState("Data has already been loaded");
+ throw logic_error("Data has already been loaded");
size = ov_pcm_total(&ovfile, 0)*4;
char *dptr = new char[size];
int section = 0;
int res = ov_read(&ovfile, buf, len, 0, 2, 1, §ion);
if(res<0)
- throw Exception("Error reading ogg vorbis file");
+ throw runtime_error("Error reading ogg vorbis file");
else if(res==0)
eof_flag = true;
return res;
}
else
- throw InvalidState("No data available");
+ throw logic_error("No data available");
}
const char *Sound::get_data() const
{
if(!data)
- throw InvalidState("Data has not been loaded");
+ throw logic_error("Data has not been loaded");
return data;
}
{
case 1: format = MONO16; break;
case 2: format = STEREO16; break;
- default: throw Exception("Unsupported number of channels");
+ default: throw runtime_error("Unsupported number of channels");
}
}