
     fA                       d dl mZ ddlmZmZ d dlmZ d dlZd dlZ G d de	          Z
 G d d	ej                  Z G d
 dej                  Z G d de	          Z G d dej                  Z G d dej                  Z G d de	          Z G d dej                  Ze G d d                      Ze G d d                      Ze G d d                      Ze G d d                      Ze G d d                      ZdNd"ZdNd#ZdOd&Z ed'          e G d( d)                                  Z ed*          e G d+ d,                                  Z ed-          e G d. d/                                  Z ed0          e G d1 d2                                  Z ed3          e G d4 d5                                  Z ed6          e G d7 d8                                  Z  ed9          e G d: d;                                  Z! ed<          e G d= d>                                  Z" ed?          e G d@ dA                                  Z# edB          e G dC dD                                  Z$ edE          e G dF dG                                  Z% edH          e G dI dJ                                  Z& edK          e G dL dM                                  Z'dS )P    )annotations   )event_classT_JSON_DICT)	dataclassNc                  B     e Zd ZdZddZed	d            Z fdZ xZS )
GraphObjectIdz`
    An unique ID for a graph object (AudioContext, AudioNode, AudioParam) in Web Audio API
    returnstrc                    | S N selfs    s/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v85/web_audio.pyto_jsonzGraphObjectId.to_json           jsonc                     | |          S r   r   clsr   s     r   	from_jsonzGraphObjectId.from_json       s4yyr   c                j    d                     t                                                                S )NzGraphObjectId({})formatsuper__repr__r   	__class__s    r   r   zGraphObjectId.__repr__   s'    "))%''*:*:*<*<===r   r
   r   )r   r   r
   r	   	__name__
__module____qualname____doc__r   classmethodr   r   __classcell__r!   s   @r   r	   r	      sv                [> > > > > > > > >r   r	   c                  6    e Zd ZdZdZdZd Zed             ZdS )ContextTypez(
    Enum of BaseAudioContext types
    realtimeofflinec                    | j         S r   valuer   s    r   r   zContextType.to_json#   
    zr   c                     | |          S r   r   r   s     r   r   zContextType.from_json&   r   r   N)	r$   r%   r&   r'   REALTIMEOFFLINEr   r(   r   r   r   r   r,   r,      sT          HG     [  r   r,   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )ContextStatez1
    Enum of AudioContextState from the spec
    	suspendedrunningclosedc                    | j         S r   r0   r   s    r   r   zContextState.to_json3   r2   r   c                     | |          S r   r   r   s     r   r   zContextState.from_json6   r   r   N)
r$   r%   r&   r'   	SUSPENDEDRUNNINGCLOSEDr   r(   r   r   r   r   r7   r7   +   sY          IGF     [  r   r7   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
NodeTypez!
    Enum of AudioNode types
    r
   r   c                    | S r   r   r   s    r   r   zNodeType.to_json?   r   r   r   c                     | |          S r   r   r   s     r   r   zNodeType.from_jsonB   r   r   c                j    d                     t                                                                S )NzNodeType({})r   r    s    r   r   zNodeType.__repr__F   s'    $$UWW%5%5%7%7888r   r"   )r   r   r
   rA   r#   r*   s   @r   rA   rA   ;   sv                [9 9 9 9 9 9 9 9 9r   rA   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )ChannelCountModez;
    Enum of AudioNode::ChannelCountMode from the spec
    zclamped-maxexplicitmaxc                    | j         S r   r0   r   s    r   r   zChannelCountMode.to_jsonR   r2   r   c                     | |          S r   r   r   s     r   r   zChannelCountMode.from_jsonU   r   r   N)
r$   r%   r&   r'   CLAMPED_MAXEXPLICITMAX_r   r(   r   r   r   r   rF   rF   J   sY           KHD     [  r   rF   c                  6    e Zd ZdZdZdZd Zed             ZdS )ChannelInterpretationz@
    Enum of AudioNode::ChannelInterpretation from the spec
    discretespeakersc                    | j         S r   r0   r   s    r   r   zChannelInterpretation.to_jsona   r2   r   c                     | |          S r   r   r   s     r   r   zChannelInterpretation.from_jsond   r   r   N)	r$   r%   r&   r'   DISCRETESPEAKERSr   r(   r   r   r   r   rO   rO   Z   sT          HH     [  r   rO   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
	ParamTypez"
    Enum of AudioParam types
    r
   r   c                    | S r   r   r   s    r   r   zParamType.to_jsonm   r   r   r   c                     | |          S r   r   r   s     r   r   zParamType.from_jsonp   r   r   c                j    d                     t                                                                S )NzParamType({})r   r    s    r   r   zParamType.__repr__t   s'    %%egg&6&6&8&8999r   r"   )r   r   r
   rW   r#   r*   s   @r   rW   rW   i   sv                [: : : : : : : : :r   rW   c                  6    e Zd ZdZdZdZd Zed             ZdS )AutomationRatez:
    Enum of AudioParam::AutomationRate from the spec
    za-ratezk-ratec                    | j         S r   r0   r   s    r   r   zAutomationRate.to_json   r2   r   c                     | |          S r   r   r   s     r   r   zAutomationRate.from_json   r   r   N)	r$   r%   r&   r'   A_RATEK_RATEr   r(   r   r   r   r   r\   r\   x   sT          FF     [  r   r\   c                  X    e Zd ZU dZded<   ded<   ded<   ded<   d Zed             Zd	S )
ContextRealtimeDataz:
    Fields in AudioContext that change in real-time.
    floatcurrent_timerender_capacitycallback_interval_meancallback_interval_variancec                r    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )NcurrentTimerenderCapacitycallbackIntervalMeancallbackIntervalVariance)dictrd   re   rf   rg   r   r   s     r   r   zContextRealtimeData.to_json   sG    vv"/]!%!5'+'B#$+/+J'(r   c           	          | t          |d                   t          |d                   t          |d                   t          |d                             S )Nri   rj   rk   rl   )rd   re   rf   rg   )rc   r   s     r   r   zContextRealtimeData.from_json   s^    stM233!$'7"899#(.D)E#F#F',T2L-M'N'N	
 
 
 	
r   Nr$   r%   r&   r'   __annotations__r   r(   r   r   r   r   rb   rb      s           
  "!!! &%%%   
 
 [
 
 
r   rb   c                  z    e Zd ZU dZded<   ded<   ded<   ded	<   ded
<   ded<   dZded<   d Zed             ZdS )BaseAudioContextz.
    Protocol object for BaseAudioContext
    r	   
context_idr,   context_typer7   context_staterc   callback_buffer_sizemax_output_channel_countsample_rateNz$typing.Optional[ContextRealtimeData]realtime_datac                L   t                      }| j                                        |d<   | j                                        |d<   | j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j        | j                                        |d<   |S )N	contextIdcontextTypecontextStatecallbackBufferSizemaxOutputChannelCount
sampleRaterealtimeData)	rm   rt   r   ru   rv   rw   rx   ry   rz   rn   s     r   r   zBaseAudioContext.to_json   s    vv O3355["/7799]#199;;^%)%>!"(,(E$%!-\)#'#5#=#=#?#?D r   c                    | t                               |d                   t                              |d                   t                              |d                   t	          |d                   t	          |d                   t	          |d                   d|v r t
                              |d                   nd           S )	Nr|   r}   r~   r   r   r   r   )rt   ru   rv   rw   rx   ry   rz   )r	   r   r,   r7   rc   rb   r   s     r   r   zBaseAudioContext.from_json   s    s$..tK/@AA$..tM/BCC&00n1EFF!&t,@'A!B!B%*40G+H%I%Id<011Q_cgQgQg-77^8LMMMmq
 
 
 	
r   )	r$   r%   r&   r'   rq   rz   r   r(   r   r   r   r   rs   rs      s              $### :>M>>>>
 
 
 	
 	
 [	
 	
 	
r   rs   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )AudioListenerz*
    Protocol object for AudioListner
    r	   listener_idrt   c                    t                      }| j                                        |d<   | j                                        |d<   |S )N
listenerIdr|   )rm   r   r   rt   rn   s     r   r   zAudioListener.to_json   sA    vv!-5577\ O3355[r   c                     | t                               |d                   t                               |d                             S )Nr   r|   )r   rt   r	   r   r   s     r   r   zAudioListener.from_json   sG    s%//\0BCC$..tK/@AA
 
 
 	
r   Nrp   r   r   r   r   r      sd              
 
 [
 
 
r   r   c                      e Zd ZU dZded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   d Zed             ZdS )	AudioNodez'
    Protocol object for AudioNode
    r	   node_idrt   rA   	node_typerc   number_of_inputsnumber_of_outputschannel_countrF   channel_count_moderO   channel_interpretationc                v   t                      }| j                                        |d<   | j                                        |d<   | j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j	                                        |d<   |S )	NnodeIdr|   nodeTypenumberOfInputsnumberOfOutputschannelCountchannelCountModechannelInterpretation)
rm   r   r   rt   r   r   r   r   r   r   rn   s     r   r   zAudioNode.to_json  s    vv--//X O3355[>1133Z!%!6"&"8#1^#'#:#B#B#D#D (,(C(K(K(M(M$%r   c                    | t                               |d                   t                               |d                   t                              |d                   t          |d                   t          |d                   t          |d                   t                              |d                   t
                              |d                   	          S )
Nr   r|   r   r   r   r   r   r   )r   rt   r   r   r   r   r   r   )r	   r   rA   rc   rF   rO   r   s     r   r   zAudioNode.from_json  s    s!++DN;;$..tK/@AA((j)9::"4(8#9::#D):$;<<^ 455/99$?Q:RSS#8#B#B4H_C`#a#a	
 	
 	
 		
