pyglet 2.1.13__py3-none-any.whl → 3.0.dev1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. pyglet/__init__.py +67 -61
  2. pyglet/__init__.pyi +15 -8
  3. pyglet/app/__init__.py +22 -13
  4. pyglet/app/async_app.py +212 -0
  5. pyglet/app/base.py +2 -1
  6. pyglet/app/{xlib.py → linux.py} +3 -3
  7. pyglet/config/__init__.py +101 -0
  8. pyglet/config/gl/__init__.py +30 -0
  9. pyglet/config/gl/egl.py +120 -0
  10. pyglet/config/gl/macos.py +262 -0
  11. pyglet/config/gl/windows.py +267 -0
  12. pyglet/config/gl/x11.py +142 -0
  13. pyglet/customtypes.py +43 -2
  14. pyglet/display/__init__.py +8 -6
  15. pyglet/display/base.py +3 -63
  16. pyglet/display/cocoa.py +12 -17
  17. pyglet/display/emscripten.py +39 -0
  18. pyglet/display/headless.py +23 -30
  19. pyglet/display/wayland.py +157 -0
  20. pyglet/display/win32.py +5 -21
  21. pyglet/display/xlib.py +19 -27
  22. pyglet/display/xlib_vidmoderestore.py +2 -2
  23. pyglet/enums.py +183 -0
  24. pyglet/event.py +0 -1
  25. pyglet/experimental/geoshader_sprite.py +15 -13
  26. pyglet/experimental/hidraw.py +6 -15
  27. pyglet/experimental/multitexture_sprite.py +31 -19
  28. pyglet/experimental/particles.py +13 -35
  29. pyglet/font/__init__.py +251 -85
  30. pyglet/font/base.py +116 -61
  31. pyglet/font/dwrite/__init__.py +349 -204
  32. pyglet/font/dwrite/dwrite_lib.py +27 -5
  33. pyglet/font/fontconfig.py +14 -6
  34. pyglet/font/freetype.py +138 -87
  35. pyglet/font/freetype_lib.py +19 -0
  36. pyglet/font/group.py +179 -0
  37. pyglet/font/harfbuzz/__init__.py +3 -3
  38. pyglet/font/pyodide_js.py +310 -0
  39. pyglet/font/quartz.py +319 -126
  40. pyglet/font/ttf.py +45 -3
  41. pyglet/font/user.py +14 -19
  42. pyglet/font/win32.py +45 -21
  43. pyglet/graphics/__init__.py +8 -787
  44. pyglet/graphics/allocation.py +115 -1
  45. pyglet/graphics/api/__init__.py +77 -0
  46. pyglet/graphics/api/base.py +299 -0
  47. pyglet/graphics/api/gl/__init__.py +58 -0
  48. pyglet/graphics/api/gl/base.py +24 -0
  49. pyglet/graphics/{vertexbuffer.py → api/gl/buffer.py} +104 -159
  50. pyglet/graphics/api/gl/cocoa/context.py +76 -0
  51. pyglet/graphics/api/gl/context.py +391 -0
  52. pyglet/graphics/api/gl/default_shaders.py +0 -0
  53. pyglet/graphics/api/gl/draw.py +627 -0
  54. pyglet/graphics/api/gl/egl/__init__.py +0 -0
  55. pyglet/graphics/api/gl/egl/context.py +92 -0
  56. pyglet/graphics/api/gl/enums.py +76 -0
  57. pyglet/graphics/api/gl/framebuffer.py +315 -0
  58. pyglet/graphics/api/gl/gl.py +5463 -0
  59. pyglet/graphics/api/gl/gl_info.py +188 -0
  60. pyglet/graphics/api/gl/global_opengl.py +226 -0
  61. pyglet/{gl → graphics/api/gl}/lib.py +34 -18
  62. pyglet/graphics/api/gl/shader.py +1476 -0
  63. pyglet/graphics/api/gl/shapes.py +55 -0
  64. pyglet/graphics/api/gl/sprite.py +102 -0
  65. pyglet/graphics/api/gl/state.py +219 -0
  66. pyglet/graphics/api/gl/text.py +190 -0
  67. pyglet/graphics/api/gl/texture.py +1526 -0
  68. pyglet/graphics/{vertexarray.py → api/gl/vertexarray.py} +11 -13
  69. pyglet/graphics/api/gl/vertexdomain.py +751 -0
  70. pyglet/graphics/api/gl/win32/__init__.py +0 -0
  71. pyglet/graphics/api/gl/win32/context.py +108 -0
  72. pyglet/graphics/api/gl/win32/wgl_info.py +24 -0
  73. pyglet/graphics/api/gl/xlib/__init__.py +0 -0
  74. pyglet/graphics/api/gl/xlib/context.py +174 -0
  75. pyglet/{gl → graphics/api/gl/xlib}/glx_info.py +26 -31
  76. pyglet/graphics/api/gl1/__init__.py +0 -0
  77. pyglet/{gl → graphics/api/gl1}/gl_compat.py +3 -2
  78. pyglet/graphics/api/gl2/__init__.py +0 -0
  79. pyglet/graphics/api/gl2/buffer.py +320 -0
  80. pyglet/graphics/api/gl2/draw.py +600 -0
  81. pyglet/graphics/api/gl2/global_opengl.py +122 -0
  82. pyglet/graphics/api/gl2/shader.py +200 -0
  83. pyglet/graphics/api/gl2/shapes.py +51 -0
  84. pyglet/graphics/api/gl2/sprite.py +79 -0
  85. pyglet/graphics/api/gl2/text.py +175 -0
  86. pyglet/graphics/api/gl2/vertexdomain.py +364 -0
  87. pyglet/graphics/api/webgl/__init__.py +233 -0
  88. pyglet/graphics/api/webgl/buffer.py +302 -0
  89. pyglet/graphics/api/webgl/context.py +234 -0
  90. pyglet/graphics/api/webgl/draw.py +590 -0
  91. pyglet/graphics/api/webgl/enums.py +76 -0
  92. pyglet/graphics/api/webgl/framebuffer.py +360 -0
  93. pyglet/graphics/api/webgl/gl.py +1537 -0
  94. pyglet/graphics/api/webgl/gl_info.py +130 -0
  95. pyglet/graphics/api/webgl/shader.py +1346 -0
  96. pyglet/graphics/api/webgl/shapes.py +92 -0
  97. pyglet/graphics/api/webgl/sprite.py +102 -0
  98. pyglet/graphics/api/webgl/state.py +227 -0
  99. pyglet/graphics/api/webgl/text.py +187 -0
  100. pyglet/graphics/api/webgl/texture.py +1227 -0
  101. pyglet/graphics/api/webgl/vertexarray.py +54 -0
  102. pyglet/graphics/api/webgl/vertexdomain.py +616 -0
  103. pyglet/graphics/api/webgl/webgl_js.pyi +307 -0
  104. pyglet/{image → graphics}/atlas.py +33 -32
  105. pyglet/graphics/base.py +10 -0
  106. pyglet/graphics/buffer.py +245 -0
  107. pyglet/graphics/draw.py +578 -0
  108. pyglet/graphics/framebuffer.py +26 -0
  109. pyglet/graphics/instance.py +178 -69
  110. pyglet/graphics/shader.py +267 -1553
  111. pyglet/graphics/state.py +83 -0
  112. pyglet/graphics/texture.py +703 -0
  113. pyglet/graphics/vertexdomain.py +695 -538
  114. pyglet/gui/ninepatch.py +10 -10
  115. pyglet/gui/widgets.py +120 -10
  116. pyglet/image/__init__.py +20 -1973
  117. pyglet/image/animation.py +12 -12
  118. pyglet/image/base.py +730 -0
  119. pyglet/image/codecs/__init__.py +9 -0
  120. pyglet/image/codecs/bmp.py +53 -30
  121. pyglet/image/codecs/dds.py +53 -31
  122. pyglet/image/codecs/gdiplus.py +38 -14
  123. pyglet/image/codecs/gdkpixbuf2.py +0 -2
  124. pyglet/image/codecs/js_image.py +99 -0
  125. pyglet/image/codecs/ktx2.py +161 -0
  126. pyglet/image/codecs/pil.py +1 -1
  127. pyglet/image/codecs/png.py +1 -1
  128. pyglet/image/codecs/wic.py +11 -2
  129. pyglet/info.py +26 -24
  130. pyglet/input/__init__.py +8 -0
  131. pyglet/input/base.py +163 -105
  132. pyglet/input/controller.py +13 -19
  133. pyglet/input/controller_db.py +39 -24
  134. pyglet/input/emscripten/__init__.py +18 -0
  135. pyglet/input/emscripten/gamepad_js.py +397 -0
  136. pyglet/input/linux/__init__.py +11 -5
  137. pyglet/input/linux/evdev.py +10 -11
  138. pyglet/input/linux/x11_xinput.py +2 -2
  139. pyglet/input/linux/x11_xinput_tablet.py +1 -1
  140. pyglet/input/macos/__init__.py +7 -2
  141. pyglet/input/macos/darwin_gc.py +559 -0
  142. pyglet/input/win32/__init__.py +1 -1
  143. pyglet/input/win32/directinput.py +34 -29
  144. pyglet/input/win32/xinput.py +11 -61
  145. pyglet/lib.py +3 -3
  146. pyglet/libs/__init__.py +1 -1
  147. pyglet/{gl → libs/darwin}/agl.py +1 -1
  148. pyglet/libs/darwin/cocoapy/__init__.py +2 -2
  149. pyglet/libs/darwin/cocoapy/cocoahelpers.py +181 -0
  150. pyglet/libs/darwin/cocoapy/cocoalibs.py +31 -0
  151. pyglet/libs/darwin/cocoapy/cocoatypes.py +27 -0
  152. pyglet/libs/darwin/cocoapy/runtime.py +81 -45
  153. pyglet/libs/darwin/coreaudio.py +4 -4
  154. pyglet/{gl → libs/darwin}/lib_agl.py +9 -8
  155. pyglet/libs/darwin/quartzkey.py +1 -3
  156. pyglet/libs/egl/__init__.py +2 -0
  157. pyglet/libs/egl/egl_lib.py +576 -0
  158. pyglet/libs/egl/eglext.py +51 -5
  159. pyglet/libs/linux/__init__.py +0 -0
  160. pyglet/libs/linux/egl/__init__.py +0 -0
  161. pyglet/libs/linux/egl/eglext.py +22 -0
  162. pyglet/libs/linux/glx/__init__.py +0 -0
  163. pyglet/{gl → libs/linux/glx}/glx.py +13 -14
  164. pyglet/{gl → libs/linux/glx}/glxext_arb.py +408 -192
  165. pyglet/{gl → libs/linux/glx}/glxext_mesa.py +1 -1
  166. pyglet/{gl → libs/linux/glx}/glxext_nv.py +345 -164
  167. pyglet/{gl → libs/linux/glx}/lib_glx.py +3 -2
  168. pyglet/libs/linux/wayland/__init__.py +0 -0
  169. pyglet/libs/linux/wayland/client.py +1068 -0
  170. pyglet/libs/linux/wayland/lib_wayland.py +207 -0
  171. pyglet/libs/linux/wayland/wayland_egl.py +38 -0
  172. pyglet/libs/{wayland → linux/wayland}/xkbcommon.py +26 -0
  173. pyglet/libs/{x11 → linux/x11}/xf86vmode.py +4 -4
  174. pyglet/libs/{x11 → linux/x11}/xinerama.py +2 -2
  175. pyglet/libs/{x11 → linux/x11}/xinput.py +10 -10
  176. pyglet/libs/linux/x11/xrandr.py +0 -0
  177. pyglet/libs/{x11 → linux/x11}/xrender.py +1 -1
  178. pyglet/libs/shared/__init__.py +0 -0
  179. pyglet/libs/shared/spirv/__init__.py +0 -0
  180. pyglet/libs/shared/spirv/lib_shaderc.py +85 -0
  181. pyglet/libs/shared/spirv/lib_spirv_cross.py +126 -0
  182. pyglet/libs/win32/__init__.py +28 -8
  183. pyglet/libs/win32/constants.py +59 -48
  184. pyglet/libs/win32/context_managers.py +20 -3
  185. pyglet/libs/win32/dinput.py +105 -88
  186. pyglet/{gl → libs/win32}/lib_wgl.py +52 -26
  187. pyglet/libs/win32/types.py +58 -23
  188. pyglet/{gl → libs/win32}/wgl.py +32 -25
  189. pyglet/{gl → libs/win32}/wglext_arb.py +364 -2
  190. pyglet/media/__init__.py +9 -10
  191. pyglet/media/codecs/__init__.py +12 -1
  192. pyglet/media/codecs/base.py +99 -96
  193. pyglet/media/codecs/ffmpeg.py +2 -2
  194. pyglet/media/codecs/ffmpeg_lib/libavformat.py +3 -8
  195. pyglet/media/codecs/webaudio_pyodide.py +111 -0
  196. pyglet/media/drivers/__init__.py +9 -4
  197. pyglet/media/drivers/base.py +4 -4
  198. pyglet/media/drivers/openal/__init__.py +1 -1
  199. pyglet/media/drivers/openal/adaptation.py +3 -3
  200. pyglet/media/drivers/pulse/__init__.py +1 -1
  201. pyglet/media/drivers/pulse/adaptation.py +3 -3
  202. pyglet/media/drivers/pyodide_js/__init__.py +8 -0
  203. pyglet/media/drivers/pyodide_js/adaptation.py +288 -0
  204. pyglet/media/drivers/xaudio2/adaptation.py +3 -3
  205. pyglet/media/player.py +276 -193
  206. pyglet/media/player_worker_thread.py +1 -1
  207. pyglet/model/__init__.py +39 -29
  208. pyglet/model/codecs/base.py +4 -4
  209. pyglet/model/codecs/gltf.py +3 -3
  210. pyglet/model/codecs/obj.py +71 -43
  211. pyglet/resource.py +129 -78
  212. pyglet/shapes.py +154 -194
  213. pyglet/sprite.py +47 -164
  214. pyglet/text/__init__.py +44 -54
  215. pyglet/text/caret.py +12 -7
  216. pyglet/text/document.py +19 -17
  217. pyglet/text/formats/html.py +2 -2
  218. pyglet/text/formats/structured.py +10 -40
  219. pyglet/text/layout/__init__.py +20 -13
  220. pyglet/text/layout/base.py +176 -287
  221. pyglet/text/layout/incremental.py +9 -10
  222. pyglet/text/layout/scrolling.py +7 -95
  223. pyglet/window/__init__.py +183 -172
  224. pyglet/window/cocoa/__init__.py +62 -51
  225. pyglet/window/cocoa/pyglet_delegate.py +2 -25
  226. pyglet/window/cocoa/pyglet_view.py +9 -8
  227. pyglet/window/dialog/__init__.py +184 -0
  228. pyglet/window/dialog/base.py +99 -0
  229. pyglet/window/dialog/darwin.py +121 -0
  230. pyglet/window/dialog/linux.py +72 -0
  231. pyglet/window/dialog/windows.py +194 -0
  232. pyglet/window/emscripten/__init__.py +779 -0
  233. pyglet/window/headless/__init__.py +44 -28
  234. pyglet/window/key.py +2 -0
  235. pyglet/window/mouse.py +2 -2
  236. pyglet/window/wayland/__init__.py +377 -0
  237. pyglet/window/win32/__init__.py +101 -46
  238. pyglet/window/xlib/__init__.py +104 -66
  239. {pyglet-2.1.13.dist-info → pyglet-3.0.dev1.dist-info}/METADATA +2 -3
  240. pyglet-3.0.dev1.dist-info/RECORD +322 -0
  241. {pyglet-2.1.13.dist-info → pyglet-3.0.dev1.dist-info}/WHEEL +1 -1
  242. pyglet/gl/__init__.py +0 -208
  243. pyglet/gl/base.py +0 -499
  244. pyglet/gl/cocoa.py +0 -309
  245. pyglet/gl/gl.py +0 -4625
  246. pyglet/gl/gl.pyi +0 -2320
  247. pyglet/gl/gl_compat.pyi +0 -3097
  248. pyglet/gl/gl_info.py +0 -190
  249. pyglet/gl/headless.py +0 -166
  250. pyglet/gl/wgl_info.py +0 -36
  251. pyglet/gl/wglext_nv.py +0 -1096
  252. pyglet/gl/win32.py +0 -268
  253. pyglet/gl/xlib.py +0 -295
  254. pyglet/image/buffer.py +0 -274
  255. pyglet/image/codecs/s3tc.py +0 -354
  256. pyglet/libs/x11/xrandr.py +0 -166
  257. pyglet-2.1.13.dist-info/RECORD +0 -234
  258. /pyglet/{libs/wayland → graphics/api/gl/cocoa}/__init__.py +0 -0
  259. /pyglet/libs/{egl → linux/egl}/egl.py +0 -0
  260. /pyglet/libs/{egl → linux/egl}/lib.py +0 -0
  261. /pyglet/libs/{ioctl.py → linux/ioctl.py} +0 -0
  262. /pyglet/libs/{wayland → linux/wayland}/gbm.py +0 -0
  263. /pyglet/libs/{x11 → linux/x11}/__init__.py +0 -0
  264. /pyglet/libs/{x11 → linux/x11}/cursorfont.py +0 -0
  265. /pyglet/libs/{x11 → linux/x11}/xlib.py +0 -0
  266. /pyglet/libs/{x11 → linux/x11}/xsync.py +0 -0
  267. {pyglet-2.1.13.dist-info/licenses → pyglet-3.0.dev1.dist-info}/LICENSE +0 -0
