Your IP : 3.14.129.86


Current Path : /lib64/python3.6/__pycache__/
Upload File :
Current File : //lib64/python3.6/__pycache__/wave.cpython-36.opt-2.pyc

3


 \-E�@s�ddlZdddddgZGdd�de�ZdZdZddlZddlZddlZddl	m
Z
dd
lmZedd�Z
Gdd�d�ZGdd�d�Zddd�ZeZdS)�N�open�openfp�Error�	Wave_read�
Wave_writec@seZdZdS)rN)�__name__�
__module__�__qualname__�r
r
�/usr/lib64/python3.6/wave.pyrNs��b�h�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),rcCsd|_d|_t|dd�|_|jj�dkr0td��|jjd�dkrHtd��d|_d|_x�d|_	yt|jdd�}Wnt
k
r�PYnX|j�}|d	kr�|j|�d|_n2|d
kr�|js�td��||_|j|j
|_d|_	P|j�qVW|js�|j�rtd��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.initfpc	CsRd|_t|t�r"tj|d�}||_y|j|�Wn|jrF|j��YnXdS)N�rb)�_i_opened_the_file�
isinstance�str�builtinsrr"�close)r�fr
r
r�__init__�s
zWave_read.__init__cCs|j�dS)N)r()rr
r
r�__del__�szWave_read.__del__cCs|S)Nr
)rr
r
r�	__enter__�szWave_read.__enter__cGs|j�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|_|j�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|j�|j�|j�|j�|j�|j��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|jjdd�|j|j}|r2|jj|d�d|_|dkrDdS|jj||j�}|jdkrxtjdkrxt	j
||j�}|jr�|r�|j|�}|jt|�|j
|j|_|S)Nr�r�big)rr�seekrrrr5�sys�	byteorder�audioop�byteswapr�lenr2)r�nframesrA�datar
r
r�
readframes�s

zWave_read.readframescCsztjd|jd��\}|_|_}}|tkrNtjd|jd��d}|dd|_ntd|f��|j|j|_d	|_	d
|_
dS)Nz<HHLLH�z<H�r��zunknown format: %r�NONEznot compressed)�structZunpack_fromrr2r7�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):rc	CsRd|_t|t�r"tj|d�}||_y|j|�Wn|jrF|j��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|j�dS)N)r()rr
r
rr+;szWave_write.__del__cCs|S)Nr
)rr
r
rr,>szWave_write.__enter__cGs|j�dS)N)r()rr-r
r
rr.AszWave_write.__exit__cCs(|jrtd��|dkrtd��||_dS)Nz0cannot change parameters after starting to writerzbad # of channels)rXrr2)r�	nchannelsr
r
r�setnchannelsGs
zWave_write.setnchannelscCs|jstd��|jS)Nznumber of channels not set)r2r)rr
r
rr3NszWave_write.getnchannelscCs0|jrtd��|dks|dkr&td��||_dS)Nz0cannot change parameters after starting to writerrzbad sample width)rXrr5)rrUr
r
r�setsampwidthSs
zWave_write.setsampwidthcCs|jstd��|jS)Nzsample width not set)r5r)rr
r
rr6ZszWave_write.getsampwidthcCs0|jrtd��|dkrtd��tt|��|_dS)Nz0cannot change parameters after starting to writerzbad frame rate)rXr�int�roundr7)r�	framerater
r
r�setframerate_s
zWave_write.setframeratecCs|jstd��|jS)Nzframe rate not set)r7r)rr
r
rr8fszWave_write.getframeratecCs|jrtd��||_dS)Nz0cannot change parameters after starting to write)rXrr)rrKr
r
r�
setnframeskszWave_write.setnframescCs|jS)N)rW)rr
r
rr4pszWave_write.getnframescCs.|jrtd��|dkrtd��||_||_dS)Nz0cannot change parameters after starting to writerRzunsupported compression type)rR)rXrr9r;)r�comptype�compnamer
r
r�setcomptypesszWave_write.setcomptypecCs|jS)N)r9)rr
r
rr:{szWave_write.getcomptypecCs|jS)N)r;)rr
r
rr<~szWave_write.getcompnamecCsV|\}}}}}}|jrtd��|j|�|j|�|j|�|j|�|j||�dS)Nz0cannot change parameters after starting to write)rXrr\r]rarbre)rZparamsr[rUr`rKrcrdr
r
r�	setparams�s



zWave_write.setparamscCs>|js|js|jr td��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)rW)rr
r
rr1�szWave_write.tellcCs�t|ttf�st|�jd�}|jt|��t|�|j|j}|j	rN|j	|�}|jdkrpt
jdkrptj
||j�}|jj|�|jt|�7_|j||_dS)N�BrrD)r%�bytes�	bytearray�
memoryview�cast�_ensure_header_writtenrJr5r2rrFrGrHrIr�writerXrW)rrLrKr
r
r�writeframesraw�s
zWave_write.writeframesrawcCs"|j|�|j|jkr|j�dS)N)rprYrX�_patchheader)rrLr
r
r�writeframes�s
zWave_write.writeframescCsXz2|jr0|jd�|j|jkr&|j�|jj�Wdd|_|j}|rRd|_|j�XdS)Nr)rrnrYrXrq�flushr$r()rr r
r
rr(�s
zWave_write.closecCs>|js:|jstd��|js"td��|js0td��|j|�dS)Nz# channels not specifiedzsample width not specifiedzsampling rate not specified)rZr2rr5r7�
_write_header)rZdatasizer
r
rrn�sz!Wave_write._ensure_header_writtencCs�|jjd�|js$||j|j|_|j|j|j|_y|jj�|_Wntt	fk
rfd|_YnX|jjt
jdd|jdddt|j|j
|j|j
|j|j|j|jdd��|jdk	r�|jj�|_|jjt
jd	|j��d
|_dS)NsRIFFz<L4s4sLHHLLHH4s�$sWAVEsfmt �rQsdataz<LT)rrorr2r5rYr1�_form_length_pos�AttributeError�OSErrorrS�packrTr7�_data_length_posrZ)rZ
initlengthr
r
rrt�s$


zWave_write._write_headercCs�|j|jkrdS|jj�}|jj|jd�|jjtjdd|j��|jj|j	d�|jjtjd|j��|jj|d�|j|_dS)Nrz<Lru)
rXrYrr1rErwrorSrzr{)rZcurposr
r
rrq�s
zWave_write._patchheaderN)rrr	r*r"r+r,r.r\r3r]r6rar8rbr4rer:r<rfr=rhr@r>r1rprrr(rnrtrqr
r
r
rr	s8


cCsJ|dkrt|d�r|j}nd}|dkr.t|�S|dkr>t|�Std��dS)	N�moder#�r�wrVz$mode must be 'r', 'rb', 'w', or 'wb')r}r#)r~rV)�hasattrr|rrr)r)r|r
r
rr�s
)Nr
rNr)N)r'�__all__�	ExceptionrrTZ_array_fmtsrHrSrFr!r�collectionsrrrrrrr
r
r
r�<module>Js",d