r   Nrp   r   r   r   r   r      s           ((((1111
 
 
 

 

 [

 

 

r   r   c                      e Zd ZU dZded<   ded<   ded<   ded<   ded	<   d
ed<   d
ed<   d
ed<   d Zed             ZdS )
AudioParamz(
    Protocol object for AudioParam
    r	   param_idr   rt   rW   
param_typer\   raterc   default_value	min_value	max_valuec                v   t                      }| j                                        |d<   | j                                        |d<   | j                                        |d<   | j                                        |d<   | j                                        |d<   | j        |d<   | j        |d<   | j	        |d<   |S )	NparamIdr   r|   	paramTyper   defaultValueminValuemaxValue)
rm   r   r   r   rt   r   r   r   r   r   rn   s     r   r   zAudioParam.to_json6  s    vv-//11Y--//X O3355[ O3355[y((**V#1^>Z>Zr   c                    | t                               |d                   t                               |d                   t                               |d                   t                              |d                   t                              |d                   t	          |d                   t	          |d                   t	          |d                   	          S )
Nr   r   r|   r   r   r   r   r   )r   r   rt   r   r   r   r   r   )r	   r   rW   r\   rc   r   s     r   r   zAudioParam.from_jsonB  s    s",,T)_==!++DN;;$..tK/@AA **4+<==))$v,77^ 455D,--D,--	
 	
 	
 		
