setBalance does not work in OpenAL mode

from pandac.PandaModules import loadPrcFileData
#loadPrcFileData("", "audio-library-name p3fmod_audio")

import direct.directbase.DirectStart

def go(b):
    mySound = loader.loadSfx("mechfire.wav")
    mySound.setBalance(b)
    print b
    mySound.play()
    
for i,c in enumerate("qwertyuiop"):
    base.accept(c,go,[i/5.-1])

run()

using openAL mode (default) the balance does not work while if you uncommon t fmod it does.

it also appears that looping sounds attached through the Audio3DManager don’t work in any mode.

I got them to work via the loop interval (which manual says not to do!)

    myInterval = SoundInterval(
        mySound,
        loop = 1, # this does not seem to do any thing even if i use play not loop
        duration = mySound.length(),
        volume = 10,
    ).loop()

Also the sound quality in OpenAL is horrible i get static on every base.cam motion! And this is running on windows with a descent sound hardware. There is also this kind of “cold” and a little bit in the “can” feel to openAl sound as apposed to FMod.

I have been busy with RL lately, so I am lagging a bit behind. But in 1.5.3 this is the set_balance routine for openal

set_balance(float balance_right) {
  audio_debug("OpenALAudioSound::set_balance() not implemented");
}

So its not implemented. Are you trying to set the balance on a stereo (non-positioned) sound?

The standard implementation of OpenAL is not in good shape. I tried the OpenAL Soft (kcat.strangesoft.net/openal.html) implementation some time ago. It was better, but not yet perfect.

But the most annying sound problem so far has been restarts. My computer restarts often when i have too many sound 20+ playing at once in both openAl and FMOD.