Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.23.92.85
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : aifc.cpython-310.opt-2.pyc
o

^b]�	@st	ddlZddlZddlZddgZGdd�de�ZdZdd�Zdd	�Zd
d�Z	dd
�Z
dd�ZdZdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�ZddlmZdd lmZed!d"�Zd#ej_d$ej_d%ej_d&ej_d'ej_d(ej_Gd)d*�d*�Z Gd+d,�d,�Z!d>d-d�Z"e#d.k�r8ddl$Z$e$j%d/d�s�e$j%�&d0�e$j%d/Z'e"e'd1���Z(e)d2e'�e)d3e(�*��e)d4e(�+��e)d5e(�,��e)d6e(�-��e)d7e(�.��e)d8e(�/��e$j%d9d��r%e$j%d9Z0e)d:e0�e"e0d;�� Z1e1�2e(�3��	e(�4d<�Z5e5�s�q	e1�6e5�q�Wd�n	1�swYe)d=�Wd�dSWd�dS1�s1wYdSdS)?�N�Error�openc@seZdZdS)rN)�__name__�
__module__�__qualname__�rr�-/usr/local/python-3.10/lib/python3.10/aifc.pyr�sl@QEcC�0zt�d|�d��dWStjytd�w)N�>l�r��struct�unpack�read�error�EOFError��filerrr�
_read_long��
�rcCr	)N�>Lrrrrrrr�_read_ulong�rrcCr	)N�>h�rrrrrr�_read_short�rrcCr	)N�>Hrrrrrrr�_read_ushort�rrcCs@t|�d��}|dkrd}n|�|�}|d@dkr|�d�}|S)N�r�)�ordr)r�length�data�dummyrrr�_read_string�s

r#g�����cCs�t|�}d}|dkrd}|d}t|�}t|�}||kr'|kr'dkr/nnd}||S|dkr9t}||S|d}|d|td	|d
�}||S)Nrr�����g�i�?lg@�?)rr�	_HUGE_VAL�pow)�f�expon�sign�himant�lomantrrr�_read_float�s "��r/cC�|�t�d|��dS)Nr��writer
�pack�r*�xrrr�_write_short��r6cCr0)Nrr1r4rrr�
_write_ushort�r7r8cCr0)Nr
r1r4rrr�_write_long�r7r9cCr0)Nrr1r4rrr�_write_ulong�r7r:cCsVt|�dkr
td��|�t�dt|���|�|�t|�d@dkr)|�d�dSdS)N�z%string exceeds maximum pstring length�Brr�)�len�
ValueErrorr2r
r3)r*�srrr�
_write_string�s
�rAc	Cs�ddl}|dkrd}|d}nd}|dkrd}d}d}nP|�|�\}}|dks/|dks/||kr8|dB}d}d}n4|d}|dkrH|�||�}d}||B}|�|d�}|�|�}t|�}|�||d�}|�|�}t|�}t||�t||�t||�dS)	Nrr%r$i@rr&i�?� )�math�frexp�ldexp�floor�intr8r:)	r*r5rCr,r+r-r.ZfmantZfsmantrrr�_write_float�s8




rH)�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@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�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.d/�Zd0d1�ZdS)2�	Aifc_readNcCs,d|_d|_g|_d|_||_t|�}|��dkrtd��|�d�}|dkr*d|_	n|dkr2d|_	ntd��d|_
d|_	d|_zt|j�}Wn	t
yPYq�w|��}|d	krb|�|�d|_
n#|d
krr||_|�d�}d|_n|dkr|t|�|_n	|d
kr�|�|�|��q=|j
r�|js�td��dS)Nr�FORMz file does not start with FORM idr�AIFF�AIFCrznot an AIFF or AIFF-C file�COMM�SSND��FVER�MARKz$COMM chunk and/or SSND chunk missing)�_version�_convert�_markers�	_soundpos�_filerIZgetnamerr�_aifcZ_comm_chunk_read�_ssnd_chunk�_ssnd_seek_neededr�_read_comm_chunkr�	_readmark�skip)�selfr�chunkZformdataZ	chunknamer"rrr�initfp4sP
�


��zAifc_read.initfpcCsFt|t�rt�|d�}z|�|�WdS|���|�|�dS)N�rb)�
isinstance�str�builtinsrrb�close�r`r*Zfile_objectrrr�__init__\s
zAifc_read.__init__cC�|S�Nr�r`rrr�	__enter__h�zAifc_read.__enter__cG�|��dSrk�rg�r`�argsrrr�__exit__k�zAifc_read.__exit__cC�|jSrk)rYrlrrr�getfpq�zAifc_read.getfpcCsd|_d|_dS)Nrr)r\rXrlrrr�rewindts
zAifc_read.rewindcCs$|j}|durd|_|��dSdSrk)rYrg�r`rrrrrgxs
�zAifc_read.closecCrurk)rXrlrrr�tell~rwzAifc_read.tellcCrurk)�
_nchannelsrlrrr�getnchannels�rwzAifc_read.getnchannelscCrurk)�_nframesrlrrr�
getnframes�rwzAifc_read.getnframescCrurk)�
_sampwidthrlrrr�getsampwidth�rwzAifc_read.getsampwidthcCrurk)�
_frameraterlrrr�getframerate�rwzAifc_read.getframeratecCrurk��	_comptyperlrrr�getcomptype�rwzAifc_read.getcomptypecCrurk��	_compnamerlrrr�getcompname�rwzAifc_read.getcompnamecCs*t|��|��|��|��|��|���Srk)rKr|r�r�r~r�r�rlrrr�	getparams�s�zAifc_read.getparamscC�t|j�dkr	dS|jS�Nr�r>rWrlrrr�
getmarkers��zAifc_read.getmarkerscC�.|jD]}||dkr|Sqtd�|����Nrzmarker {0!r} does not exist�rWr�format�r`�id�markerrrr�getmark��

�zAifc_read.getmarkcCs*|dks	||jkr
td��||_d|_dS)Nrzposition not in ranger)r}rrXr\)r`�posrrr�setpos�s
zAifc_read.setposcCs�|jr"|j�d�|j�d�}|j|j}|r|j�|d�d|_|dkr(dS|j�||j�}|jr;|r;|�|�}|jt|�|j|j	|_|S)NrrRr)
r\r[�seekrrX�
_framesizerVr>r{r)r`�nframesr"r�r!rrr�
readframes�s 


�zAifc_read.readframescC�ddl}|�|d�S�Nrr)�audioopZalaw2lin�r`r!r�rrr�	_alaw2lin��zAifc_read._alaw2lincCr�r�)r�Zulaw2linr�rrr�	_ulaw2lin�r�zAifc_read._ulaw2lincC�2ddl}t|d�sd|_|�|d|j�\}|_|S�Nr�_adpcmstater)r��hasattrr�Z	adpcm2linr�rrr�
_adpcm2lin�s

zAifc_read._adpcm2lincCsRt|�|_t|�|_t|�dd|_tt|��|_|jdkr#td��|jdkr,td��|j|j|_	|j
r�d}|jdkrGd}t�
d�d	|_|�d
�|_|rnt|j�d��}|d@dkra|d}|j||_|j�dd�t|�|_|jdkr�|jd
kr�|j|_n|jdvr�|j|_n|jdvr�|j|_ntd��d|_dSdSd|_d|_dS)N�rRr�bad sample width�bad # of channels�rzWarning: bad COMM chunk size�rr$�NONE�G722��ulaw�ULAW��alaw�ALAW�unsupported compression typer�not compressed)rr{rr}rrGr/r�rr�rZ�	chunksize�warnings�warnrr�rrr�r#r�r�rVr�r�)r`raZkludger rrrr]�sF














�
zAifc_read._read_comm_chunkcCs�t|�}z#t|�D]}t|�}t|�}t|�}|s|r$|j�|||f�q	WdStyIdt|j�t|j�dkr<dnd|f}t�	|�YdSw)Nz;Warning: MARK chunk contains only %s marker%s instead of %sr�r@)
r�rangerr#rW�appendrr>r�r�)r`raZnmarkers�ir�r��name�wrrrr^�s$��	���zAifc_read._readmark)rrrrYrbrirmrsrvrxrgrzr|r~r�r�r�r�r�r�r�r�r�r�r�r�r]r^rrrrrLs4$(*rLc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�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.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Z d<d=�Z!d>d?�Z"d@dA�Z#dBdC�Z$dDdE�Z%dFdG�Z&dHdI�Z'dS)J�
Aifc_writeNcCs\t|t�r't�|d�}z|�|�Wn|���|�d�r%d|_dSdS|�|�dS)N�wbz.aiffr)rdrerfrrbrg�endswithrZrhrrrri/s


