MINI MINI MANI MO

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

3


 \~@s:ddlZddlZddlZdddgZGdddeZdZddZd	d
ZddZ	d
dZ
ddZdZddZ
ddZddZddZddZddZddZdd lmZdd!lmZed"d#Zd$ej_d%ej_d&ej_d'ej_d(ej_d)ej_Gd*d+d+Z Gd,d-d-Z!d?d.dZ"e"Z#e$d/kr6ddl%Z%e%j&d0dsDe%j&j'd1e%j&d0Z(e"e(d2Z)e*d3e(e*d4e)j+e*d5e)j,e*d6e)j-e*d7e)j.e*d8e)j/e*d9e)j0e%j&d:dr,e%j&d:Z1e*d;e1e"e1d<8Z2e2j3e)j4x"e)j5d=Z6e6s
Pe2j7e6qWWdQRXe*d>WdQRXdS)@NErroropenopenfpc@seZdZdS)rN)__name__
__module____qualname__rr/usr/lib64/python3.6/aifc.pyrsl@QEcCs6ytjd|jddStjk
r0tYnXdS)Nz>lr)structunpackreaderrorEOFError)filerrr	
_read_longsrcCs6ytjd|jddStjk
r0tYnXdS)Nz>Lr
r)rrr
rr)rrrr	_read_ulongsrcCs6ytjd|jddStjk
r0tYnXdS)Nz>hr)rrr
rr)rrrr	_read_shortsrcCs6ytjd|jddStjk
r0tYnXdS)Nz>Hrr)rrr
rr)rrrr	_read_ushortsrcCs@t|jd}|dkrd}n
|j|}|d@dkr<|jd}|S)Nr)ordr
)rlengthdatadummyrrr	_read_strings

rgcCst|}d}|dkr d
}|d}t|}t|}||koL|koLdknrXd}n0|dkrft}n"|d}|d|td|d	}||S)Nrrigii?lg@?)rr	_HUGE_VALpow)fexponsignhimantlomantrrr	_read_floats"r&cCs|jtjd|dS)Nz>h)writerpack)r!xrrr	_write_shortsr*cCs|jtjd|dS)Nz>H)r'rr()r!r)rrr	
_write_ushortsr+cCs|jtjd|dS)Nz>l)r'rr()r!r)rrr	_write_longsr,cCs|jtjd|dS)Nz>L)r'rr()r!r)rrr	_write_ulongsr-cCsRt|dkrtd|jtjdt||j|t|d@dkrN|jddS)Nz%string exceeds maximum pstring lengthBrr)len
ValueErrorr'rr()r!srrr	
_write_strings
r4c	Csddl}|dkrd}|d}nd}|dkr8d}d}d}n|j|\}}|dks^|dks^||krp|dB}d}d}nh|d}|dkr|j||}d}||B}|j|d}|j|}t|}|j||d}|j|}t|}t||t||t||dS)	Nriri@ii? r)mathZfrexpZldexpZfloorintr+r-)	r!r)r6r#r"r$r%ZfmantZfsmantrrr	_write_floats8




r8)Chunk)
namedtuple_aifc_paramsz7nchannels sampwidth framerate nframes comptype compnamez3Number of audio channels (1 for mono, 2 for stereo)zSample width in byteszSampling frequencyzNumber of audio framesz(Compression type ("NONE" for AIFF files)zRA human-readable version of the compression type
('not compressed' for AIFF files)c@seZdZdZddZddZddZdd	Zd
dZdd
Z	ddZ
ddZddZddZ
ddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1ZdS)2	Aifc_readNcCs<d|_d|_g|_d|_||_t|}|jdkr:td|jd}|dkrTd|_	n|dkrdd|_	ntdd|_
d|_xd|_yt|j}Wnt
k
rPYnX|j}|d	kr|j|d|_
nH|d
kr||_|jd}d|_n(|dkrt||_n|d
kr|j||jqzW|j
s0|jr8tddS)NrsFORMz file does not start with FORM idr
sAIFFsAIFCrznot an AIFF or AIFF-C filesCOMMsSSNDsFVERsMARKz$COMM chunk and/or SSND chunk missing)_version_convert_markers	_soundpos_filer9Zgetnamerr
_aifcZ_comm_chunk_read_ssnd_chunk_ssnd_seek_neededr_read_comm_chunkr	_readmarkskip)selfrchunkZformdataZ	chunknamerrrr	initfp4sJ




