Hacked By AnonymousFox

Current Path : /opt/alt/python39/lib64/python3.9/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/__pycache__/wave.cpython-39.opt-2.pyc

a

���eTF�@s�ddlmZddlmZddlZddlZddlZddlZgd�ZGdd�de	�Z
dZdZed	d
�Z
Gdd�d�ZGd
d�d�Zddd�ZdS)�)�Chunk)�
namedtupleN)�open�Error�	Wave_read�
Wave_writec@seZdZdS)rN)�__name__�
__module__�__qualname__�rr�)/opt/alt/python39/lib64/python3.9/wave.pyrTsr�)N�b�hN�i�_wave_paramsz7nchannels sampwidth framerate nframes comptype compnamec@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+S),rcCs�d|_d|_t|dd�|_|j��dkr0td��|j�d�dkrHtd��d|_d|_d|_	zt|jdd�}Wnt
y�Yq�Yn0|��}|d	kr�|�|�d|_n2|d
kr�|js�td��||_|j|j
|_d|_	q�|��qT|jr�|js�td��dS)
Nr)Z	bigendian�RIFFz file does not start with RIFF id��WAVEznot a WAVE filer
�fmt �datazdata chunk before fmt chunkz#fmt chunk and/or data chunk missing)�_convert�	_soundposr�_fileZgetnamer�readZ_fmt_chunk_read�_data_chunk�_data_seek_needed�EOFError�_read_fmt_chunkZ	chunksize�
_framesize�_nframes�skip)�self�file�chunkZ	chunknamerrr�initfp}s8


zWave_read.initfpcCsRd|_t|t�r"t�|d�}||_z|�|�Wn|jrF|���Yn0dS)N�rb��_i_opened_the_file�
isinstance�str�builtinsrr%�close�r"�frrr�__init__�s
zWave_read.__init__cCs|��dS�N�r,�r"rrr�__del__�szWave_read.__del__cCs|Sr0rr2rrr�	__enter__�szWave_read.__enter__cGs|��dSr0r1�r"�argsrrr�__exit__�szWave_read.__exit__cCs|jSr0)rr2rrr�getfp�szWave_read.getfpcCsd|_d|_dS)Nr
r)rrr2rrr�rewind�szWave_read.rewindcCs"d|_|j}|rd|_|��dSr0)rr(r,�r"r#rrrr,�s
zWave_read.closecCs|jSr0)rr2rrr�tell�szWave_read.tellcCs|jSr0)�
_nchannelsr2rrr�getnchannels�szWave_read.getnchannelscCs|jSr0)r r2rrr�
getnframes�szWave_read.getnframescCs|jSr0)�
_sampwidthr2rrr�getsampwidth�szWave_read.getsampwidthcCs|jSr0)�
_framerater2rrr�getframerate�szWave_read.getframeratecCs|jSr0��	_comptyper2rrr�getcomptype�szWave_read.getcomptypecCs|jSr0��	_compnamer2rrr�getcompname�szWave_read.getcompnamecCs*t|��|��|��|��|��|���Sr0)rr=r@rBr>rErHr2rrr�	getparams�s�zWave_read.getparamscCsdSr0rr2rrr�
getmarkers�szWave_read.getmarkerscCstd��dS�Nzno marks�r�r"�idrrr�getmark�szWave_read.getmarkcCs*|dks||jkrtd��||_d|_dS)Nrzposition not in ranger
)r rrr)r"�posrrr�setpos�szWave_read.setposcCs�|jr8|j�dd�|j|j}|r2|j�|d�d|_|dkrDdS|j�||j�}|jdkrxtjdkrxt	�
||j�}|jr�|r�|�|�}|jt|�|j
|j|_|S)Nr�r
�big)rr�seekrrrr?�sys�	byteorder�audioop�byteswapr�lenr<)r"�nframesrP�datarrr�
readframes�s