�zAifc_write.__init__cCs^||_t|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_g|_
d|_d|_dS)Nr�r�rr)rY�
_AIFC_versionrUr�r�rVr{rr�r}�_nframeswritten�_datawritten�_datalengthrW�_marklengthrZryrrrrb?s
zAifc_write.initfpcCrorkrprlrrr�__del__PrtzAifc_write.__del__cCrjrkrrlrrrrmSrnzAifc_write.__enter__cGrorkrprqrrrrsVrtzAifc_write.__exit__cC�|jrtd��d|_dS)N�0cannot change parameters after starting to writer�r�rrZrlrrr�aiff\�
zAifc_write.aiffcCr�)Nr�rr�rlrrr�aifcar�zAifc_write.aifccCs(|jrtd��|dkrtd��||_dS)Nr�rr�)r�rr{)r`�	nchannelsrrr�setnchannelsf�

zAifc_write.setnchannelscC�|jstd��|jS)Nznumber of channels not set)r{rrlrrrr|m�zAifc_write.getnchannelscCs0|jrtd��|dks|dkrtd��||_dS)Nr�rrr�)r�rr)r`�	sampwidthrrr�setsampwidthrs

zAifc_write.setsampwidthcCr�)Nzsample width not set)rrrlrrrr�yr�zAifc_write.getsampwidthcCs(|jrtd��|dkrtd��||_dS)Nr�rzbad frame rate)r�rr�)r`�	frameraterrr�setframerate~r�zAifc_write.setframeratecCr�)Nzframe rate not set)r�rrlrrrr��r�zAifc_write.getframeratecCs|jrtd��||_dS)Nr�)r�rr})r`r�rrr�
setnframes�r�zAifc_write.setnframescCrurk�r�rlrrrr~�rwzAifc_write.getnframescCs.|jrtd��|dvrtd��||_||_dS�Nr�)r�r�r�r�r�r�r�)r�rr�r�)r`�comptype�compnamerrr�setcomptype�s
zAifc_write.setcomptypecCrurkr�rlrrrr��rwzAifc_write.getcomptypecCrurkr�rlrrrr��rwzAifc_write.getcompnamecCsf|\}}}}}}|jrtd��|dvrtd��|�|�|�|�|�|�|�|�|�||�dSr�)r�rr�r�r�r�r�)r`�paramsr�r�r�r�r�r�rrr�	setparams�s



zAifc_write.setparamscCs8|jr	|jr	|js
td��t|j|j|j|j|j|j�S)Nznot all parameters set)r{rr�rrKr}r�r�rlrrrr��s
�zAifc_write.getparamscCs�|dkrtd��|dkrtd��t|t�std��tt|j��D]}||j|dkr6|||f|j|<dSq |j�|||f�dS)Nrzmarker ID must be > 0zmarker position must be >= 0zmarker name must be bytes)rrd�bytesr�r>rWr�)r`r�r�r�r�rrr�setmark�s
�zAifc_write.setmarkcCr�r�r�r�rrrr��r�zAifc_write.getmarkcCr�r�r�rlrrrr��r�zAifc_write.getmarkerscCrurkr�rlrrrrz�rwzAifc_write.tellcCszt|ttf�st|��d�}|�t|��t|�|j|j}|j	r'|�	|�}|j
�|�|j||_|j
t|�|_
dS)Nr<)rdr��	bytearray�
memoryview�cast�_ensure_header_writtenr>rr{rVrYr2r�r�)r`r!r�rrr�writeframesraw�s
zAifc_write.writeframesrawcCs2|�|�|j|jks|j|jkr|��dSdSrk)r�r�r}r�r��_patchheader)r`r!rrr�writeframes�s

��zAifc_write.writeframescCs�|jdurdSzM|�d�|jd@r|j�d�|jd|_|��|j|jks1|j|jks1|jrE|�	�Wd|_
|j}d|_|��dSWd|_
|j}d|_|��dSd|_
|j}d|_|��w)Nrrr=)rYr�r�r2�
_writemarkersr�r}r�r�r�rVrg)r`r*rrrrg�s6



