device.GetCaps(caps) Because STDMETHODs use HRESULT as the return type, there is no need to check the return value. Don't forget to manually manage memory... call Release() when you're done with an interface. ''' from builtins import object import ctypes import sys from pyglet.debug import debug_print _debug_com = debug_print('debug_com') if sys.platform != 'win32': raise ImportError('pyglet.com requires a Windows build of Python') class GUID(ctypes.Structure): _fields_ = [('Data1', ctypes.c_ulong), ('Data2', ctypes.c_ushort), ('Data3', ctypes.c_ushort), ('Data4', ctypes.c_ubyte * 8)] def __init__(self, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8): self.Data1 = l self.Data2 = w1 self.Data3 = w2 self.Data4[:] = (b1, b2, b3, b4, b5, b6, b7, b8)
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # ---------------------------------------------------------------------------- from __future__ import print_function from future import standard_library standard_library.install_aliases() from builtins import object import atexit import threading import time import pyglet from pyglet.debug import debug_print _debug = debug_print('debug_media') class MediaThread(object): """A thread that cleanly exits on interpreter shutdown, and provides a sleep method that can be interrupted and a termination method. :Ivariables: `condition` : threading.Condition Lock condition on all instance variables. `stopped` : bool True if `stop` has been called. """ _threads = set() _threads_lock = threading.Lock()
# POSSIBILITY OF SUCH DAMAGE. # ---------------------------------------------------------------------------- import weakref from pyglet.media.drivers.base import AbstractAudioDriver, AbstractAudioPlayer from pyglet.media.events import MediaEvent from pyglet.media.exceptions import MediaException from pyglet.media.drivers.listener import AbstractListener from pyglet.debug import debug_print from . import lib_pulseaudio as pa from .interface import PulseAudioContext, PulseAudioContext, PulseAudioMainLoop, PulseAudioStream import pyglet _debug = debug_print('debug_media') class PulseAudioDriver(AbstractAudioDriver): def __init__(self): self.mainloop = PulseAudioMainLoop() self.mainloop.start() self.lock = self.mainloop self.context = None self._players = weakref.WeakSet() self._listener = PulseAudioListener(self) def __del__(self): self.delete()
device.GetCaps(caps) Because STDMETHODs use HRESULT as the return type, there is no need to check the return value. Don't forget to manually manage memory... call Release() when you're done with an interface. ''' from builtins import object import ctypes import sys from pyglet.debug import debug_print _debug_com = debug_print('debug_com') if sys.platform != 'win32': raise ImportError('pyglet.com requires a Windows build of Python') class GUID(ctypes.Structure): _fields_ = [ ('Data1', ctypes.c_ulong), ('Data2', ctypes.c_ushort), ('Data3', ctypes.c_ushort), ('Data4', ctypes.c_ubyte * 8) ] def __init__(self, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8): self.Data1 = l self.Data2 = w1