
    ^j1                       d dl mZ d dlZd dlmZmZmZmZ d dlm	Z	 ej
        j        Z ej        e          Z ej        e          Zej        Zej        Z ej        e          Z G d dej                  Z ej        e          Z G d dej                  Z ej        e          Zd	Z G d
 dej                  Z ej        e          Z G d dej                  Z ej        e          Z G d dej                  Z ej        e          Z  G d dej                  Z! ej        e!          Z" G d dej                  Z# ej        e#          Z$ G d de	j%                  Z& e	j'        dddddd ddddd          Z( G d  d!e	j%                  Z) e	j'        d"ddddd ddddd          Z* G d# d$e	j%                  Z+ G d% d&e	j%                  Z,ej-        Z-e	j.         ej        e,          ej        ge-_/        d	Z0d'Z1d(Z2d)Z3d*Z4dZ5d+Z6d,Z7d-Z8d.Z9d/Z:d	Z;d'Z<d0Z=d(Z>d Z?d	Z@d'ZAd0ZBd(ZCd1ZDd2ZEd3ZFd1ZGd4ZHd5ZId6ZJd	ZKd'ZLd(ZMd)ZNd*ZOdZPd+ZQd7ZRd,ZSd-ZTd8ZUd9ZVd:ZWd;ZXd<ZYd	ZZd'Z[d(Z\d)Z]d*Z^dZ_d	Z`d'Zad(Zbd)Zcd*ZddZed	Zfd'Zgd=Zhd>Zid Zjd?Zkd Zld@Zmd?Znd Zod(ZpdAZqdBZrd Zsd	Ztd'Zud Zvd	ZwdCZxdDZydEZzdFZ{dGZ|dEZ}dFZ~dGZdEZdEZdHZd ZdIZdIZeoZd Zd3ZdJZdKZdLZdMZdNZdOZdPZdQZdRZdSZdTZdUZdVZdWZdXZdYZdZZd[Zd\Zd]Zd^Zd_Zd`Zd	Z`d'Zad(ZbdS )a    )annotationsN)DWORDHWNDLONGWORD)comc                  B    e Zd Zdej        fdej        fdej        fgZdS )	D3DVECTORxyzN)__name__
__module____qualname__ctypesc_float_fields_     f/home/agentuser/manim-venv/lib/python3.11/site-packages/pyglet/media/drivers/directsound/lib_dsound.pyr
   r
      s3        	fn	fn	fnHHHr   r
   c                  B    e Zd ZdefdefdefdefdefdefdefgZd Zd	S )