zAifc_read.initfpc	CsLt|tr>tj|d}y|j|WqH|jYqHXn
|j|dS)Nrb)
isinstancestrbuiltinsrrKclose)rIr!file_objectrrr	__init__\s

zAifc_read.__init__cCs|S)Nr)rIrrr		__enter__hszAifc_read.__enter__cGs|jdS)N)rP)rIargsrrr	__exit__kszAifc_read.__exit__cCs|jS)N)rB)rIrrr	getfpqszAifc_read.getfpcCsd|_d|_dS)Nrr)rErA)rIrrr	rewindtszAifc_read.rewindcCs |j}|dk	rd|_|jdS)N)rBrP)rIrrrr	rPxszAifc_read.closecCs|jS)N)rA)rIrrr	tell~szAifc_read.tellcCs|jS)N)
_nchannels)rIrrr	getnchannelsszAifc_read.getnchannelscCs|jS)N)_nframes)rIrrr	
getnframesszAifc_read.getnframescCs|jS)N)
_sampwidth)rIrrr	getsampwidthszAifc_read.getsampwidthcCs|jS)N)
_framerate)rIrrr	getframerateszAifc_read.getframeratecCs|jS)N)	_comptype)rIrrr	getcomptypeszAifc_read.getcomptypecCs|jS)N)	_compname)rIrrr	getcompnameszAifc_read.getcompnamecCs*t|j|j|j|j|j|jS)N)r;rZr^r`r\rbrd)rIrrr		getparamsszAifc_read.getparamscCst|jdkrdS|jS)Nr)r1r@)rIrrr	
getmarkersszAifc_read.getmarkerscCs2x|jD]}||dkr|SqWtdj|dS)Nrzmarker {0!r} does not exist)r@rformat)rIidmarkerrrr	getmarkszAifc_read.getmarkcCs*|dks||jkrtd||_d|_dS)Nrzposition not in ranger)r[rrArE)rIposrrr	setposszAifc_read.setposcCs|jrD|jjd|jjd}|j|j}|r>|jj|dd|_|dkrPdS|jj||j}|jrv|rv|j|}|jt||j|j	|_|S)Nrr=r)
rErDseekr
rA
_framesizer?r1rYr])rInframesrrkrrrr	
readframess

zAifc_read.readframescCsddl}|j|dS)Nrr)audioopZalaw2lin)rIrrqrrr		_alaw2linszAifc_read._alaw2lincCsddl}|j|dS)Nrr)rqZulaw2lin)rIrrqrrr		_ulaw2linszAifc_read._ulaw2lincCs2ddl}t|dsd|_|j|d|j\}|_|S)Nr_adpcmstater)rqhasattrrtZ	adpcm2lin)rIrrqrrr	
_adpcm2lins

zAifc_read._adpcm2lincCs.t||_t||_t|dd|_tt||_|j|j|_|j	rd}|j
dkrld}tjdd|_
|j
d|_|rt|jj
d}|d@dkr|d}|j
||_
|jjddt||_|jd	kr*|jd
kr|j|_n2|jdkr|j|_n|jdkr|j|_ntdd|_nd	|_d|_dS)Nr=rrzWarning: bad COMM chunk sizer
sNONEsG722ulawULAWalawALAWzunsupported compression typersnot compressedr)rzr{)r|r})rrYrr[r]r7r&r_rnrCZ	chunksizewarningswarnr
rarrrmrrcrvr?rsrrr)rIrJZkludgerrrr	rFs<









zAifc_read._read_comm_chunkcCst|}yHxBt|D]6}t|}t|}t|}|s8|r|jj|||fqWWnDtk
rdt|jt|jdkr|dnd|f}tj	|YnXdS)Nz;Warning: MARK chunk contains only %s marker%s instead of %srr3)
rrangerrr@appendrr1r~r)rIrJZnmarkersirhrknamewrrr	rGszAifc_read._readmark)rrrrBrKrRrSrUrVrWrPrXrZr\r^r`rbrdrerfrjrlrprrrsrvrFrGrrrr	r<s2$(&r<c@s0eZdZdZddZddZddZdd	Zd
dZdd
Z	ddZ
ddZddZddZ
ddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Zd:d;Z d<d=Z!d>d?Z"d@dAZ#dBdCZ$dDdEZ%dFdGZ&dHdIZ'dS)J
Aifc_writeNc	Cs\t|trNtj|d}y|j|Wn|jYnX|jdrXd|_n
|j|dS)Nwbz.aiffr)rMrNrOrrKrPendswithrC)rIr!rQrrr	rR+s

