Your IP : 18.226.186.153


Current Path : /proc/self/root/opt/alt/python37/lib64/python3.7/__pycache__/
Upload File :
Current File : //proc/self/root/opt/alt/python37/lib64/python3.7/__pycache__/wave.cpython-37.opt-2.pyc

B

YI~d6G�@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/python37/lib64/python3.7/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|_x�d|_	yt|jdd�}Wnt
k
r�PYnX|��}|d	kr�|�|�d|_n2|d
kr�|js�td��||_|j|j
|_d|_	P|��qVW|jr�|js�td��dS)
Nr)Z	bigendiansRIFFz file does not start with RIFF id�sWAVEznot a WAVE filersfmt sdatazdata 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~s:
zWave_read.initfpcCsRd|_t|t�r"t�|d�}||_y|�|�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()rr
r
r�__del__�szWave_read.__del__cCs|S)Nr
)rr
r
r�	__enter__�szWave_read.__enter__cGs|��dS)N)r()r�argsr
r
r�__exit__�szWave_read.__exit__cCs|jS)N)r)rr
r
r�getfp�szWave_read.getfpcCsd|_d|_dS)Nrr)rr)rr
r
r�rewind�szWave_read.rewindcCs"d|_|j}|rd|_|��dS)N)rr$r()rr r
r
rr(�s
zWave_read.closecCs|jS)N)r)rr
r
r�tell�szWave_read.tellcCs|jS)N)�
_nchannels)rr
r
r�getnchannels�szWave_read.getnchannelscCs|jS)N)r)rr
r
r�
getnframes�szWave_read.getnframescCs|jS)N)�
_sampwidth)rr
r
r�getsampwidth�szWave_read.getsampwidthcCs|jS)N)�
_framerate)rr
r
r�getframerate�szWave_read.getframeratecCs|jS)N)�	_comptype)rr
r
r�getcomptype�szWave_read.getcomptypecCs|jS)N)�	_compname)rr
r
r�getcompname�szWave_read.getcompnamecCs*t|��|��|��|��|��|���S)N)rr3r6r8r4r:r<)rr
r
r�	getparams�szWave_read.getparamscCsdS)Nr
)rr
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)rrrr)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�seekrrrr5�sys�	byteorder�audioop�byteswapr�lenr2)r�nframesrA�datar
r
r�
readframes�s

zWave_read.readframescCs�y$t�d|�d��\}|_|_}}Wntjk
r@td�YnX|tkr�yt�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��zbad sample widthzunknown format: %rzbad # of channels�NONEznot compressed)
�struct�unpack_fromrr2r7�errorr�WAVE_FORMAT_PCMr5rrr9r;)rr!Z
wFormatTagZdwAvgBytesPerSecZwBlockAlign�	sampwidthr
r
rr�s$$
zWave_read._read_fmt_chunkN)rrr	r"r*r+r,r.r/r0r(r1r3r4r6r8r:r<r=r>r@rBrMrr
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�}||_y|�|�Wn|jrF|���YnXdS)N�wb)r$r%r&r'rr"r()rr)r
r
rr*.s
zWave_write.__init__cCs@||_d|_d|_d|_d|_d|_d|_d|_d|_d|_	dS)NrF)
rrr2r5r7r�_nframeswritten�_datawritten�_datalength�_headerwritten)rr r
r
rr":szWave_write.initfpcCs|��dS)N)r()rr
r
rr+FszWave_write.__del__cCs|S)Nr
)rr
r
rr,IszWave_write.__enter__cGs|��dS)N)r()rr-r
r
rr.LszWave_write.__exit__cCs(|jrtd��|dkrtd��||_dS)Nz0cannot change parameters after starting to writerzbad # of channels)rZrr2)r�	nchannelsr
r
r�setnchannelsRs
zWave_write.setnchannelscCs|jstd��|jS)Nznumber of channels not set)r2r)rr
r
rr3YszWave_write.getnchannelscCs0|jrtd��|dks|dkr&td��||_dS)Nz0cannot change parameters after starting to writerrzbad sample width)rZrr5)rrWr
r
r�setsampwidth^s
zWave_write.setsampwidthcCs|jstd��|jS)Nzsample width not set)r5r)rr
r
rr6eszWave_write.getsampwidthcCs0|jrtd��|dkrtd��tt|��|_dS)Nz0cannot change parameters after starting to writerzbad frame rate)rZr�int�roundr7)r�	framerater
r
r�setframeratejs
zWave_write.setframeratecCs|jstd��|jS)Nzframe rate not set)r7r)rr
r
rr8qszWave_write.getframeratecCs|jrtd��||_dS)Nz0cannot change parameters after starting to write)rZrr)rrKr
r
r�
setnframesvszWave_write.setnframescCs|jS)N)rY)rr
r
rr4{szWave_write.getnframescCs.|jrtd��|dkrtd��||_||_dS)Nz0cannot change parameters after starting to write)rRzunsupported compression type)rZrr9r;)r�comptype�compnamer
r
r�setcomptype~szWave_write.setcomptypecCs|jS)N)r9)rr
r
rr:�szWave_write.getcomptypecCs|jS)N)r;)rr
r
rr<�szWave_write.getcompnamecCsV|\}}}}}}|jrtd��|�|�|�|�|�|�|�|�|�||�dS)Nz0cannot change parameters after starting to write)rZrr^r_rcrdrg)r�paramsr]rWrbrKrerfr
r
r�	setparams�s



