Your IP : 3.139.235.100


Current Path : /opt/alt/python38/lib64/python3.8/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/__pycache__/wave.cpython-38.opt-2.pyc

U

i�f6G�@s�ddlZdddddgZGdd�de�ZdZd	ZddlZddlZddlZdd
l	m
Z
ddlmZddl
Z
edd
�ZGdd�d�ZGdd�d�Zddd�Zddd�ZdS)�N�open�openfp�Error�	Wave_read�
Wave_writec@seZdZdS)rN)�__name__�
__module__�__qualname__�r
r
�)/opt/alt/python38/lib64/python3.8/wave.pyrNs�)N�b�hN�i)�Chunk)�
namedtuple�_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
k
r�Yq�YnX|��}|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	chunknamer
r
r�initfp~s8


zWave_read.initfpcCsRd|_t|t�r"t�|d�}||_z|�|�Wn|jrF|���YnXdS)N�rb��_i_opened_the_file�
isinstance�str�builtinsrr&�close�r#�fr
r
r�__init__�s
zWave_read.__init__cCs|��dS�N�r-�r#r
r
r�__del__�szWave_read.__del__cCs|Sr1r
r3r
r
r�	__enter__�szWave_read.__enter__cGs|��dSr1r2�r#�argsr
r
r�__exit__�szWave_read.__exit__cCs|jSr1)rr3r
r
r�getfp�szWave_read.getfpcCsd|_d|_dS)Nrr)rrr3r
r
r�rewind�szWave_read.rewindcCs"d|_|j}|rd|_|��dSr1)rr)r-�r#r$r
r
rr-�s
zWave_read.closecCs|jSr1)rr3r
r
r�tell�szWave_read.tellcCs|jSr1)�
_nchannelsr3r
r
r�getnchannels�szWave_read.getnchannelscCs|jSr1)r!r3r
r
r�
getnframes�szWave_read.getnframescCs|jSr1)�
_sampwidthr3r
r
r�getsampwidth�szWave_read.getsampwidthcCs|jSr1)�
_framerater3r
r
r�getframerate�szWave_read.getframeratecCs|jSr1��	_comptyper3r
r
r�getcomptype�szWave_read.getcomptypecCs|jSr1��	_compnamer3r
r
r�getcompname�szWave_read.getcompnamecCs*t|��|��|��|��|��|���Sr1)rr>rArCr?rFrIr3r
r
r�	getparams�s�zWave_read.getparamscCsdSr1r
r3r
r
r�
getmarkers�szWave_read.getmarkerscCstd��dS�Nzno marks�r�r#�idr
r
r�getmark�szWave_read.getmarkcCs*|dks||jkrtd��||_d|_dS)Nrzposition not in ranger)r!rrr)r#�posr
r
r�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�seekrr rr@�sys�	byteorder�audioop�byteswapr�lenr=)r#�nframesrQ�datar
r
r�
readframes�s

zWave_read.readframescCs�z$t�d|�d��\}|_|_}}Wntjk
r@td�YnX|tkr�zt�d|�d��d}Wntjk
r�td�YnX|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=rB�errorr�WAVE_FORMAT_PCMr@rr rErH)r#r%Z
wFormatTagZdwAvgBytesPerSecZwBlockAlign�	sampwidthr
r
rr�s$$
zWave_read._read_fmt_chunkN)rrr	r&r0r4r5r8r9r:r-r<r>r?rArCrFrIrJrKrPrRr]rr
r
r
rr_s*
c@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|���YnXdS)N�wbr(r.r
r
rr0.s
zWave_write.__init__cCs@||_d|_d|_d|_d|_d|_d|_d|_d|_d|_	dS)NrF)
rrr=r@rBr!�_nframeswritten�_datawritten�_datalength�_headerwrittenr;r
r
rr&:szWave_write.initfpcCs|��dSr1r2r3r
r
rr4FszWave_write.__del__cCs|Sr1r
r3r
r
rr5IszWave_write.__enter__cGs|��dSr1r2r6r
r
rr8LszWave_write.__exit__cCs(|jrtd��|dkrtd��||_dS)N�0cannot change parameters after starting to writerrc)rkrr=)r#�	nchannelsr
r
r�setnchannelsRs
zWave_write.setnchannelscCs|jstd��|jS)Nznumber of channels not set)r=rr3r
r
rr>YszWave_write.getnchannelscCs0|jrtd��|dks|dkr&td��||_dS)Nrnrrrb)rkrr@)r#rhr
r
r�setsampwidth^s
zWave_write.setsampwidthcCs|jstd��|jS)Nzsample width not set)r@rr3r
r
rrAeszWave_write.getsampwidthcCs0|jrtd��|dkrtd��tt|��|_dS)Nrnrzbad frame rate)rkr�int�roundrB)r#�	framerater
r
r�setframeratejs
zWave_write.setframeratecCs|jstd��|jS)Nzframe rate not set)rBrr3r
r
rrCqszWave_write.getframeratecCs|jrtd��||_dS�Nrn)rkrr!)r#r[r
r
r�
setnframesvszWave_write.setnframescCs|jSr1�rjr3r
r
rr?{szWave_write.getnframescCs.|jrtd��|dkrtd��||_||_dS)Nrn)rdzunsupported compression type)rkrrErH)r#�comptype�compnamer
r
r�setcomptype~szWave_write.setcomptypecCs|jSr1rDr3r
r
rrF�szWave_write.getcomptypecCs|jSr1rGr3r
r
rrI�szWave_write.getcompnamecCsV|\}}}}}}|jrtd��|�|�|�|�|�|�|�|�|�||�dSrv)rkrrprqrurwr{)r#Zparamsrorhrtr[ryrzr
r
r�	setparams�s



