ALboolean ALFWInitOpenAL() { ALDeviceList *pDeviceList = NULL; ALCcontext *pContext = NULL; ALCdevice *pDevice = NULL; ALint i; ALboolean bReturn = AL_FALSE; pDeviceList = new ALDeviceList(); if ((pDeviceList) && (pDeviceList->GetNumDevices())) { pDevice = alcOpenDevice(pDeviceList->GetDeviceName( pDeviceList>GetDefaultDevice() )); if (pDevice) { pContext = alcCreateContext(pDevice, NULL); if (pContext) { ALFWprintf("\nOpened %s Device\n", alcGetString(pDevice, ALC_DEVICE_SPECIFIER)); alcMakeContextCurrent(pContext); bReturn = AL_TRUE; } else { alcCloseDevice(pDevice); } } delete pDeviceList; } return bReturn; }