r   Nrp   r   r   r   r   r   !  s           
 
 
 

 

 [

 

 

r   r   r
   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )zQ
    Enables the WebAudio domain and starts sending context lifetime events.
    methodzWebAudio.enableNr   cmd_dictr   s     r   enabler   P  s$      
 	#H >>DDDr   c               #     K   ddi} | V }dS )z'
    Disables the WebAudio domain.
    r   zWebAudio.disableNr   r   s     r   disabler   Z  s$      
 	$H >>DDDr   rt   ?typing.Generator[T_JSON_DICT, T_JSON_DICT, ContextRealtimeData]c              #     K   t                      }|                                 |d<   d|d}|V }t                              |d                   S )zf
    Fetch the realtime data from the registered contexts.

    :param context_id:
    :returns: 
    r|   zWebAudio.getRealtimeData)r   paramsr   )rm   r   rb   r   )rt   r   r   r   s       r   get_realtime_datar   d  s]       &&F$,,..F;, H >>D((n)=>>>r   zWebAudio.contextCreatedc                  6    e Zd ZU dZded<   ed	d            ZdS )
ContextCreatedz@
    Notifies that a new BaseAudioContext has been created.
    rs   contextr   r   r
   c                V     | t                               |d                             S Nr   )r   rs   r   r   s     r   r   zContextCreated.from_json  0    s$..tI??
 
 
 	
