Feature #1314
OpenAL environment effects on Mac OS X
Status: | New | Start date: | 06/06/2011 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | - | % Done: | 0% |
|
Category: | OS: Mac | |||
Target version: | - |
Description
One way could be ASA (Apple Spatial Audio Extension)
http://developer.apple.com/library/mac/#samplecode/OpenALExample/Introduction/Intro.html
Another way could be OpenAL soft
http://kcat.strangesoft.net/openal.html
Related issues
History
#1 Updated by rti about 7 years ago
On the first glance, OpenAL soft looks quite promising.
NLSOUND output with Apple's OpenAL.framwork:
DBG 70e8fca0 audio_mixer_user.cpp 352 initDriver <Unknown> : AM: Init Driver 'OpenAL' ('openal')... INF 70e8fca0 sound_driver.cpp 108 createDriver <Unknown> : Creating statically linked sound driver OpenAL DBG 70e8fca0 ext_al.cpp 25 alExtInit <Unknown> : AL: Initializing extensions DBG 70e8fca0 audio_mixer_user.cpp 407 initDevice <Unknown> : AM: Init Device... DBG 70e8fca0 sound_driver_al.cpp 300 initDevice <Unknown> : AL: Opening device: 'NULL' DBG 70e8fca0 sound_driver_al.cpp 303 initDevice <Unknown> : AL: ALC_DEVICE_SPECIFIER: 'Built-in Output' DBG 70e8fca0 sound_driver_al.cpp 320 initDevice <Unknown> : AL: AL_VERSION: '1.1', AL_RENDERER: 'Software', AL_VENDOR: 'Apple Computer Inc.' DBG 70e8fca0 sound_driver_al.cpp 321 initDevice <Unknown> : AL: AL_EXTENSIONS: AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE AL_EXT_float32 AL_EXT_STATIC_BUFFER DBG 70e8fca0 ext_al.cpp 40 alExtInitDevice <Unknown> : AL: Initializing device extensions DBG 70e8fca0 sound_driver_al.cpp 331 initDevice <Unknown> : AL: EAX-RAM: Not available, ALC_EXT_EFX: Not available DBG 70e8fca0 sound_driver_al.cpp 337 initDevice <Unknown> : AL: Max. sources: 256, Max. effects: 0 WRN 70e8fca0 sound_driver_al.cpp 343 initDevice <Unknown> : AL: ALC_EXT_EFX is required, environment effects disabled WRN 70e8fca0 audio_mixer_user.cpp 437 initDevice <Unknown> : AM: OptionEnvironmentEffects not available, _UseEax = false
NLSOUND output with OpenAL soft:
DBG 70e8fca0 audio_mixer_user.cpp 352 initDriver <Unknown> : AM: Init Driver 'OpenAL' ('openal')... INF 70e8fca0 sound_driver.cpp 108 createDriver <Unknown> : Creating statically linked sound driver OpenAL DBG 70e8fca0 ext_al.cpp 25 alExtInit <Unknown> : AL: Initializing extensions DBG 70e8fca0 audio_mixer_user.cpp 407 initDevice <Unknown> : AM: Init Device... DBG 70e8fca0 sound_driver_al.cpp 300 initDevice <Unknown> : AL: Opening device: 'NULL' DBG 70e8fca0 sound_driver_al.cpp 303 initDevice <Unknown> : AL: ALC_DEVICE_SPECIFIER: '(null)' DBG 70e8fca0 sound_driver_al.cpp 320 initDevice <Unknown> : AL: AL_VERSION: '1.1 ALSOFT 1.13', AL_RENDERER: 'OpenAL Soft', AL_VENDOR: 'OpenAL Community' DBG 70e8fca0 sound_driver_al.cpp 321 initDevice <Unknown> : AL: AL_EXTENSIONS: AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_LOKI_quadriphonic AL_SOFTX_buffer_samples AL_SO DBG 70e8fca0 ext_al.cpp 40 alExtInitDevice <Unknown> : AL: Initializing device extensions DBG 70e8fca0 sound_driver_al.cpp 331 initDevice <Unknown> : AL: EAX-RAM: Not available, ALC_EXT_EFX: Present DBG 70e8fca0 sound_driver_al.cpp 337 initDevice <Unknown> : AL: Max. sources: 256, Max. effects: 1 DBG 70e8fca0 effect_al.cpp 68 setEnvironment <Unknown> : AL: CStandardReverbEffectAL::setEnvironment, size: 100.000000 DBG 70e8fca0 audio_mixer_user.cpp 494 initDevice <Unknown> : AM: Reverb OK
#2 Updated by kervala about 7 years ago
Do you think if we'll use OpenAL soft under Mac OS X it could fix the crashes ?
Under Linux, OpenAL soft is the default lib under most of Linux distros.
Under Windows, we have choice between proprietary OpenAL drivers from Creative (in software for non-Creative cards) or OpenAL soft.
Perhaps it could be a great idea to completely switch to OpenAL soft for all platforms by default.
#3 Updated by rti about 7 years ago
As described in #1298 it indeed fixed a crash on the first glance. Needs further testing I think.
Yes, unifying the OpenAL implementation could make stuff easier. :)
#4 Updated by rti about 7 years ago
While talking about testing... if someone wants to test:
http://files.rtti.de/ryzom-core-client-0.8.0.1588-ALsoft.app.zip
This version contains the OpenAL soft library.
Also, the workaround for #1116 from r1562 is removed in this build.
#5 Updated by rti about 7 years ago
Known problems with the OpenAL soft build:
- occasional "Stream Overflow Error" exceptions, mainly while/after teleporting
- #1157 Missing Textures - Too many open files
#6 Updated by rti about 7 years ago
- Too strong reverb effect
#7 Updated by rti about 7 years ago
This is a new build with OpenAL soft backend. If someone wants to test, please report any problem.
http://files.rtti.de/ryzom-core-client-0.8.0.1610-ALsoft.app.zip
- This build contains a workaround for the file descriptor limitation
- I am in dialog with KittyCat at #openal to find a clean solution
Remaining known issues:
- occasional "Stream Overflow Error" exceptions, mainly while/after teleporting
- Too strong reverb effect
#8 Updated by rti about 7 years ago
KittyCat from #openal fixed the file descriptor limitation problem and it works great.
You can get this openal soft version using:
git clone git://repo.or.cz/openal-soft.git openal-soft
#9 Updated by kervala about 7 years ago
rti wrote:
KittyCat from #openal fixed the file descriptor limitation problem and it works great.
You can get this openal soft version using:
[...]
Great news, thanks :)