zWave_write.setparamscCs8|jr|jr|jstd��t|j|j|j|j|j|j�S)Nznot all parameters set)r=r@rBrrr!rErHr3r
r
rrJ�s�zWave_write.getparamscCstd��dS)Nzsetmark() not supportedrM)r#rOrQ�namer
r
r�setmark�szWave_write.setmarkcCstd��dSrLrMrNr
r
rrP�szWave_write.getmarkcCsdSr1r
r3r
r
rrK�szWave_write.getmarkerscCs|jSr1rxr3r
r
rr<�szWave_write.tellcCs�t|ttf�st|��d�}|�t|��t|�|j|j}|j	rN|�	|�}|jdkrpt
jdkrpt�
||j�}|j�|�|jt|�7_|j||_dS)N�BrrT)r*�bytes�	bytearray�
memoryview�cast�_ensure_header_writtenrZr@r=rrVrWrXrYr�writerkrj)r#r\r[r
r
r�writeframesraw�s
zWave_write.writeframesrawcCs"|�|�|j|jkr|��dSr1)r�rlrk�_patchheader)r#r\r
r
r�writeframes�s
zWave_write.writeframescCsXz2|jr0|�d�|j|jkr&|��|j��W5d|_|j}|rRd|_|��XdS)Nr)rr)r-r�rlrkr��flushr;r
r
rr-�s
zWave_write.closecCs>|js:|jstd��|js"td��|js0td��|�|�dS)Nz# channels not specifiedzsample width not specifiedzsampling rate not specified)rmr=rr@rB�
_write_header)r#Zdatasizer
r
rr��sz!Wave_write._ensure_header_writtencCs�|j�d�|js$||j|j|_|j|j|j|_z|j��|_Wntt	fk
rfd|_YnX|j�t
�dd|jdddt|j|j
|j|j
|j|j|j|jdd��|jdk	r�|j��|_|j�t
�d	|j��d
|_dS)Nrz<L4s4sLHHLLHH4s�$rr�rar�<LT)rr�r!r=r@rlr<�_form_length_pos�AttributeError�OSErrorre�packrgrB�_data_length_posrm)r#Z
initlengthr
r
rr��s2
�
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�)
rkrlrr<rUr�r�rer�r�)r#Zcurposr
r
rr��s
zWave_write._patchheaderN)rrr	r0r&r4r5r8rpr>rqrArurCrwr?r{rFrIr|rJr~rPrKr<r�r�r-r�r�r�r
r
r
rrs8


cCsJ|dkrt|d�r|j}nd}|dkr.t|�S|dkr>t|�Std��dS)N�moder')�rr')�wriz$mode must be 'r', 'rb', 'w', or 'wb')�hasattrr�rrr�r/r�r
r
rr�s
cCstjdtdd�t||d�S)NzBwave.openfp is deprecated since Python 3.7. Use wave.open instead.r_)�
stacklevel)r�)�warnings�warn�DeprecationWarningrr�r
r
rrs
�)N)N)r,�__all__�	ExceptionrrgZ_array_fmtsrXrerVr%r�collectionsrr�rrrrrr
r
r
r�<module>Js&�6d


?>