diff --git a/mumble-bot/bot.py b/mumble-bot/bot.py index 2ae409a..a0b4d60 100644 --- a/mumble-bot/bot.py +++ b/mumble-bot/bot.py @@ -32,35 +32,27 @@ cursor_time = None cursor_time = time.time() - BUFFER while mumble.is_alive(): - - if cursor_time < time.time() - BUFFER: # it's time to check audio + if cursor_time < time.time() - BUFFER: base_sound = None try: - for user in mumble.users.values(): # check the audio queue of each user - while ( user.sound.is_sound() and - user.sound.first_sound().time < cursor_time): - user.sound.get_sound(FLOAT_RESOLUTION) # forget about too old sounds - + for user in mumble.users.values(): # check the audio queue of each user if user.sound.is_sound(): - if ( user.sound.first_sound().time >= cursor_time and - user.sound.first_sound().time < cursor_time + FLOAT_RESOLUTION ): - # available sound is to be treated now and not later - sound = user.sound.get_sound(FLOAT_RESOLUTION) - stereo_pcm = audioop.tostereo(sound.pcm, 2, 1, 1) - if base_sound == None: - base_sound = stereo_pcm - else: - base_sound = audioop.add(base_sound, stereo_pcm, 2) + # available sound is to be treated now and not later + sound = user.sound.get_sound(FLOAT_RESOLUTION) + stereo_pcm = audioop.tostereo(sound.pcm, 2, 1, 1) + if base_sound == None: + base_sound = stereo_pcm + else: + base_sound = audioop.add(base_sound, stereo_pcm, 2) except RuntimeError: eprint("ignored exception in stderr...") if base_sound: sys.stdout.buffer.write(base_sound) else: - sys.stdout.buffer.write(silent) - + sys.stdout.buffer.write(silent) + cursor_time += FLOAT_RESOLUTION else: time.sleep(FLOAT_RESOLUTION) -