r   N)r   r   r
   r   r$   r%   r&   r'   rq   r(   r   r   r   r   r   r   w  L           
 
 
 [
 
 
r   r   zWebAudio.contextWillBeDestroyedc                  6    e Zd ZU dZded<   ed	d            ZdS )
ContextWillBeDestroyedzG
    Notifies that an existing BaseAudioContext will be destroyed.
    r	   rt   r   r   r
   c                V     | t                               |d                             S )Nr|   )rt   r   r   s     r   r   z ContextWillBeDestroyed.from_json  s1    s$..tK/@AA
 
 
 	
r   N)r   r   r
   r   r   r   r   r   r   r     r   r   r   zWebAudio.contextChangedc                  6    e Zd ZU dZded<   ed	d            ZdS )
ContextChangedzc
    Notifies that existing BaseAudioContext has changed some properties (id stays the same)..
    rs   r   r   r   r
   c                V     | t                               |d                             S r   r   r   s     r   r   zContextChanged.from_json  r   r   N)r   r   r
   r   r   r   r   r   r   r     r   r   r   zWebAudio.audioListenerCreatedc                  6    e Zd ZU dZded<   ed	d            ZdS )
AudioListenerCreatedzJ
    Notifies that the construction of an AudioListener has finished.
    r   listenerr   r   r
   c                V     | t                               |d                             S )Nr   )r   )r   r   r   s     r   r   zAudioListenerCreated.from_json  s1    s",,T*-=>>
 
 
 	
r   N)r   r   r
   r   r   r   r   r   r   r     sL           
 
 
 [
 
 
r   r   z%WebAudio.audioListenerWillBeDestroyedc                  @    e Zd ZU dZded<   ded<   ed
d            Zd	S )AudioListenerWillBeDestroyedz=
    Notifies that a new AudioListener has been created.
    r	   rt   r   r   r   r
   c                     | t                               |d                   t                               |d                             S )Nr|   r   )rt   r   r   r   s     r   r   z&AudioListenerWillBeDestroyed.from_json  sG    s$..tK/@AA%//\0BCC
 
 
 	
r   N)r   r   r
   r   r   r   r   r   r   r     sX           
 
 
 [
 
 
r   r   zWebAudio.audioNodeCreatedc                  6    e Zd ZU dZded<   ed	d            ZdS )
AudioNodeCreatedz9
    Notifies that a new AudioNode has been created.
    r   noder   r   r
   c                V     | t                               |d                             S )Nr   )r   )r   r   r   s     r   r   zAudioNodeCreated.from_json  s0    s$$T&\22
 
 
 	
r   N)r   r   r
   r   r   r   r   r   r   r     sI           OOO
 
 
 [
 
 
r   r   z!WebAudio.audioNodeWillBeDestroyedc                  @    e Zd ZU dZded<   ded<   ed
d            Zd	S )AudioNodeWillBeDestroyedzA
    Notifies that an existing AudioNode has been destroyed.
    r	   rt   r   r   r   r
   c                     | t                               |d                   t                               |d                             S )Nr|   r   )rt   r   r   r   s     r   r   z"AudioNodeWillBeDestroyed.from_json  sF    s$..tK/@AA!++DN;;
 
 
 	
r   N)r   r   r
   r   r   r   r   r   r   r     sX           
 
 
 [
 
 
r   r   zWebAudio.audioParamCreatedc                  6    e Zd ZU dZded<   ed	d            ZdS )
AudioParamCreatedz:
    Notifies that a new AudioParam has been created.
    r   paramr   r   r
   c                V     | t                               |d                             S )Nr   )r   )r   r   r   s     r   r   zAudioParamCreated.from_json  s0    s&&tG}55
 
 
 	
r   N)r   r   r
   r   r   r   r   r   r   r     sL           
 
 
 [
 
 
r   r   z"WebAudio.audioParamWillBeDestroyedc                  J    e Zd ZU dZded<   ded<   ded<   edd	            Zd
S )AudioParamWillBeDestroyedzB
    Notifies that an existing AudioParam has been destroyed.
    r	   rt   r   r   r   r   r
   c                     | t                               |d                   t                               |d                   t                               |d                             S )Nr|   r   r   )rt   r   r   r   r   s     r   r   z#AudioParamWillBeDestroyed.from_json  s[    s$..tK/@AA!++DN;;",,T)_==
 
 
 	