zAifc_write.__init__cCs^||_t|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_g|_
d|_d|_dS)NsNONEsnot compressedrr)rB
_AIFC_versionr>rarcr?rYr]r_r[_nframeswritten_datawritten_datalengthr@_marklengthrC)rIrrrr	rK;szAifc_write.initfpcCs|jdS)N)rP)rIrrr	__del__LszAifc_write.__del__cCs|S)Nr)rIrrr	rSOszAifc_write.__enter__cGs|jdS)N)rP)rIrTrrr	rURszAifc_write.__exit__cCs|jrtdd|_dS)Nz0cannot change parameters after starting to writer)rrrC)rIrrr	aiffXszAifc_write.aiffcCs|jrtdd|_dS)Nz0cannot change parameters after starting to writer)rrrC)rIrrr	aifc]szAifc_write.aifccCs(|jrtd|dkrtd||_dS)Nz0cannot change parameters after starting to writerzbad # of channels)rrrY)rI	nchannelsrrr	setnchannelsbs
zAifc_write.setnchannelscCs|jstd|jS)Nznumber of channels not set)rYr)rIrrr	rZiszAifc_write.getnchannelscCs0|jrtd|dks|dkr&td||_dS)Nz0cannot change parameters after starting to writerr
zbad sample width)rrr])rI	sampwidthrrr	setsampwidthns
zAifc_write.setsampwidthcCs|jstd|jS)Nzsample width not set)r]r)rIrrr	r^uszAifc_write.getsampwidthcCs(|jrtd|dkrtd||_dS)Nz0cannot change parameters after starting to writerzbad frame rate)rrr_)rI	frameraterrr	setframeratezs
zAifc_write.setframeratecCs|jstd|jS)Nzframe rate not set)r_r)rIrrr	r`szAifc_write.getframeratecCs|jrtd||_dS)Nz0cannot change parameters after starting to write)rrr[)rIrorrr	
setnframesszAifc_write.setnframescCs|jS)N)r)rIrrr	r\szAifc_write.getnframescCs.|jrtd|d	krtd||_||_dS)
Nz0cannot change parameters after starting to writeNONEulawULAWalawALAWG722zunsupported compression type)rrrrrr)rrrarc)rIcomptypecompnamerrr	setcomptypeszAifc_write.setcomptypecCs|jS)N)ra)rIrrr	rbszAifc_write.getcomptypecCs|jS)N)rc)rIrrr	rdszAifc_write.getcompnamecCsf|\}}}}}}|jrtd|d	kr.td|j||j||j||j||j||dS)
Nz0cannot change parameters after starting to writeNONEulawULAWalawALAWG722zunsupported compression type)rrrrrr)rrrrrrr)rIZparamsrrrrorrrrr		setparamss



zAifc_write.setparamscCs>|js|js|jr tdt|j|j|j|j|j|jS)Nznot all parameters set)rYr]r_rr;r[rarc)rIrrr	reszAifc_write.getparamscCs|dkrtd|dkr tdt|ts2tdx<tt|jD]*}||j|dkrB|||f|j|<dSqBW|jj|||fdS)Nrzmarker ID must be > 0zmarker position must be >= 0zmarker name must be bytes)rrMbytesrr1r@r)rIrhrkrrrrr	setmarks
zAifc_write.setmarkcCs2x|jD]}||dkr|SqWtdj|dS)Nrzmarker {0!r} does not exist)r@rrg)rIrhrirrr	rjszAifc_write.getmarkcCst|jdkrdS|jS)Nr)r1r@)rIrrr	rfszAifc_write.getmarkerscCs|jS)N)r)rIrrr	rXszAifc_write.tellcCszt|ttfst|jd}|jt|t||j|j}|j	rN|j	|}|j
j||j||_|j
t||_
dS)Nr/)rMr	bytearray
memoryviewcast_ensure_header_writtenr1r]rYr?rBr'rr)rIrrorrr	writeframesraws
zAifc_write.writeframesrawcCs.|j||j|jks"|j|jkr*|jdS)N)rrr[rr_patchheader)rIrrrr	writeframess
zAifc_write.writeframescCs|jdkrdSz^|jd|jd@r<|jjd|jd|_|j|j|jksb|j|jksb|jrj|j	Wdd|_
|j}d|_|jXdS)Nrrr0)rBrrr'
_writemarkersrr[rrrr?rP)rIr!rrr	rPs 


zAifc_write.closecCsddl}|j|dS)Nrr)rqZlin2alaw)rIrrqrrr		_lin2alawszAifc_write._lin2alawcCsddl}|j|dS)Nrr)rqZlin2ulaw)rIrrqrrr		_lin2ulawszAifc_write._lin2ulawcCs2ddl}t|dsd|_|j|d|j\}|_|S)Nrrtr)rqrurtZ	lin2adpcm)rIrrqrrr	
_lin2adpcms

zAifc_write._lin2adpcmcCsf|jsb|jdkr.|jsd|_|jdkr.td|js<td|jsJtd	|jsXtd
|j|dS)NULAWulawALAWalawG722rzRsample width must be 2 when compressing with ulaw/ULAW, alaw/ALAW or G7.22 (ADPCM)z# channels not specifiedzsample width not specifiedzsampling rate not specified)rrrrr)rrar]rrYr_
_write_header)rIZdatasizerrr	r	s

z!Aifc_write._ensure_header_writtencCs>|jdkr|j|_n&|jdkr(|j|_n|jdkr:|j|_dS)NsG722ulawULAWalawALAW)rr)rr)rarr?rr)rIrrr	_init_compressions




zAifc_write._init_compressioncCsL|jr|jdkr|j|jjd|js<||j|j|_|j|j|j|_|jd@rf|jd|_|jr|jdkr|jd|_|jd@r|jd|_n0|jd	kr|jd
d|_|jd@r|jd|_y|jj	|_
Wn ttfk
rd|_
YnX|j
|j}|jrD|jjd|jjd
t|jdt|j|jn|jjd|jjdt|j|t|j|j|j
dk	r|jj	|_t|j|j|jdkrt|jdnt|j|jdt|j|j|jr|jj|jt|j|j|jjd|j
dk	r|jj	|_t|j|jdt|jdt|jddS)NsNONEsFORMrulawULAWalawALAWrG722r
sAIFCsFVERsAIFFsCOMMr=sSSNDr)rrrr)rrrrr)rCrarrBr'r[rYr]rrX_form_length_posAttributeErrorOSError_write_form_lengthr-r>r*_nframes_posr8r_r4rc_ssnd_length_pos)rIZ
initlength
commlengthrrr	r!s^




zAifc_write._write_headercCs\|jr*d	t|j}|d@r$|d}d}nd}d}t|jd||jd|d||S)
Nrxrrr
r=ry)rCr1rcr-rBr)rI
datalengthrZ
verslengthrrr	rTs zAifc_write._write_form_lengthcCs|jj}|jd@r,|jd}|jjdn|j}||jkrd|j|jkrd|jdkrd|jj|ddS|jj|j	d|j
|}|jj|jdt|j|j|jj|j
dt|j|d|jj|d|j|_||_dS)Nrr0rr=)rBrXrr'rr[rrrmrrrr-r)rIZcurposrrrrr	ras&





zAifc_write._patchheadercCst|jdkrdS|jjdd}xD|jD]:}|\}}}|t|dd}t|d@dkr*|d}q*Wt|j||d|_t|jt|jx<|jD]2}|\}}}t|j|t|j|t|j|qWdS)NrsMARKrrr=)r1r@rBr'r-rr*r4)rIrrirhrkrrrr	rws"


zAifc_write._writemarkers)(rrrrBrRrKrrSrUrrrrZrr^rr`rr\rrbrdrrerrjrfrXrrrPrrrrrrrrrrrrr	rsJ	

3
rcCsJ|dkrt|dr|j}nd}|dkr.t|S|dkr>t|StddS)	NmoderLrrrz$mode must be 'r', 'rb', 'w', or 'wb')rrL)rr)rurr<rr)r!rrrr	rs
__main__rz/usr/demos/data/audio/bach.aiffrZReadingznchannels =znframes   =zsampwidth =zframerate =zcomptype  =zcompname  =rZWritingrizDone.)N)8rrOr~__all__	Exceptionrrrrrrrrr&r*r+r,r-r4r8rJr9collectionsr:r;r__doc__rrrorrr<rrrrsysargvrfnr!printrZr\r^r`rbrdZgngrrerprrrrrr	<module>sx

!~









OHA YOOOO