zWave_read.readframescCs�z$t�d|�d��\}|_|_}}Wntjy>td�Yn0|tkr�zt�d|�d��d}Wntjy|td�Yn0|dd|_|js�t	d��nt	d	|f��|js�t	d
��|j|j|_
d|_d|_dS)
Nz<HHLLH�z<H�r���bad sample widthzunknown format: %r�bad # of channels�NONEznot compressed)
�structZunpack_fromrr<rA�errorr�WAVE_FORMAT_PCMr?rrrDrG)r"r$Z
wFormatTagZdwAvgBytesPerSecZwBlockAlign�	sampwidthrrrr�s$$
zWave_read._read_fmt_chunkN)rr	r
r%r/r3r4r7r8r9r,r;r=r>r@rBrErHrIrJrOrQr\rrrrrr^s*
rc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9S):rcCsRd|_t|t�r"t�|d�}||_z|�|�Wn|jrF|���Yn0dS)N�wbr'r-rrrr/-s
zWave_write.__init__cCs@||_d|_d|_d|_d|_d|_d|_d|_d|_d|_	dS)NrF)
rrr<r?rAr �_nframeswritten�_datawritten�_datalength�_headerwrittenr:rrrr%9szWave_write.initfpcCs|��dSr0r1r2rrrr3EszWave_write.__del__cCs|Sr0rr2rrrr4HszWave_write.__enter__cGs|��dSr0r1r5rrrr7KszWave_write.__exit__cCs(|jrtd��|dkrtd��||_dS)N�0cannot change parameters after starting to writer
rb)rjrr<)r"�	nchannelsrrr�setnchannelsQs
zWave_write.setnchannelscCs|jstd��|jS)Nznumber of channels not set)r<rr2rrrr=XszWave_write.getnchannelscCs0|jrtd��|dks|dkr&td��||_dS)Nrmr
rra)rjrr?)r"rgrrr�setsampwidth]s
zWave_write.setsampwidthcCs|jstd��|jS)Nzsample width not set)r?rr2rrrr@dszWave_write.getsampwidthcCs0|jrtd��|dkrtd��tt|��|_dS)Nrmrzbad frame rate)rjr�int�roundrA)r"�	frameraterrr�setframerateis
zWave_write.setframeratecCs|jstd��|jS)Nzframe rate not set)rArr2rrrrBpszWave_write.getframeratecCs|jrtd��||_dS�Nrm)rjrr )r"rZrrr�
setnframesuszWave_write.setnframescCs|jSr0�rir2rrrr>zszWave_write.getnframescCs.|jrtd��|dvrtd��||_||_dS)Nrm)rczunsupported compression type)rjrrDrG)r"�comptype�compnamerrr�setcomptype}szWave_write.setcomptypecCs|jSr0rCr2rrrrE�szWave_write.getcomptypecCs|jSr0rFr2rrrrH�szWave_write.getcompnamecCsV|\}}}}}}|jrtd��|�|�|�|�|�|�|�|�|�||�dSru)rjrrorprtrvrz)r"�paramsrnrgrsrZrxryrrr�	setparams�s



zWave_write.setparamscCs8|jr|jr|jstd��t|j|j|j|j|j|j�S)Nznot all parameters set)r<r?rArrr rDrGr2rrrrI�s
�zWave_write.getparamscCstd��dS)Nzsetmark() not supportedrL)r"rNrP�namerrr�setmark�szWave_write.setmarkcCstd��dSrKrLrMrrrrO�szWave_write.getmarkcCsdSr0rr2rrrrJ�szWave_write.getmarkerscCs|jSr0rwr2rrrr;�szWave_write.tellcCs�t|ttf�st|��d�}|�t|��t|�|j|j}|j	rN|�	|�}|jdkrpt
jdkrpt�
||j�}|j�|�|jt|�7_|j||_dS)N�Br
rS)r)�bytes�	bytearray�
memoryview�cast�_ensure_header_writtenrYr?r<rrUrVrWrXr�writerjri)r"r[rZrrr�writeframesraw�s
zWave_write.writeframesrawcCs"|�|�|j|jkr|��dSr0)r�rkrj�_patchheader)r"r[rrr�writeframes�s
zWave_write.writeframescCsvzP|jr0|�d�|j|jkr&|��|j��Wd|_|j}|rrd|_|��n d|_|j}|rpd|_|��0dS)Nr)rr�rkrjr��flushr(r,r:rrrr,�s 

�zWave_write.closecCs>|js:|jstd��|js"td��|js0td��|�|�dS)Nz# channels not specifiedzsample width not specifiedzsampling rate not specified)rlr<rr?rA�
_write_header)r"Zdatasizerrrr��sz!Wave_write._ensure_header_writtencCs�|j�d�|js$||j|j|_|j|j|j|_z|j��|_Wntt	fydd|_Yn0|j�t
�dd|jdddt|j|j
|j|j
|j|j|j|jdd��|jdur�|j��|_|j�t
�d	|j��d
|_dS)Nrz<L4s4sLHHLLHH4s�$rr�r`r�<LT)rr�r r<r?rkr;�_form_length_pos�AttributeError�OSErrorrd�packrfrA�_data_length_posrl)r"Z
initlengthrrrr��s&


�
zWave_write._write_headercCs�|j|jkrdS|j��}|j�|jd�|j�t�dd|j��|j�|j	d�|j�t�d|j��|j�|d�|j|_dS)Nrr�r�)
rjrkrr;rTr�r�rdr�r�)r"Zcurposrrrr��s
zWave_write._patchheaderN)rr	r
r/r%r3r4r7ror=rpr@rtrBrvr>rzrErHr|rIr~rOrJr;r�r�r,r�r�r�rrrrrs8


rcCsJ|durt|d�r|j}nd}|dvr.t|�S|dvr>t|�Std��dS)N�moder&)�rr&)�wrhz$mode must be 'r', 'rb', 'w', or 'wb')�hasattrr�rrr)r.r�rrrr�s
r)N)r$r�collectionsrrWr+rdrU�__all__�	ExceptionrrfZ_array_fmtsrrrrrrrr�<module>Js"�6d

Hacked By AnonymousFox1.0, Coded By AnonymousFox