r   N)r   r   r
   r   r   r   r   r   r   r     sd           
 
 
 [
 
 
r   r   zWebAudio.nodesConnectedc                  ^    e Zd ZU dZded<   ded<   ded<   ded<   ded<   edd            ZdS )NodesConnectedz5
    Notifies that two AudioNodes are connected.
    r	   rt   	source_iddestination_idtyping.Optional[float]source_output_indexdestination_input_indexr   r   r
   c           
     :    | t                               |d                   t                               |d                   t                               |d                   d|v rt          |d                   nd d|v rt          |d                   nd           S Nr|   sourceIddestinationIdsourceOutputIndexdestinationInputIndex)rt   r   r   r   r   r	   r   rc   r   s     r   r   zNodesConnected.from_json      s$..tK/@AA#--d:.>??(2243HIIDW[_D_D_d+>&? @ @ @eiLcgkLkLkE$/F*G$H$H$Hqu
 
 
 	
r   N)r   r   r
   r   r   r   r   r   r   r     |           !!!!////3333
 
 
 [
 
 
r   r   zWebAudio.nodesDisconnectedc                  ^    e Zd ZU dZded<   ded<   ded<   ded<   ded<   edd            ZdS )NodesDisconnectedz
    Notifies that AudioNodes are disconnected. The destination can be null, and it means all the outgoing connections from the source are disconnected.
    r	   rt   r   r   r   r   r   r   r   r
   c           
     :    | t                               |d                   t                               |d                   t                               |d                   d|v rt          |d                   nd d|v rt          |d                   nd           S r   r   r   s     r   r   zNodesDisconnected.from_json)  r   r   N)r   r   r
   r   r   r   r   r   r   r     r   r   r   zWebAudio.nodeParamConnectedc                  T    e Zd ZU dZded<   ded<   ded<   ded<   edd            ZdS )NodeParamConnectedzC
    Notifies that an AudioNode is connected to an AudioParam.
    r	   rt   r   r   r   r   r   r   r
   c           	         | t                               |d                   t                               |d                   t                               |d                   d|v rt          |d                   nd           S Nr|   r   r   r   )rt   r   r   r   r   r   s     r   r   zNodeParamConnected.from_json?      s$..tK/@AA#--d:.>??(2243HIIDW[_D_D_d+>&? @ @ @ei	
 
 
 	
r   N)r   r   r
   r   r   r   r   r   r   r   4  p           !!!!////
 
 
 [
 
 
r   r   zWebAudio.nodeParamDisconnectedc                  T    e Zd ZU dZded<   ded<   ded<   ded<   edd            ZdS )NodeParamDisconnectedzF
    Notifies that an AudioNode is disconnected to an AudioParam.
    r	   rt   r   r   r   r   r   r   r
   c           	         | t                               |d                   t                               |d                   t                               |d                   d|v rt          |d                   nd           S r   r   r   s     r   r   zNodeParamDisconnected.from_jsonT  r   r   N)r   r   r
   r   r   r   r   r   r   r   I  r   r   r   )r
   r   )rt   r	   r
   r   )(
__future__r   utilr   r   dataclassesr   enumtypingr   r	   Enumr,   r7   rA   rF   rO   rW   r\   rb   rs   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s   # " " " " " * * * * * * * * ! ! ! ! ! !  > > > > >C > > >    $)       49    9 9 9 9 9s 9 9 9    ty        DI   : : : : : : : :    TY    !
 !
 !
 !
 !
 !
 !
 !
H +
 +
 +
 +
 +
 +
 +
 +
\ 
 
 
 
 
 
 
 
, +
 +
 +
 +
 +
 +
 +
 +
\ +
 +
 +
 +
 +
 +
 +
 +
\      ? ? ? ?& &''


 

 

 

 

 

 

  ('

 .//


 

 

 

 

 

 

  0/

 &''


 

 

 

 

 

 

  ('

 ,--


 

 

 

 

 

 

  .-

 455

 
 
 
 
 
 
  65
 ())


 

 

 

 

 

 

  *)

 011

 
 
 
 
 
 
  21
 )**


 

 

 

 

 

 

  +*

 122

 
 
 
 
 
 
  32
" &''

 
 
 
 
 
 
  ('
* )**

 
 
 
 
 
 
  +*
* *++

 
 
 
 
 
 
  ,+
& -..

 
 
 
 
 
 
  /.
 
 
r   