AudioWorld::AudioWorld(Engine::BaseEngine& engine, AudioEngine& audio_engine, const VDFS::FileIndex& vdfidx) : m_Engine(engine) , m_VDFSIndex(vdfidx) , m_exiting(false) { #ifdef RE_USE_SOUND if (!audio_engine.getDevice()) return; m_Context = alcCreateContext(audio_engine.getDevice(), nullptr); if (!m_Context) { LogWarn() << "Could not create OpenAL context: " << AudioEngine::getErrorString(alcGetError(audio_engine.getDevice())); return; } alcMakeContextCurrent(m_Context); alListener3f(AL_POSITION, 0, 0, 0.0f); // check for errors alListener3f(AL_VELOCITY, 0, 0, 0); // check for errors ALfloat listenerOri[] = {0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f}; alListenerfv(AL_ORIENTATION, listenerOri); // Need this for AL_MAX_DISTANCE to work alDistanceModel(AL_LINEAR_DISTANCE_CLAMPED); createSounds(); initializeMusic(); #endif }
void FMCSoundsHandler::slotRestartSounds() { #if VASFMC_GAUGE QMutexLocker locker(&m_sounds_mutex); #endif delete m_sounds; m_sounds = createSounds(); MYASSERT(m_sounds != 0); }