Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/wave.cpython-35.opt-2.pyc



]E@sddlZdddgZGdddeZdZdZddlZddlZddlZdd
l	m
Z
ddlmZedd
Z
GdddZGdddZdddZeZdS)NopenopenfpErrorc@seZdZdS)rN)__name__
__module____qualname__rr)/opt/alt/python35/lib64/python3.5/wave.pyrNsbhi)Chunk)
namedtuple_wave_paramsz7nchannels sampwidth framerate nframes comptype compnamec@seZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+S),	Wave_readcCscd|_d|_t|dd|_|jjdkrHtd|jjddkrltdd|_d|_xd|_	yt|jdd}Wnt
k
rPYnX|j}|d	kr|j|d|_nG|d
kr1|jstd||_|j|j
|_d|_	P|jqW|jsS|jr_tddS)
NrZ	bigendiansRIFFz file does not start with RIFF idsWAVEznot a WAVE filer
sfmt sdatazdata chunk before fmt chunkz#fmt chunk and/or data chunk missing)_convert	_soundposr_fileZgetnamerreadZ_fmt_chunk_read_data_chunk_data_seek_neededEOFError_read_fmt_chunk	chunksize
_framesize_nframesskip)selffilechunkZ	chunknamerrr	initfp}s:					

			zWave_read.initfpc	Csid|_t|tr3tj|d}||_y|j|Wn|jr]|jYnXdS)Nrb)_i_opened_the_file
isinstancestrbuiltinsrr"close)rfrrr	__init__s			
zWave_read.__init__cCs|jdS)N)r()rrrr	__del__szWave_read.__del__cCs|S)Nr)rrrr		__enter__szWave_read.__enter__cGs|jdS)N)r()rargsrrr	__exit__szWave_read.__exit__cCs|jS)N)r)rrrr	getfpszWave_read.getfpcCsd|_d|_dS)Nr
r)rr)rrrr	rewinds	zWave_read.rewindcCs/d|_|j}|r+d|_|jdS)N)rr$r()rr rrr	r(s
			zWave_read.closecCs|jS)N)r)rrrr	tellszWave_read.tellcCs|jS)N)