WAVEFORMATEX
wFormatTag	nChannelsnSamplesPerSecnAvgBytesPerSecnBlockAlignwBitsPerSamplecbSizec           	     ~    d                     | j        | j        | j        | j        | j        | j        | j                  S )Nz~WAVEFORMATEX(wFormatTag={}, nChannels={}, nSamplesPerSec={}, nAvgBytesPersec={}, nBlockAlign={}, wBitsPerSample={}, cbSize={}))formatr   r   r   r   r   r   r   selfs    r   __repr__zWAVEFORMATEX.__repr__$   sA    AAG8K+T-=t?R{B$ B$	$r   N)r   r   r   r   r   r   r$   r   r   r   r   r      sb        	t	d	5!	E"		4 	4H$ $ $ $ $r   r      c                      e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefdefdefdefdefdefdefdefdefdefdefdefdefdefgZdS )DSCAPSdwSizedwFlagsdwMinSecondarySampleRatedwMaxSecondarySampleRatedwPrimaryBuffersdwMaxHwMixingAllBuffersdwMaxHwMixingStaticBuffersdwMaxHwMixingStreamingBuffersdwFreeHwMixingAllBuffersdwFreeHwMixingStaticBuffersdwFreeHwMixingStreamingBuffersdwMaxHw3DAllBuffersdwMaxHw3DStaticBuffersdwMaxHw3DStreamingBuffersdwFreeHw3DAllBuffersdwFreeHw3DStaticBuffersdwFreeHw3DStreamingBuffersdwTotalHwMemBytesdwFreeHwMemBytesdwMaxContigFreeHwMemBytesdwUnlockTransferRateHwBuffersdwPlayCpuOverheadSwBuffersdwReserved1dwReserved2Nr   r   r   r   r   r   r   r   r'   r'   -   s        	5	E	#U+	#U+	U#	"E*	%u-	(%0	#U+	&.	)51	&	!5)	$e,	'	"E*	%u-	e$	U#	$e,	(%0	%u-		1HHHr   r'   c                  0    e Zd ZdefdefdefdefdefgZdS )DSBCAPSr(   r)   dwBufferBytesdwUnlockTransferRatedwPlayCpuOverheadNr@   r   r   r   rB   rB   J   s=        	5	E	% 	'	e$HHHr   rB   c                  6    e Zd ZdefdefdefdefdefgZd ZdS )DSBUFFERDESCr(   r)   rC   
dwReservedlpwfxFormatc                v    d                     | j        | j        | j        | j        r| j        j        nd           S )NzEDSBUFFERDESC(dwSize={}, dwFlags={}, dwBufferBytes={}, lpwfxFormat={}))r!   r(   r)   rC   rI   contentsr"   s    r   r$   zDSBUFFERDESC.__repr__]   sA    V]]T\4+=-1-=G ))4I I 	Ir   N)r   r   r   r   LPWAVEFORMATEXr   r$   r   r   r   rG   rG   T   sW        	5	E	% 	u	'HI I I I Ir   rG   c                  N    e Zd Zdefdefdefdefdefdefdefdefd	efd
efg
ZdS )
DS3DBUFFERr(   	vPosition	vVelocitydwInsideConeAngledwOutsideConeAnglevConeOrientationlConeOutsideVolumeflMinDistanceflMaxDistancedwModeN)r   r   r   r   r
   r   D3DVALUEr   r   r   r   rN   rN   c   se        	5	i 	i 	e$	u%	Y'	t$	(#	(#	5HHHr   rN   c            	      B    e Zd ZdefdefdefdefdefdefdefdefgZd	S )
DS3DLISTENERr(   rO   rP   vOrientFront
vOrientTopflDistanceFactorflRolloffFactorflDopplerFactorN)r   r   r   r   r
   rX   r   r   r   r   rZ   rZ   r   sU        	5	i 	i 	#	y!	X&	H%	H%	HHHr   rZ   c                     e Zd Zd ej        e          fd ej        ee          fd ej        eee          fd ej        e	          fd ej        e	          fd ej        e          fd ej        e          fd ej        e
j        e          fd	 ej        ee e
j        e
j                  e e
j        e
j                  ee          fd
 ej        eee          fd ej        e          fd ej        e          fd ej        e          fd ej        e          fd ej        e          fd ej                    fd ej        e