@@ -8,8 +8,8 @@ from __future__ import annotations
8
8
  from ctypes import CFUNCTYPE, POINTER, Structure, c_char_p, c_float, c_int, c_long, c_ubyte, c_uint, c_ulong, c_ushort
9
9
  from ctypes.wintypes import HANDLE, CHAR, DWORD, LONG, HDC, UINT, USHORT, LPVOID, FLOAT
10
10
 
11
- from pyglet.gl.lib import c_void
12
- from pyglet.gl.lib import link_WGL as _link_function
11
+ from pyglet.graphics.api.gl.lib import link_WGL as _link_function
12
+ from pyglet.graphics.api.gl.lib import c_void
13
13
  from pyglet.libs.win32.types import INT64, INT32
14
14
 
15
15
  # BEGIN GENERATED CONTENT (do not edit below this line)
@@ -278,6 +278,12 @@ WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV = 8400 # http://www.opengl.org/registr
278
278
  WGL_ERROR_MISSING_AFFINITY_MASK_NV = 8401 # http://www.opengl.org/registry/api/wglext.h:368
279
279
  # ARB_pbuffer (http://www.opengl.org/registry/api/wglext.h:374)
280
280
 
281
+ WGL_CONTEXT_PROFILE_MASK_ARB = 0x9126
282
+ WGL_CONTEXT_CORE_PROFILE_BIT_ARB = 0x00000001
283
+ WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB = 0x00000002
284
+ WGL_CONTEXT_ES2_PROFILE_BIT_EXT = 0x00000004
285
+ WGL_CONTEXT_ES_PROFILE_BIT_EXT = 0x00000004
286
+
281
287
  HPBUFFERARB = HANDLE # http://www.opengl.org/registry/api/wglext.h:375
