32 lines
773 B
Python
32 lines
773 B
Python
|
import atexit
|
||
|
|
||
|
import pyglet
|
||
|
|
||
|
|
||
|
def get_audio_device_manager():
|
||
|
global _audio_device_manager
|
||
|
|
||
|
if _audio_device_manager:
|
||
|
return _audio_device_manager
|
||
|
|
||
|
_audio_device_manager = None
|
||
|
|
||
|
if pyglet.compat_platform == 'win32':
|
||
|
from pyglet.media.devices.win32 import Win32AudioDeviceManager
|
||
|
_audio_device_manager = Win32AudioDeviceManager()
|
||
|
|
||
|
return _audio_device_manager
|
||
|
|
||
|
|
||
|
def _delete_manager():
|
||
|
"""Deletes existing manager. If audio device manager is stored anywhere.
|
||
|
Required to remove handlers before exit, as it can cause problems with the event system's weakrefs."""
|
||
|
global _audio_device_manager
|
||
|
_audio_device_manager = None
|
||
|
|
||
|
|
||
|
global _audio_device_manager
|
||
|
_audio_device_manager = None
|
||
|
|
||
|
atexit.register(_delete_manager)
|