j        ee
j        e          fd ej                    fgZdS )IDirectSoundBufferGetCapsGetCurrentPosition	GetFormat	GetVolumeGetPanGetFrequency	GetStatus
InitializeLockPlaySetCurrentPosition	SetFormat	SetVolumeSetPanSetFrequencyStopUnlockRestoreN)r   r   r   r   	STDMETHOD	LPDSBCAPSLPDWORDrL   r   LPLONGr   c_void_pLPDSBUFFERDESCPOINTERr   	_methods_r   r   r   ra   ra      s       		y	!	!	#		w	(	(	*		~ug	6	6	8		v			 		v			 		w			!		w			!		v	7	7	9		ue%v~fo66%v~fo66
 
	
 
	ueU	+	+	-		u					~	&	&	(		t					t					u								vv	F	F	H			M(IIIr   ra   i'iI  i     !                `   c                  .   e Zd Zd ej        e          fd ej        e          fd ej        e          fd ej        ee          fd ej        e          fd ej        e          fd ej        e          fd ej        e          fd	 ej        ee	          fd
 ej        ee	          fd ej        eeeeeee	          fd ej        eeee	          fd ej        ee	          fd ej        eeee	          fd ej                    fgZ
dS )IDirectSound3DListenerGetAllParametersGetDistanceFactorGetDopplerFactorGetOrientationGetPositionGetRolloffFactorGetVelocitySetAllParametersSetDistanceFactorSetDopplerFactorSetOrientationSetPositionSetRolloffFactorSetVelocityCommitDeferredSettingsN)r   r   r   r   rt   LPDS3DLISTENER	PD3DVALUE
PD3DVECTORrX   r   r{   r   r   r   r   r      s       		~	&	&	(		y	!	!	#		y	!	!	#		z:	.	.	0		z	"	"	$		y	!	!	#		z	"	"	$		~	&	&	(		x	'	'	)		x	'	'	)		x88U
< 
<	= 
	x8U	;	;	=		x	'	'	)		x8U	;	;	=	!		= IIIr   r   i'c                     e Zd Zd ej        e          fd ej        ee          fd ej        e          fd ej        e          fd ej        e	          fd ej        e	          fd ej        e          fd ej        e          fd	 ej        e          fd
 ej        ee
          fd ej        e
e
e
          fd ej        eeee
          fd ej        ee
          fd ej        ee
          fd ej        ee
          fd ej        e
e
          fd ej        eeee
          fd ej        eeee
          fgZdS )IDirectSound3DBufferr   GetConeAnglesGetConeOrientationGetConeOutsideVolumeGetMaxDistanceGetMinDistanceGetModer   r   r   SetConeAnglesSetConeOrientationSetConeOutsideVolumeSetMaxDistanceSetMinDistanceSetModer   r   N)r   r   r   r   rt   LPDS3DBUFFERrv   r   rw   r   r   rX   r   r{   r   r   r   r   r      s       		|	$	$	&		w	(	(	*		z	"	"	$		v			 		y	!	!	#		y	!	!	#		w			!		z	"	"	$		z	"	"	$		|U	+	+	-		ueU	+	+	-		x8U	;	;	=		tU	#	#	%		x	'	'	)		x	'	'	)		ue	$	$	&		x8U	;	;	=		x8U	;	;	=G%IIIr   r   c                  j   e Zd Zd ej        e ej        e          e	          fd ej        e
          fd ej        e ej        e                    fd ej        ee          fd ej                    fd ej        e          fd ej        e          fd ej        ej                  fgZd	S )
IDirectSoundCreateSoundBufferrb   DuplicateSoundBufferSetCooperativeLevelCompactGetSpeakerConfigSetSpeakerConfigri   N)r   r   r   r   rt   ry   r   rz   ra   	LPUNKNOWNLPDSCAPSr   r   rv   LPGUIDr{   r   r   r   r   r      s        		~%v~&899 
" 
"	# 
	x	 	 	"		)%v~&899
; 
;	< 
	tU	#	#	%					w			!		u					sz	"	"	$%IIIr   r               @      i   i   i               
            i @  i   i   i   i   d   i ii'  i   g    .g    .Ag      ?g        g      $@g    eAih  i  i
 xi xl   @   l   @   l      l   W   l   
  l     l   2  l   F  l   d  l   x  l     l     l     l     l    l    l    l    l    l   a )
__future__r   r   ctypes.wintypesr   r   r   r   pyglet.libs.win32r   oledlldsoundlibrz   rv   rw   rx   r   r   rX   r   	Structurer
   r   r   rL   WAVE_FORMAT_PCMr'   r   rB   ru   rG   ry   rN   r   rZ   r   	pIUnknownra   GUIDIID_IDirectSound3DListenerr   IID_IDirectSound3DBufferr   r   DirectSoundCreater   argtypesDSCAPS_PRIMARYMONODSCAPS_PRIMARYSTEREODSCAPS_PRIMARY8BITDSCAPS_PRIMARY16BITDSCAPS_CONTINUOUSRATEDSCAPS_EMULDRIVERDSCAPS_CERTIFIEDDSCAPS_SECONDARYMONODSCAPS_SECONDARYSTEREODSCAPS_SECONDARY8BITDSCAPS_SECONDARY16BITDSSCL_NORMALDSSCL_PRIORITYDSSCL_EXCLUSIVEDSSCL_WRITEPRIMARYDSSPEAKER_DIRECTOUTDSSPEAKER_HEADPHONEDSSPEAKER_MONODSSPEAKER_QUADDSSPEAKER_STEREODSSPEAKER_SURROUNDDSSPEAKER_5POINT1DSSPEAKER_7POINT1DSSPEAKER_GEOMETRY_MINDSSPEAKER_GEOMETRY_NARROWDSSPEAKER_GEOMETRY_WIDEDSSPEAKER_GEOMETRY_MAXDSBCAPS_PRIMARYBUFFERDSBCAPS_STATICDSBCAPS_LOCHARDWAREDSBCAPS_LOCSOFTWAREDSBCAPS_CTRL3DDSBCAPS_CTRLFREQUENCYDSBCAPS_CTRLPANDSBCAPS_CTRLVOLUMEDSBCAPS_CTRLPOSITIONNOTIFYDSBCAPS_CTRLFXDSBCAPS_STICKYFOCUSDSBCAPS_GLOBALFOCUSDSBCAPS_GETCURRENTPOSITION2DSBCAPS_MUTE3DATMAXDISTANCEDSBCAPS_LOCDEFERDSBPLAY_LOOPINGDSBPLAY_LOCHARDWAREDSBPLAY_LOCSOFTWAREDSBPLAY_TERMINATEBY_TIMEDSBPLAY_TERMINATEBY_DISTANCEDSBPLAY_TERMINATEBY_PRIORITYDSBSTATUS_PLAYINGDSBSTATUS_BUFFERLOSTDSBSTATUS_LOOPINGDSBSTATUS_LOCHARDWAREDSBSTATUS_LOCSOFTWAREDSBSTATUS_TERMINATEDDSBLOCK_FROMWRITECURSORDSBLOCK_ENTIREBUFFERDSBFREQUENCY_MINDSBFREQUENCY_MAXDSBFREQUENCY_ORIGINALDSBPAN_LEFTDSBPAN_CENTERDSBPAN_RIGHTDSBVOLUME_MINDSBVOLUME_MAXDSBSIZE_MINDSBSIZE_MAXDSBSIZE_FX_MINDS3DMODE_NORMALDS3DMODE_HEADRELATIVEDS3DMODE_DISABLEDS3D_IMMEDIATEDS3D_DEFERREDDS3D_MINDISTANCEFACTORDS3D_MAXDISTANCEFACTORDS3D_DEFAULTDISTANCEFACTORDS3D_MINROLLOFFFACTORDS3D_MAXROLLOFFFACTORDS3D_DEFAULTROLLOFFFACTORDS3D_MINDOPPLERFACTORDS3D_MAXDOPPLERFACTORDS3D_DEFAULTDOPPLERFACTORDS3D_DEFAULTMINDISTANCEDS3D_DEFAULTMAXDISTANCEDS3D_MINCONEANGLEDS3D_MAXCONEANGLEDS3D_DEFAULTCONEANGLEDS3D_DEFAULTCONEOUTSIDEVOLUMEDS_OKDSERR_OUTOFMEMORYDSERR_NOINTERFACEDS_NO_VIRTUALIZATIONDS_INCOMPLETEDSERR_UNSUPPORTEDDSERR_GENERICDSERR_ACCESSDENIEDDSERR_INVALIDPARAMDSERR_ALLOCATEDDSERR_CONTROLUNAVAILDSERR_INVALIDCALLDSERR_PRIOLEVELNEEDEDDSERR_BADFORMATDSERR_NODRIVERDSERR_ALREADYINITIALIZEDDSERR_BUFFERLOSTDSERR_OTHERAPPHASPRIODSERR_UNINITALIZEDDSERR_BUFFERTOOSMALLDSERR_DS8_REQUIREDDSERR_SENDLOOPDSERR_BADSENDBUFFERGUIDDSERR_FXUNAVAILABLEDSERR_OBJECTNOTFOUNDr   r   r   <module>r?     sN   " " " " " "  3 3 3 3 3 3 3 3 3 3 3 3 ! ! ! ! ! !m
&.

			O	>FN8$$	         V^I&&
$ $ $ $ $6# $ $ $"  --    V   6 6>&!!    f    FN7##	I I I I I6# I I I  --    !    v~j))
 
 
 
 
6# 
 
 
  --) ) ) ) ) ) ) )V &SXdD$dD$P P ! ! ! ! !S] ! ! !F $38dD$dD$P P & & & & &3= & & &P    3=   . ) Z--v?     !    "   ! # ! "          # & $ # "     "  '     ( (      % * *  !  " " ! $ !    "  # "          &     -  	  !    !  " %  "  !  $   !   !    r   