I found a solution!

In the osgAL multiple sounds example's createSound function, the
allocateSource function needs to be called before setPlay instead of after
setPlay.  The allocateSource funciton is important, since it allocates a
hardware soundsource for each sound being added to the scenegraph.

Anyway, here is how the fixed code looks in createSound.  This is at or near
line 386 in osgalmultiple.cpp:

        osg::ref_ptr<osgAL::SoundState> sound_state = new
osgAL::SoundState(file);
        sound_state->setSample(sample.get());
        sound_state->setGain(1.0f);
        sound_state->setReferenceDistance(60);
        sound_state->setRolloffFactor(3);
        sound_state->allocateSource(10);
        sound_state->setPlay(true);
        sound_state->setLooping(true);

The two sounds now play simultaneously, as intended.
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to