Mercurial > fife-parpg
view tests/swig_tests/audio_tests.py @ 338:d266506ff4f9
Bug fix.
It turned out the instance tree contained ghost instances, since
InstanceTree.removeInstance sometimes failed.
This caused those random crashes in UH.
Now the InstanceTree enforces that remove/add Instance
work in pairs. A new Exception is raised in case this
ever goes wrong again. (InconsitencyDetected)
Furthermore the removeInstancheChangeListener stuff
had a fix to become reentrant. It is not clear
wether this was shadowed by the aforementioned bug
or was never triggered.
author | phoku@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Mon, 24 Aug 2009 18:32:03 +0000 |
parents | d2f1e81fbe2c |
children | 81641655bc38 |
line wrap: on
line source
#!/usr/bin/env python from swig_test_utils import * import time, fifelog class TestAudio(unittest.TestCase): def setUp(self): self.engine = getEngine(True) self.soundmanager = self.engine.getSoundManager() self.log = fifelog.LogManager(self.engine, promptlog=True, filelog=False) self.log.setVisibleModules('pool', 'audio') self.soundmanager.init() def tearDown(self): self.engine.destroy() del self.log def testLeftRight(self): sound = self.soundmanager.createEmitter() id = self.engine.getSoundClipPool().addResourceFromFile('tests/data/left_right_test.ogg') sound.setSoundClip(id) sound.setLooping(True) sound.play() time.sleep(3); def test2Streams(self): em = self.soundmanager.createEmitter() sound = self.soundmanager.createEmitter() id = self.engine.getSoundClipPool().addResourceFromFile('tests/data/left_right_test.ogg') sound.setSoundClip(id) sound.setLooping(True) sound.setCursor(fife.SD_TIME_POS, 5) em.setSoundClip(id) em.setGain(0.7) em.play() sound.play() time.sleep(3); TEST_CLASSES = [TestAudio] if __name__ == '__main__': unittest.main()