��
��
zAifc_write.closecCr�r�)r�Zlin2alawr�rrr�	_lin2alaw�r�zAifc_write._lin2alawcCr�r�)r�Zlin2ulawr�rrr�	_lin2ulawr�zAifc_write._lin2ulawcCr�r�)r�r�r�Z	lin2adpcmr�rrr�
_lin2adpcms

zAifc_write._lin2adpcmcCsj|js3|jdvr|jsd|_|jdkrtd��|jstd��|js%td��|js,td��|�|�dSdS)N�r�r�r�r�r�rzRsample 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)r�r�rrr{r��
_write_header)r`Zdatasizerrrr�
s

�z!Aifc_write._ensure_header_writtencCsF|jdkr|j|_dS|jdvr|j|_dS|jdvr!|j|_dSdS)Nr�r�r�)r�r�rVr�r�rlrrr�_init_compressions


�zAifc_write._init_compressionc	Cs@|jr|jdkr|��|j�d�|js||j|j|_|j|j|j|_|jd@r3|jd|_|jre|jdvrM|jd|_|jd@rL|jd|_n|jdkre|jdd|_|jd@re|jd|_z|j�	�|_
Wnttfy{d|_
Ynw|�
|j�}|jr�|j�d	�|j�d
�t|jd�t|j|j�n|j�d�|j�d�t|j|�t|j|j�|j
dur�|j�	�|_t|j|j�|jd
vr�t|jd�n	t|j|jd�t|j|j�|jr�|j�|j�t|j|j�|j�d�|j
du�r	|j�	�|_t|j|jd�t|jd�t|jd�dS)Nr�rMr)r�r�r�r�rr��rrOrSrNrPr�rRrQr)rZr�r�rYr2r}r{rr�rz�_form_length_pos�AttributeError�OSError�_write_form_lengthr:rUr6�_nframes_posrHr�rAr��_ssnd_length_pos)r`Z
initlength�
commlengthrrrr�%sb


�


�

zAifc_write._write_headercCs\|jrdt|j�}|d@r|d}d}nd}d}t|jd||jd|d|�|S)	Nr�r�r�rrrR�)rZr>r�r:rYr�)r`�
datalengthr�Z
verslengthrrrr�Xs"����zAifc_write._write_form_lengthcCs�|j��}|jd@r|jd}|j�d�n|j}||jkr2|j|jkr2|jdkr2|j�|d�dS|j�|j	d�|�
|�}|j�|jd�t|j|j�|j�|j
d�t|j|d�|j�|d�|j|_||_dS)Nrr=rrR)rYrzr�r2r�r}r�r�r�r�r�r�r:r�)r`Zcurposr�r"rrrr�es*




��

zAifc_write._patchheadercCs�t|j�dkr	dS|j�d�d}|jD]}|\}}}|t|�dd}t|�d@dkr1|d}qt|j|�|d|_t|jt|j��|jD]}|\}}}t|j|�t|j|�t|j|�qIdS)NrrTrr�rR)r>rWrYr2r:r�r6rA)r`r r�r�r�r�rrrr�{s&

�


�zAifc_write._writemarkers)(rrrrYrirbr�rmrsr�r�r�r|r�r�r�r�r�r~r�r�r�r�r�r�r�r�rzr�r�rgr�r�r�r�r�r�r�r�r�rrrrr�sL	

3
r�cCsF|durt|d�r
|j}nd}|dvrt|�S|dvrt|�Std��)N�moderc)�rrc)r�r�z$mode must be 'r', 'rb', 'w', or 'wb')r�r�rLr�r)r*r�rrrr�s
�__main__rz/usr/demos/data/audio/bach.aiffr�ZReadingznchannels =znframes   =zsampwidth =zframerate =zcomptype  =zcompname  =rZWritingr�izDone.rk)7r
rfr��__all__�	Exceptionrr�rrrrr#r(r/r6r8r9r:rArHrarI�collectionsrJrKr��__doc__r�r�r�r�r�rLr�rr�sys�argvr��fnr*�printr|r~r�r�r�r�Zgn�gr�r�r�r!r�rrrr�<module>s�	
!�







��
�$��
© 2025 GrazzMean