_geod_pos(SGGeod::fromCart(SGVec3d::zeros())),
_velocity(SGVec3d::zeros()),
_orientation(SGQuatd::zeros()),
- _bad_doppler(false)
+ _bad_doppler(false),
+ _renderer("unknown"),
+ _vendor("unknown")
{
#if defined(ALUT_API_MAJOR_VERSION) && ALUT_API_MAJOR_VERSION >= 1
if (_alut_init == 0) {
else break;
}
- string vendor = alGetString(AL_VENDOR);
- string renderer = alGetString(AL_RENDERER);
- if ( vendor != "OpenAL Community" ||
- (renderer != "Software" && renderer != "OpenAL Sample Implementation")
+ _vendor = (const char *)alGetString(AL_VENDOR);
+ _renderer = (const char *)alGetString(AL_RENDERER);
+ if ( _vendor != "OpenAL Community" ||
+ (_renderer != "Software" && _renderer != "OpenAL Sample Implementation")
)
{
_bad_doppler = true;
alcDestroyContext(_context);
alcCloseDevice(_device);
_context = NULL;
+
+ _renderer = "unknown";
+ _vendor = "unknown";
}
}
if ( !sample->is_valid_buffer() ) {
// sample was not yet loaded or removed again
string sample_name = sample->get_sample_name();
- void *sample_data == NULL;
+ void *sample_data = NULL;
// see if the sample name is already cached
buffer_map_iterator buffer_it = _buffers.find( sample_name );
ALfloat freqf;
data = alutLoadMemoryFromFile(samplepath.c_str(), &format, &size, &freqf );
freq = (ALsizei)freqf;
- if (data == NULL) {
- int error = alutGetError();
+ int error = alutGetError();
+ if (data == NULL || error != ALUT_ERROR_NO_ERROR) {
string msg = "Failed to load wav file: ";
msg.append(alutGetErrorString(error));
throw sg_io_exception(msg.c_str(), sg_location(samplepath));