282
288
  # EXT_pbuffer (http://www.opengl.org/registry/api/wglext.h:377)
283
289
  HPBUFFEREXT = HANDLE # http://www.opengl.org/registry/api/wglext.h:378
@@ -779,6 +785,362 @@ PFNWGLCREATEAFFINITYDCNVPROC = CFUNCTYPE(HDC, POINTER(HGPUNV)) # http://www.ope
779
785
  PFNWGLENUMGPUSFROMAFFINITYDCNVPROC = CFUNCTYPE(BOOL, HDC, UINT, POINTER(HGPUNV)) # http://www.opengl.org/registry/api/wglext.h:769
780
786
  PFNWGLDELETEDCNVPROC = CFUNCTYPE(BOOL, HDC) # http://www.opengl.org/registry/api/wglext.h:770
781
787
 
788
+
789
+ class WGLFunctionsARB:
790
+ def __init__(self):
791
+ # http://www.opengl.org/registry/api/wglext.h:402
792
+ self.wglCreateBufferRegionARB = _link_function(
793
+ 'wglCreateBufferRegionARB', HANDLE, [HDC, c_int, UINT], 'ARB_buffer_region',
794
+ )
795
+
796
+ # http://www.opengl.org/registry/api/wglext.h:403
797
+ self.wglDeleteBufferRegionARB = _link_function('wglDeleteBufferRegionARB', VOID, [HANDLE], 'ARB_buffer_region')
798
+
799
+ # http://www.opengl.org/registry/api/wglext.h:404
800
+ self.wglSaveBufferRegionARB = _link_function('wglSaveBufferRegionARB', BOOL, [HANDLE, c_int, c_int, c_int, c_int], 'ARB_buffer_region')
801
+
802
+ # http://www.opengl.org/registry/api/wglext.h:405
803
+ self.wglRestoreBufferRegionARB = _link_function('wglRestoreBufferRegionARB', BOOL, [HANDLE, c_int, c_int, c_int, c_int, c_int, c_int], 'ARB_buffer_region')
804
+
805
+ # http://www.opengl.org/registry/api/wglext.h:420
806
+ self.wglGetExtensionsStringARB = _link_function('wglGetExtensionsStringARB', c_char_p, [HDC], 'ARB_extensions_string')
807
+
808
+
809
+ # http://www.opengl.org/registry/api/wglext.h:428
810
+ self.wglGetPixelFormatAttribivARB = _link_function(
811
+ 'wglGetPixelFormatAttribivARB',
812
+ BOOL,
813
+ [HDC, c_int, c_int, UINT, POINTER(c_int), POINTER(c_int)],
814
+ 'ARB_pixel_format',
815
+ )
816
+
817
+ # http://www.opengl.org/registry/api/wglext.h:429
818
+ self.wglGetPixelFormatAttribfvARB = _link_function(
819
+ 'wglGetPixelFormatAttribfvARB',
820
+ BOOL,
821
+ [HDC, c_int, c_int, UINT, POINTER(c_int), POINTER(FLOAT)],
822
+ 'ARB_pixel_format',
823
+ )
824
+
825
+ # http://www.opengl.org/registry/api/wglext.h:430
826
+ self.wglChoosePixelFormatARB = _link_function('wglChoosePixelFormatARB', BOOL, [HDC, POINTER(c_int), POINTER(FLOAT), UINT, POINTER(c_int), POINTER(UINT)], 'ARB_pixel_format')
827
+ # http://www.opengl.org/registry/api/wglext.h:440
828
+ self.wglMakeContextCurrentARB = _link_function('wglMakeContextCurrentARB', BOOL, [HDC, HDC, HGLRC], 'ARB_make_current_read')
829
+
830
+ # http://www.opengl.org/registry/api/wglext.h:441
831
+ self.wglGetCurrentReadDCARB = _link_function('wglGetCurrentReadDCARB', HDC, [], 'ARB_make_current_read')
832
+
833
+ # http://www.opengl.org/registry/api/wglext.h:450
834
+ self.wglCreatePbufferARB = _link_function(
835
+ 'wglCreatePbufferARB', HPBUFFERARB, [HDC, c_int, c_int, c_int, POINTER(c_int)], 'ARB_pbuffer',
836
+ )
837
+
838
+ # http://www.opengl.org/registry/api/wglext.h:451
839
+ self.wglGetPbufferDCARB = _link_function('wglGetPbufferDCARB', HDC, [HPBUFFERARB], 'ARB_pbuffer')
840
+
841
+ # http://www.opengl.org/registry/api/wglext.h:452
842
+ self.wglReleasePbufferDCARB = _link_function('wglReleasePbufferDCARB', c_int, [HPBUFFERARB, HDC], 'ARB_pbuffer')
843
+
844
+ # http://www.opengl.org/registry/api/wglext.h:453
845
+ self.wglDestroyPbufferARB = _link_function('wglDestroyPbufferARB', BOOL, [HPBUFFERARB], 'ARB_pbuffer')
846
+
847
+ # http://www.opengl.org/registry/api/wglext.h:454
848
+ self.wglQueryPbufferARB = _link_function(
849
+ 'wglQueryPbufferARB', BOOL, [HPBUFFERARB, c_int, POINTER(c_int)], 'ARB_pbuffer',
850
+ )
851
+
852
+ # http://www.opengl.org/registry/api/wglext.h:466
853
+ self.wglBindTexImageARB = _link_function('wglBindTexImageARB', BOOL, [HPBUFFERARB, c_int], 'ARB_render_texture')
854
+
855
+ # http://www.opengl.org/registry/api/wglext.h:467
856
+ self.wglReleaseTexImageARB = _link_function('wglReleaseTexImageARB', BOOL, [HPBUFFERARB, c_int], 'ARB_render_texture')
857
+
858
+ # http://www.opengl.org/registry/api/wglext.h:468
859
+ self.wglSetPbufferAttribARB = _link_function('wglSetPbufferAttribARB', BOOL, [HPBUFFERARB, POINTER(c_int)], 'ARB_render_texture')
860
+ # http://www.opengl.org/registry/api/wglext.h:482
861
+ self.wglCreateContextAttribsARB = _link_function('wglCreateContextAttribsARB', HGLRC, [HDC, HGLRC, POINTER(c_int)], 'ARB_create_context')
862
+
863
+
864
+ # http://www.opengl.org/registry/api/wglext.h:490
865
+ self.wglCreateDisplayColorTableEXT = _link_function(
866
+ 'wglCreateDisplayColorTableEXT', GLboolean, [GLushort], 'EXT_display_color_table',
867
+ )
868
+
869
+ # http://www.opengl.org/registry/api/wglext.h:491
870
+ self.wglLoadDisplayColorTableEXT = _link_function('wglLoadDisplayColorTableEXT', GLboolean, [POINTER(GLushort), GLuint], 'EXT_display_color_table')
871
+
872
+ # http://www.opengl.org/registry/api/wglext.h:492
873
+ self.wglBindDisplayColorTableEXT = _link_function('wglBindDisplayColorTableEXT', GLboolean, [GLushort], 'EXT_display_color_table')
874
+
875
+ # http://www.opengl.org/registry/api/wglext.h:493
876
+ self.wglDestroyDisplayColorTableEXT = _link_function('wglDestroyDisplayColorTableEXT', VOID, [GLushort], 'EXT_display_color_table')
877
+
878
+
879
+ # http://www.opengl.org/registry/api/wglext.h:504
880
+ self.wglGetExtensionsStringEXT = _link_function('wglGetExtensionsStringEXT', c_char_p, [], 'EXT_extensions_string')
881
+
882
+ # http://www.opengl.org/registry/api/wglext.h:512
883
+ self.wglMakeContextCurrentEXT = _link_function('wglMakeContextCurrentEXT', BOOL, [HDC, HDC, HGLRC], 'EXT_make_current_read')
884
+
885
+ # http://www.opengl.org/registry/api/wglext.h:513
886
+ self.wglGetCurrentReadDCEXT = _link_function('wglGetCurrentReadDCEXT', HDC, [], 'EXT_make_current_read')
887
+
888
+
889
+ self.wglCreatePbufferEXT = _link_function(
890
+ 'wglCreatePbufferEXT', HPBUFFEREXT, [HDC, c_int, c_int, c_int, POINTER(c_int)], 'EXT_pbuffer',
891
+ )
892
+
893
+ # http://www.opengl.org/registry/api/wglext.h:523
894
+ self.wglGetPbufferDCEXT = _link_function('wglGetPbufferDCEXT', HDC, [HPBUFFEREXT], 'EXT_pbuffer')
895
+
896
+ # http://www.opengl.org/registry/api/wglext.h:524
897
+ self.wglReleasePbufferDCEXT = _link_function('wglReleasePbufferDCEXT', c_int, [HPBUFFEREXT, HDC], 'EXT_pbuffer')
898
+
899
+ # http://www.opengl.org/registry/api/wglext.h:525
900
+ self.wglDestroyPbufferEXT = _link_function('wglDestroyPbufferEXT', BOOL, [HPBUFFEREXT], 'EXT_pbuffer')
901
+
902
+ # http://www.opengl.org/registry/api/wglext.h:526
903
+ self.wglQueryPbufferEXT = _link_function(
904
+ 'wglQueryPbufferEXT', BOOL, [HPBUFFEREXT, c_int, POINTER(c_int)], 'EXT_pbuffer',
905
+ )
906
+
907
+ # http://www.opengl.org/registry/api/wglext.h:538
908
+ self.wglGetPixelFormatAttribivEXT = _link_function(
909
+ 'wglGetPixelFormatAttribivEXT',
910
+ BOOL,
911
+ [HDC, c_int, c_int, UINT, POINTER(c_int), POINTER(c_int)],
912
+ 'EXT_pixel_format',
913
+ )
914
+
915
+ # http://www.opengl.org/registry/api/wglext.h:539
916
+ self.wglGetPixelFormatAttribfvEXT = _link_function(
917
+ 'wglGetPixelFormatAttribfvEXT',
918
+ BOOL,
919
+ [HDC, c_int, c_int, UINT, POINTER(c_int), POINTER(FLOAT)],
920
+ 'EXT_pixel_format',
921
+ )
922
+
923
+ # http://www.opengl.org/registry/api/wglext.h:540
924
+ self.wglChoosePixelFormatEXT = _link_function(
925
+ 'wglChoosePixelFormatEXT',
926
+ BOOL,
927
+ [HDC, POINTER(c_int), POINTER(FLOAT), UINT, POINTER(c_int), POINTER(UINT)],
928
+ 'EXT_pixel_format',
929
+ )
930
+
931
+ # http://www.opengl.org/registry/api/wglext.h:550
932
+ self.wglSwapIntervalEXT = _link_function('wglSwapIntervalEXT', BOOL, [c_int], 'EXT_swap_control')
933
+
934
+ # http://www.opengl.org/registry/api/wglext.h:551
935
+ self.wglGetSwapIntervalEXT = _link_function('wglGetSwapIntervalEXT', c_int, [], 'EXT_swap_control')
936
+
937
+ # http://www.opengl.org/registry/api/wglext.h:564
938
+ self.wglAllocateMemoryNV = _link_function(
939
+ 'wglAllocateMemoryNV', POINTER(c_void), [GLsizei, GLfloat, GLfloat, GLfloat], 'NV_vertex_array_range',
940
+ )
941
+
942
+ # http://www.opengl.org/registry/api/wglext.h:565
943
+ self.wglFreeMemoryNV = _link_function('wglFreeMemoryNV', None, [POINTER(None)], 'NV_vertex_array_range')
944
+
945
+ # http://www.opengl.org/registry/api/wglext.h:582
946
+ self.wglGetSyncValuesOML = _link_function(
947
+ 'wglGetSyncValuesOML', BOOL, [HDC, POINTER(INT64), POINTER(INT64), POINTER(INT64)], 'OML_sync_control',
948
+ )
949
+
950
+ # http://www.opengl.org/registry/api/wglext.h:583
951
+ self.wglGetMscRateOML = _link_function(
952
+ 'wglGetMscRateOML', BOOL, [HDC, POINTER(INT32), POINTER(INT32)], 'OML_sync_control',
953
+ )
954
+
955
+ # http://www.opengl.org/registry/api/wglext.h:584
956
+ self.wglSwapBuffersMscOML = _link_function(
957
+ 'wglSwapBuffersMscOML', INT64, [HDC, INT64, INT64, INT64], 'OML_sync_control',
958
+ )
959
+
960
+ # http://www.opengl.org/registry/api/wglext.h:585
961
+ self.wglSwapLayerBuffersMscOML = _link_function(
962
+ 'wglSwapLayerBuffersMscOML', INT64, [HDC, c_int, INT64, INT64, INT64], 'OML_sync_control',
963
+ )
964
+
965
+ # http://www.opengl.org/registry/api/wglext.h:586
966
+ self.wglWaitForMscOML = _link_function(
967
+ 'wglWaitForMscOML',
968
+ BOOL,
969
+ [HDC, INT64, INT64, INT64, POINTER(INT64), POINTER(INT64), POINTER(INT64)],
970
+ 'OML_sync_control',
971
+ )
972
+
973
+ # http://www.opengl.org/registry/api/wglext.h:587
974
+ self.wglWaitForSbcOML = _link_function(
975
+ 'wglWaitForSbcOML', BOOL, [HDC, INT64, POINTER(INT64), POINTER(INT64), POINTER(INT64)], 'OML_sync_control',
976
+ )
977
+
978
+ # http://www.opengl.org/registry/api/wglext.h:600
979
+ self.wglGetDigitalVideoParametersI3D = _link_function(
980
+ 'wglGetDigitalVideoParametersI3D', BOOL, [HDC, c_int, POINTER(c_int)], 'I3D_digital_video_control',
981
+ )
982
+
983
+ # http://www.opengl.org/registry/api/wglext.h:601
984
+ self.wglSetDigitalVideoParametersI3D = _link_function(
985
+ 'wglSetDigitalVideoParametersI3D', BOOL, [HDC, c_int, POINTER(c_int)], 'I3D_digital_video_control',
986
+ )
987
+
988
+ self.wglGetGammaTableParametersI3D = _link_function(
989
+ 'wglGetGammaTableParametersI3D', BOOL, [HDC, c_int, POINTER(c_int)], 'I3D_gamma',
990
+ )
991
+
992
+ # http://www.opengl.org/registry/api/wglext.h:611
993
+ self.wglSetGammaTableParametersI3D = _link_function('wglSetGammaTableParametersI3D', BOOL, [HDC, c_int, POINTER(c_int)], 'I3D_gamma')
994
+
995
+ # http://www.opengl.org/registry/api/wglext.h:612
996
+ self.wglGetGammaTableI3D = _link_function('wglGetGammaTableI3D', BOOL, [HDC, c_int, POINTER(USHORT), POINTER(USHORT), POINTER(USHORT)], 'I3D_gamma')
997
+
998
+ # http://www.opengl.org/registry/api/wglext.h:613
999
+ self.wglSetGammaTableI3D = _link_function('wglSetGammaTableI3D', BOOL, [HDC, c_int, POINTER(USHORT), POINTER(USHORT), POINTER(USHORT)], 'I3D_gamma')
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+ # http://www.opengl.org/registry/api/wglext.h:624
1006
+ self.wglEnableGenlockI3D = _link_function('wglEnableGenlockI3D', BOOL, [HDC], 'I3D_genlock')
1007
+
1008
+ # http://www.opengl.org/registry/api/wglext.h:625
1009
+ self.wglDisableGenlockI3D = _link_function('wglDisableGenlockI3D', BOOL, [HDC], 'I3D_genlock')
1010
+
1011
+ # http://www.opengl.org/registry/api/wglext.h:626
1012
+ self.wglIsEnabledGenlockI3D = _link_function('wglIsEnabledGenlockI3D', BOOL, [HDC, POINTER(BOOL)], 'I3D_genlock')
1013
+
1014
+ # http://www.opengl.org/registry/api/wglext.h:627
1015
+ self.wglGenlockSourceI3D = _link_function('wglGenlockSourceI3D', BOOL, [HDC, UINT], 'I3D_genlock')
1016
+
1017
+ # http://www.opengl.org/registry/api/wglext.h:628
1018
+ self.wglGetGenlockSourceI3D = _link_function('wglGetGenlockSourceI3D', BOOL, [HDC, POINTER(UINT)], 'I3D_genlock')
1019
+
1020
+ # http://www.opengl.org/registry/api/wglext.h:629
1021
+ self.wglGenlockSourceEdgeI3D = _link_function('wglGenlockSourceEdgeI3D', BOOL, [HDC, UINT], 'I3D_genlock')
1022
+
1023
+ # http://www.opengl.org/registry/api/wglext.h:630
1024
+ self.wglGetGenlockSourceEdgeI3D = _link_function(
1025
+ 'wglGetGenlockSourceEdgeI3D', BOOL, [HDC, POINTER(UINT)], 'I3D_genlock',
1026
+ )
1027
+
1028
+ # http://www.opengl.org/registry/api/wglext.h:631
1029
+ self.wglGenlockSampleRateI3D = _link_function('wglGenlockSampleRateI3D', BOOL, [HDC, UINT], 'I3D_genlock')
1030
+
1031
+ # http://www.opengl.org/registry/api/wglext.h:632
1032
+ self.wglGetGenlockSampleRateI3D = _link_function('wglGetGenlockSampleRateI3D', BOOL, [HDC, POINTER(UINT)], 'I3D_genlock')
1033
+
1034
+ # http://www.opengl.org/registry/api/wglext.h:633
1035
+ self.wglGenlockSourceDelayI3D = _link_function('wglGenlockSourceDelayI3D', BOOL, [HDC, UINT], 'I3D_genlock')
1036
+
1037
+ # http://www.opengl.org/registry/api/wglext.h:634
1038
+ self.wglGetGenlockSourceDelayI3D = _link_function('wglGetGenlockSourceDelayI3D', BOOL, [HDC, POINTER(UINT)], 'I3D_genlock')
1039
+
1040
+ # http://www.opengl.org/registry/api/wglext.h:635
1041
+ self.wglQueryGenlockMaxSourceDelayI3D = _link_function('wglQueryGenlockMaxSourceDelayI3D', BOOL, [HDC, POINTER(UINT), POINTER(UINT)], 'I3D_genlock')
1042
+
1043
+
1044
+ # http://www.opengl.org/registry/api/wglext.h:654
1045
+ self.wglCreateImageBufferI3D = _link_function(
1046
+ 'wglCreateImageBufferI3D', LPVOID, [HDC, DWORD, UINT], 'I3D_image_buffer',
1047
+ )
1048
+
1049
+ # http://www.opengl.org/registry/api/wglext.h:655
1050
+ self.wglDestroyImageBufferI3D = _link_function('wglDestroyImageBufferI3D', BOOL, [HDC, LPVOID], 'I3D_image_buffer')
1051
+
1052
+ # http://www.opengl.org/registry/api/wglext.h:656
1053
+ self.wglAssociateImageBufferEventsI3D = _link_function('wglAssociateImageBufferEventsI3D', BOOL, [HDC, POINTER(HANDLE), POINTER(LPVOID), POINTER(DWORD), UINT], 'I3D_image_buffer')
1054
+
1055
+ # http://www.opengl.org/registry/api/wglext.h:657
1056
+ self.wglReleaseImageBufferEventsI3D = _link_function('wglReleaseImageBufferEventsI3D', BOOL, [HDC, POINTER(LPVOID), UINT], 'I3D_image_buffer')
1057
+
1058
+
1059
+ self.wglEnableFrameLockI3D = _link_function('wglEnableFrameLockI3D', BOOL, [], 'I3D_swap_frame_lock')
1060
+
1061
+ # http://www.opengl.org/registry/api/wglext.h:669
1062
+ self.wglDisableFrameLockI3D = _link_function('wglDisableFrameLockI3D', BOOL, [], 'I3D_swap_frame_lock')
1063
+
1064
+ # http://www.opengl.org/registry/api/wglext.h:670
1065
+ self.wglIsEnabledFrameLockI3D = _link_function('wglIsEnabledFrameLockI3D', BOOL, [POINTER(BOOL)], 'I3D_swap_frame_lock')
1066
+
1067
+ # http://www.opengl.org/registry/api/wglext.h:671
1068
+ self.wglQueryFrameLockMasterI3D = _link_function('wglQueryFrameLockMasterI3D', BOOL, [POINTER(BOOL)], 'I3D_swap_frame_lock')
1069
+
1070
+ # http://www.opengl.org/registry/api/wglext.h:712
1071
+ self.wglEnumerateVideoDevicesNV = _link_function('wglEnumerateVideoDevicesNV', c_int, [HDC, POINTER(HVIDEOOUTPUTDEVICENV)], 'NV_present_video')
1072
+
1073
+ # http://www.opengl.org/registry/api/wglext.h:713
1074
+ self.wglBindVideoDeviceNV = _link_function('wglBindVideoDeviceNV', BOOL, [HDC, c_uint, HVIDEOOUTPUTDEVICENV, POINTER(c_int)], 'NV_present_video')
1075
+
1076
+ # http://www.opengl.org/registry/api/wglext.h:714
1077
+ self.wglQueryCurrentContextNV = _link_function('wglQueryCurrentContextNV', BOOL, [c_int, POINTER(c_int)], 'NV_present_video')
1078
+
1079
+
1080
+ self.wglGetFrameUsageI3D = _link_function('wglGetFrameUsageI3D', BOOL, [POINTER(c_float)], 'I3D_swap_frame_usage')
1081
+
1082
+ # http://www.opengl.org/registry/api/wglext.h:683
1083
+ self.wglBeginFrameTrackingI3D = _link_function('wglBeginFrameTrackingI3D', BOOL, [], 'I3D_swap_frame_usage')
1084
+
1085
+ # http://www.opengl.org/registry/api/wglext.h:684
1086
+ self.wglEndFrameTrackingI3D = _link_function('wglEndFrameTrackingI3D', BOOL, [], 'I3D_swap_frame_usage')
1087
+
1088
+ # http://www.opengl.org/registry/api/wglext.h:685
1089
+ self.wglQueryFrameTrackingI3D = _link_function('wglQueryFrameTrackingI3D', BOOL, [POINTER(DWORD), POINTER(DWORD), POINTER(c_float)], 'I3D_swap_frame_usage')
1090
+
1091
+
1092
+ # http://www.opengl.org/registry/api/wglext.h:724
1093
+ self.wglGetVideoDeviceNV = _link_function(
1094
+ 'wglGetVideoDeviceNV', BOOL, [HDC, c_int, POINTER(HPVIDEODEV)], 'NV_video_out',
1095
+ )
1096
+
1097
+ # http://www.opengl.org/registry/api/wglext.h:725
1098
+ self.wglReleaseVideoDeviceNV = _link_function('wglReleaseVideoDeviceNV', BOOL, [HPVIDEODEV], 'NV_video_out')
1099
+
1100
+ # http://www.opengl.org/registry/api/wglext.h:726
1101
+ self.wglBindVideoImageNV = _link_function('wglBindVideoImageNV', BOOL, [HPVIDEODEV, HPBUFFERARB, c_int], 'NV_video_out')
1102
+
1103
+ # http://www.opengl.org/registry/api/wglext.h:727
1104
+ self.wglReleaseVideoImageNV = _link_function('wglReleaseVideoImageNV', BOOL, [HPBUFFERARB, c_int], 'NV_video_out')
1105
+
1106
+ # http://www.opengl.org/registry/api/wglext.h:728
1107
+ self.wglSendPbufferToVideoNV = _link_function('wglSendPbufferToVideoNV', BOOL, [HPBUFFERARB, c_int, POINTER(c_ulong), BOOL], 'NV_video_out')
1108
+
1109
+ # http://www.opengl.org/registry/api/wglext.h:729
1110
+ self.wglGetVideoInfoNV = _link_function('wglGetVideoInfoNV', BOOL, [HPVIDEODEV, POINTER(c_ulong), POINTER(c_ulong)], 'NV_video_out')
1111
+
1112
+ # http://www.opengl.org/registry/api/wglext.h:742
1113
+ self.wglJoinSwapGroupNV = _link_function('wglJoinSwapGroupNV', BOOL, [HDC, GLuint], 'NV_swap_group')
1114
+
1115
+ # http://www.opengl.org/registry/api/wglext.h:743
1116
+ self.wglBindSwapBarrierNV = _link_function('wglBindSwapBarrierNV', BOOL, [GLuint, GLuint], 'NV_swap_group')
1117
+
1118
+ # http://www.opengl.org/registry/api/wglext.h:744
1119
+ self.wglQuerySwapGroupNV = _link_function('wglQuerySwapGroupNV', BOOL, [HDC, POINTER(GLuint), POINTER(GLuint)], 'NV_swap_group')
1120
+
1121
+ # http://www.opengl.org/registry/api/wglext.h:745
1122
+ self.wglQueryMaxSwapGroupsNV = _link_function('wglQueryMaxSwapGroupsNV', BOOL, [HDC, POINTER(GLuint), POINTER(GLuint)], 'NV_swap_group')
1123
+
1124
+ # http://www.opengl.org/registry/api/wglext.h:746
1125
+ self.wglQueryFrameCountNV = _link_function('wglQueryFrameCountNV', BOOL, [HDC, POINTER(GLuint)], 'NV_swap_group')
1126
+
1127
+ # http://www.opengl.org/registry/api/wglext.h:747
1128
+ self.wglResetFrameCountNV = _link_function('wglResetFrameCountNV', BOOL, [HDC], 'NV_swap_group')
1129
+
1130
+ self.wglEnumGpusNV = _link_function('wglEnumGpusNV', BOOL, [UINT, POINTER(HGPUNV)], 'NV_gpu_affinity')
1131
+
1132
+ # http://www.opengl.org/registry/api/wglext.h:761
1133
+ self.wglEnumGpuDevicesNV = _link_function('wglEnumGpuDevicesNV', BOOL, [HGPUNV, UINT, PGPU_DEVICE], 'NV_gpu_affinity')
1134
+
1135
+ # http://www.opengl.org/registry/api/wglext.h:762
1136
+ self.wglCreateAffinityDCNV = _link_function('wglCreateAffinityDCNV', HDC, [POINTER(HGPUNV)], 'NV_gpu_affinity')
1137
+
1138
+ # http://www.opengl.org/registry/api/wglext.h:763
1139
+ self.wglEnumGpusFromAffinityDCNV = _link_function('wglEnumGpusFromAffinityDCNV', BOOL, [HDC, UINT, POINTER(HGPUNV)], 'NV_gpu_affinity')
1140
+
1141
+ # http://www.opengl.org/registry/api/wglext.h:764
1142
+ self.wglDeleteDCNV = _link_function('wglDeleteDCNV', BOOL, [HDC], 'NV_gpu_affinity')
1143
+
782
1144
  __all__ = [
783
1145
  'ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB',
784
1146
  'ERROR_INVALID_PIXEL_TYPE_ARB',
pyglet/media/__init__.py CHANGED
@@ -3,12 +3,12 @@
3
3
  pyglet can play WAV files, and if FFmpeg is installed, many other audio and
4
4
  video formats.
5
5
 
6
- Playback is handled by the :class:`.Player` class, which reads raw data from
6
+ Playback is handled by the :class:`pyglet.media.player.AudioPlayer` class, which reads raw data from
7
7
  :class:`Source` objects and provides methods for pausing, seeking, adjusting
8
- the volume, and so on. The :class:`.Player` class implements the best
8
+ the volume, and so on. The :class:`pyglet.media.player.AudioPlayer` class implements the best
9
9
  available audio device. ::
10
10
 
11
- player = Player()
11
+ player = AudioPlayer()
12
12
 
13
13
  A :class:`Source` is used to decode arbitrary audio and video files. It is
14
14
  associated with a single player by "queueing" it::
@@ -16,7 +16,7 @@ associated with a single player by "queueing" it::
16
16
  source = load('background_music.mp3')
17
17
  player.queue(source)
18
18
 
19
- Use the :class:`.Player` to control playback.
19
+ Use the :class:`pyglet.media.player.AudioPlayer` to control playback.
20
20
 
21
21
  If the source contains video, the :py:meth:`Source.video_format` attribute
22
22
  will be non-None, and the :py:attr:`Player.texture` attribute will contain the
@@ -45,7 +45,7 @@ from __future__ import annotations
45
45
  from typing import TYPE_CHECKING, BinaryIO
46
46
 
47
47
  from .drivers import get_audio_driver
48
- from .player import Player, PlayerGroup
48
+ from .player import AudioPlayer, VideoPlayer, PlayerGroup
49
49
  from .codecs import registry as _codec_registry
50
50
  from .codecs import add_default_codecs as _add_default_codecs
51
51
  from .codecs import Source, StaticSource, StreamingSource, SourceGroup, have_ffmpeg
@@ -55,8 +55,6 @@ from . import synthesis
55
55
  if TYPE_CHECKING:
56
56
  from .codecs import MediaDecoder
57
57
 
58
- __all__ = 'load', 'get_audio_driver', 'Player', 'PlayerGroup', 'SourceGroup', 'StaticSource', 'StreamingSource'
59
-
60
58
 
61
59
  def load(filename: str, file: BinaryIO | None = None,
62
60
  streaming: bool = True, decoder: MediaDecoder | None = None) -> Source | StreamingSource:
@@ -87,11 +85,12 @@ def load(filename: str, file: BinaryIO | None = None,
87
85
 
88
86
  _add_default_codecs()
89
87
 
90
-
91
88
  __all__ = [
92
- 'Player',
89
+ 'AudioPlayer',
90
+ 'VideoPlayer',
93
91
  'PlayerGroup',
94
- 'Source',
92
+ 'Source',
93
+ 'SourceGroup',
95
94
  'StaticSource',
96
95
  'StreamingSource',
97
96
  'load',
@@ -7,7 +7,7 @@ from .base import *
7
7
  import pyglet
8
8
 
9
9
 
10
- _debug = pyglet.options['debug_media']
10
+ _debug = pyglet.options.debug_media
11
11
 
12
12
  _is_pyglet_doc_run = hasattr(sys, "is_pyglet_doc_run") and sys.is_pyglet_doc_run
13
13
 
@@ -44,6 +44,16 @@ def add_default_codecs():
44
44
  # Add all bundled codecs. These should be listed in order of
45
45
  # preference. This is called automatically by pyglet.media.
46
46
 
47
+ if pyglet.compat_platform == "emscripten":
48
+ try:
49
+ # Currently other codecs cannot retrieve files from pyodides path, as it exists in its own environment.
50
+ # Will make this the only audio codec providers.
51
+ # This could potentially be adjusted later, but the codec already handles all the major filetypes.
52
+ from . import webaudio_pyodide
53
+ registry.add_decoders(webaudio_pyodide)
54
+ return # Return to prevent other codecs from handling file types.
55
+ except ImportError:
56
+ pass
47
57
  try:
48
58
  from . import wave
49
59
  registry.add_decoders(wave)
@@ -88,6 +98,7 @@ def add_default_codecs():
88
98
  pass
89
99
 
90
100
 
101
+
91
102
  def have_ffmpeg():
92
103
  """Check if FFmpeg library is available.
93
104