_nchannels)rrrr	getnchannelsszWave_read.getnchannelscCs|jS)N)r)rrrr	
getnframesszWave_read.getnframescCs|jS)N)
_sampwidth)rrrr	getsampwidthszWave_read.getsampwidthcCs|jS)N)
_framerate)rrrr	getframerateszWave_read.getframeratecCs|jS)N)	_comptype)rrrr	getcomptypeszWave_read.getcomptypecCs|jS)N)	_compname)rrrr	getcompnameszWave_read.getcompnamecCs=t|j|j|j|j|j|jS)N)rr3r6r8r4r:r<)rrrr		getparamsszWave_read.getparamscCsdS)Nr)rrrr	
getmarkersszWave_read.getmarkerscCstddS)Nzno marks)r)ridrrr	getmarkszWave_read.getmarkcCs=|dks||jkr'td||_d|_dS)Nrzposition not in ranger
)rrrr)rposrrr	setposs	zWave_read.setposcCs|jrN|jjdd|j|j}|rE|jj|dd|_|dkr^dS|jj||j}|jdkrtjdkrt	j
||j}|jr|r|j|}|jt||j
|j|_|S)Nrr
big)rrseekrrrr5sys	byteorderaudioopbyteswaprlenr2)rnframesrAdatarrr	
readframess		$zWave_read.readframescCstjd|jd\}|_|_}}|tkrotjd|jdd}|dd|_ntd|f|j|j|_d	|_	d
|_
dS)Nz<HHLLHz<Hrzunknown format: %rNONEznot compressed)structunpack_fromrr2r7WAVE_FORMAT_PCMr5rrr9r;)rr!Z
wFormatTagZdwAvgBytesPerSecZwBlockAlign	sampwidthrrr	rs0	zWave_read._read_fmt_chunkN)rrrr"r*r+r,r.r/r0r(r1r3r4r6r8r:r<r=r>r@rBrMrrrrr	r^s*
rc@s`eZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9S):
Wave_writec	Csid|_t|tr3tj|d}||_y|j|Wn|jr]|jYnXdS)Nwb)r$r%r&r'rr"r()rr)rrr	r*#s			
zWave_write.__init__cCs^||_d|_d|_d|_d|_d|_d|_d|_d|_d|_	dS)NrF)
rrr2r5r7r_nframeswritten_datawritten_datalength_headerwritten)rr rrr	r"/s									zWave_write.initfpcCs|jdS)N)r()rrrr	r+;szWave_write.__del__cCs|S)Nr)rrrr	r,>szWave_write.__enter__cGs|jdS)N)r()rr-rrr	r.AszWave_write.__exit__cCs:|jrtd|dkr-td||_dS)Nz0cannot change parameters after starting to writer
zbad # of channels)rZrr2)r	nchannelsrrr	setnchannelsGs
	zWave_write.setnchannelscCs|jstd|jS)Nznumber of channels not set)r2r)rrrr	r3Ns	zWave_write.getnchannelscCsF|jrtd|dks-|dkr9td||_dS)Nz0cannot change parameters after starting to writer
rzbad sample width)rZrr5)rrVrrr	setsampwidthSs
	zWave_write.setsampwidthcCs|jstd|jS)Nzsample width not set)r5r)rrrr	r6Zs	zWave_write.getsampwidthcCsF|jrtd|dkr-tdtt||_dS)Nz0cannot change parameters after starting to writerzbad frame rate)rZrintroundr7)r	frameraterrr	setframerate_s
	zWave_write.setframeratecCs|jstd|jS)Nzframe rate not set)r7r)rrrr	r8fs	zWave_write.getframeratecCs"|jrtd||_dS)Nz0cannot change parameters after starting to write)rZrr)rrKrrr	
setnframesks	zWave_write.setnframescCs|jS)N)rY)rrrr	r4pszWave_write.getnframescCsC|jrtd|dkr-td||_||_dS)Nz0cannot change parameters after starting to writerRzunsupported compression type)rR)rZrr9r;)rcomptypecompnamerrr	setcomptypess		zWave_write.setcomptypecCs|jS)N)r9)rrrr	r:{szWave_write.getcomptypecCs|jS)N)r;)rrrr	r<~szWave_write.getcompnamecCsu|\}}}}}}|jr-td|j||j||j||j||j||dS)Nz0cannot change parameters after starting to write)rZrr^r_rcrdrg)rparamsr]rVrbrKrerfrrr		setparamss	



zWave_write.setparamscCsU|js|js|jr*tdt|j|j|j|j|j|jS)Nznot all parameters set)r2r5r7rrrr9r;)rrrr	r=szWave_write.getparamscCstddS)Nzsetmark() not supported)r)rr?rAnamerrr	setmarkszWave_write.setmarkcCstddS)Nzno marks)r)rr?rrr	r@szWave_write.getmarkcCsdS)Nr)rrrr	r>szWave_write.getmarkerscCs|jS)N)rY)rrrr	r1szWave_write.tellcCst|ttfs*t|jd}|jt|t||j|j}|j	ro|j	|}|jdkrt
jdkrtj
||j}|jj||jt|7_|j||_dS)NBr
rD)r%bytes	bytearray
memoryviewcast_ensure_header_writtenrJr5r2rrFrGrHrIrwriterZrY)rrLrKrrr	writeframesraws	zWave_write.writeframesrawcCs-|j||j|jkr)|jdS)N)rsr[rZ_patchheader)rrLrrr	writeframess
zWave_write.writeframescCsvzC|jrB|jd|j|jkr5|j|jjWdd|_|j}|rqd|_|jXdS)Nr)rrqr[rZrtflushr$r()rr rrr	r(s	

			zWave_write.closecCsY|jsU|jstd|js3td|jsHtd|j|dS)Nz# channels not specifiedzsample width not specifiedzsampling rate not specified)r\r2rr5r7
_write_header)rZdatasizerrr	rqs				z!Wave_write._ensure_header_writtencCs:|jjd|js0||j|j|_|j|j|j|_y|jj|_Wn!tt	fk
rd|_YnX|jjt
jdd|jdddt|j|j
|j|j
|j|j|j|jdd|jdk	r|jj|_|jjt
jd	|jd
|_dS)NsRIFFz<L4s4sLHHLLHH4s$sWAVEsfmt rQsdataz<LT)rrrrr2r5r[r1_form_length_posAttributeErrorOSErrorrSpackrUr7_data_length_posr\)rZ
initlengthrrr	rws$	
zWave_write._write_headercCs|j|jkrdS|jj}|jj|jd|jjtjdd|j|jj|j	d|jjtjd|j|jj|d|j|_dS)Nrz<Lrx)
rZr[rr1rErzrrrSr}r~)rZcurposrrr	rts#zWave_write._patchheaderN)rrrr*r"r+r,r.r^r3r_r6rcr8rdr4rgr:r<rir=rkr@r>r1rsrur(rqrwrtrrrr	rW	s8


rWcCsi|dkr-t|dr'|j}nd}|dkrCt|S|dkrYt|StddS)	Nmoder#rwrXz$mode must be 'r', 'rb', 'w', or 'wb')rr#)rrX)hasattrrrrWr)r)rrrr	rs

)NrrNr
)r'__all__	ExceptionrrUZ_array_fmtsrHrSrFr!rcollectionsrrrrWrrrrrr	<module>Js	
Back to Directory File Manager