zWave_write.setparamscCs8|jr|jr|jstd��t|j|j|j|j|j|j�S)Nznot all parameters set)r2r5r7rrrr9r;)rr
r
rr=�szWave_write.getparamscCstd��dS)Nzsetmark() not supported)r)rr?rA�namer
r
r�setmark�szWave_write.setmarkcCstd��dS)Nzno marks)r)rr?r
r
rr@�szWave_write.getmarkcCsdS)Nr
)rr
r
rr>�szWave_write.getmarkerscCs|jS)N)rY)rr
r
rr1�szWave_write.tellcCs�t|ttf�st|��d�}|�t|��t|�|j|j}|j	rN|�	|�}|jdkrpt
jdkrpt�
||j�}|j�|�|jt|�7_|j||_dS)N�BrrD)r%�bytes�	bytearray�
memoryview�cast�_ensure_header_writtenrJr5r2rrFrGrHrIr�writerZrY)rrLrKr
r
r�writeframesraw�s
zWave_write.writeframesrawcCs"|�|�|j|jkr|��dS)N)rsr[rZ�_patchheader)rrLr
r
r�writeframes�s
zWave_write.writeframescCsXz2|jr0|�d�|j|jkr&|��|j��Wdd|_|j}|rRd|_|��XdS)Nr)rrqr[rZrt�flushr$r()rr r
r
rr(�s
zWave_write.closecCs>|js:|jstd��|js"td��|js0td��|�|�dS)Nz# channels not specifiedzsample width not specifiedzsampling rate not specified)r\r2rr5r7�
_write_header)rZdatasizer
r
rrq�sz!Wave_write._ensure_header_writtencCs�|j�d�|js$||j|j|_|j|j|j|_y|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)NsRIFFz<L4s4sLHHLLHH4s�$sWAVEsfmt �rQsdataz<LT)rrrrr2r5r[r1�_form_length_pos�AttributeError�OSErrorrS�packrVr7�_data_length_posr\)rZ
initlengthr
r
rrw�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)Nrz<Lrx)
rZr[rr1rErzrrrSr}r~)rZcurposr
r
rrt�s
zWave_write._patchheaderN)rrr	r*r"r+r,r.r^r3r_r6rcr8rdr4rgr:r<rir=rkr@r>r1rsrur(rqrwrtr
r
r
rrs8


cCsJ|dkrt|d�r|j}nd}|dkr.t|�S|dkr>t|�Std��dS)N�moder#)�rr#)�wrXz$mode must be 'r', 'rb', 'w', or 'wb')�hasattrrrrr)r)rr
r
rr�s
cCstjdtdd�t||d�S)NzBwave.openfp is deprecated since Python 3.7. Use wave.open instead.rO)�
stacklevel)r)�warnings�warn�DeprecationWarningr)r)rr
r
rrs
)N)N)r'�__all__�	ExceptionrrVZ_array_fmtsrHrSrFr!r�collectionsrr�rrrrrr
r
r
r�<module>Js$6d


?>