Edit File: aifc.cpython-38.opt-2.pyc
U ����@��d.�������������������� ���@���s>��d�dl�Z�d�dlZd�dlZdddgZG�dd��de�ZdZdd��Zd d ��Zdd��Z d d��Z dd��ZdZdd��Z dd��Zdd��Zdd��Zdd��Zdd��Zdd��Zd�d lmZ�d�d!lmZ�ed"d#�Zd$ej_d%ej_d&ej_d'ej_d(ej_d)ej_G�d*d+��d+�Z G�d,d-��d-�Z!d@d.d�Z"dAd/d�Z#e$d0k�r:d�dl%Z%e%j&d1d���sJe%j&�'d2��e%j&d1�Z(e"e(d3���Z)e*d4e(��e*d5e)�+����e*d6e)�,����e*d7e)�-����e*d8e)�.����e*d9e)�/����e*d:e)�0����e%j&d;d���r0e%j&d;�Z1e*d<e1��e"e1d=��6Z2e2�3e)�4����e)�5d>�Z6e6�s�qe2�7e6���q�W�5�Q�R�X�e*d?��W�5�Q�R�X�dS�)B�����N�Error�open�openfpc�������������������@���s���e�Zd�ZdS�)r���N)�__name__� __module__�__qualname__��r���r����)/opt/alt/python38/lib64/python3.8/aifc.pyr�������s���l���@Q�E�c�����������������C���s:���zt��d|��d��d�W�S��t�jk r4���td��Y�nX�d�S�)N�>l����r�����structZunpack�read�error�EOFError��filer���r���r ���� _read_long����s����r���c�����������������C���s:���zt��d|��d��d�W�S��t�jk r4���td��Y�nX�d�S�)N�>Lr���r���r���r���r���r���r ����_read_ulong����s����r���c�����������������C���s:���zt��d|��d��d�W�S��t�jk r4���td��Y�nX�d�S�)N�>h����r���r���r���r���r���r ����_read_short����s����r���c�����������������C���s:���zt��d|��d��d�W�S��t�jk r4���td��Y�nX�d�S�)N�>Hr���r���r���r���r���r���r ����_read_ushort����s����r���c�����������������C���s@���t�|��d��}|dkrd}n |��|�}|d@�dkr<|��d�}|S�)N����r��������)�ordr���)r����length�data�dummyr���r���r ����_read_string����s���� r!���g�����c�����������������C���s����t�|��}d}|dk�r d}|d�}t|��}t|��}||��krN|��krNdkrXn�nd}�n0|dkrft}�n"|d�}|d�|�td |d ���}�||��S�)Nr���r�����������g�����������i�?��l��������g�������@�?���)r���r���� _HUGE_VAL�pow)�f�expon�sign�himant�lomantr���r���r ����_read_float����s����"r-���c�����������������C���s���|���t�d|���d�S�)Nr�����writer ����pack�r(����xr���r���r ����_write_short����s����r3���c�����������������C���s���|���t�d|���d�S�)Nr���r.���r1���r���r���r ���� _write_ushort����s����r4���c�����������������C���s���|���t�d|���d�S�)Nr ���r.���r1���r���r���r ����_write_long����s����r5���c�����������������C���s���|���t�d|���d�S�)Nr���r.���r1���r���r���r ����_write_ulong����s����r6���c�����������������C���sR���t�|�dkrtd��|��t�dt�|����|��|��t�|�d@�dkrN|��d��d�S�)N����z%string exceeds maximum pstring length�Br���r��������)�len� ValueErrorr/���r ���r0���)r(����sr���r���r ���� _write_string����s���� r=���c����������� ������C���s����dd�l�}|dk�rd}|d�}nd}|dkr8d}d}d}n�|�|�\}}|dks^|dks^||krp|dB�}d}d}nh|d�}|dk�r�|�||�}d}||B�}|�|d�}|�|�}t|�}|�||�d�}|�|�}t|�}t|�|��t|�|��t|�|��d�S�) Nr���r#���r"���i�@��r���r$���i�?��� ���)�mathZfrexpZldexpZfloor�intr4���r6���) r(���r2���r?���r*���r)���r+���r,���ZfmantZfsmantr���r���r ����_write_float����s8���� rA���)�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����e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd d��Zdd ��Z dd��Z dd��Zdd��Zdd��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_readNc�����������������C���s8��d|�_�d�|�_g�|�_d|�_||�_t|�}|���dkr:td��|�d�}|dkrTd|�_ n|dkrdd|�_ ntd��d|�_ d�|�_d|�_zt|�j�}W�n�t k r����Y��qY�nX�|���}|d kr�|��|��d|�_ nH|d kr�||�_|�d�}d|�_n(|dkr�t|�|�_�n|d k�r|��|��|����qx|�j �r,|�j�s4td��d�S�)Nr�������FORMz file does not start with FORM idr�������AIFF����AIFCr���znot an AIFF or AIFF-C file����COMM����SSND��������FVER����MARKz$COMM chunk and/or SSND chunk missing)�_version�_convert�_markers� _soundpos�_filerB���Zgetnamer���r����_aifcZ_comm_chunk_read�_ssnd_chunk�_ssnd_seek_neededr����_read_comm_chunkr���� _readmark�skip)�selfr����chunkZformdataZ chunknamer ���r���r���r ����initfp4��sH���� zAifc_read.initfpc�����������������C���sL���t�|t�r>t�|d�}z|��|��W�qH���|������Y�qHX�n |��|��d�S�)N�rb)� isinstance�str�builtinsr���r[����close�rY���r(���Zfile_objectr���r���r ����__init__\��s���� zAifc_read.__init__c�����������������C���s���|�S��Nr����rY���r���r���r ���� __enter__h��s����zAifc_read.__enter__c�����������������G���s���|������d�S�rc����r`����rY����argsr���r���r ����__exit__k��s����zAifc_read.__exit__c�����������������C���s���|�j�S�rc���)rR���rd���r���r���r ����getfpq��s����zAifc_read.getfpc�����������������C���s���d|�_�d|�_d�S�)Nr���r���)rU���rQ���rd���r���r���r ����rewindt��s����zAifc_read.rewindc�����������������C���s ���|�j�}|d�k rd�|�_�|����d�S�rc���)rR���r`����rY���r���r���r���r ���r`���x��s����zAifc_read.closec�����������������C���s���|�j�S�rc���)rQ���rd���r���r���r ����tell~��s����zAifc_read.tellc�����������������C���s���|�j�S�rc���)� _nchannelsrd���r���r���r ����getnchannels���s����zAifc_read.getnchannelsc�����������������C���s���|�j�S�rc���)�_nframesrd���r���r���r ���� getnframes���s����zAifc_read.getnframesc�����������������C���s���|�j�S�rc���)� _sampwidthrd���r���r���r ����getsampwidth���s����zAifc_read.getsampwidthc�����������������C���s���|�j�S�rc���)� _frameraterd���r���r���r ����getframerate���s����zAifc_read.getframeratec�����������������C���s���|�j�S�rc����� _comptyperd���r���r���r ����getcomptype���s����zAifc_read.getcomptypec�����������������C���s���|�j�S�rc����� _compnamerd���r���r���r ����getcompname���s����zAifc_read.getcompnamec�����������������C���s*���t�|����|����|����|����|����|�����S�rc���)rD���ro���rs���ru���rq���rx���r{���rd���r���r���r ���� getparams���s�������zAifc_read.getparamsc�����������������C���s���t�|�j�dkrd�S�|�jS��Nr����r:���rP���rd���r���r���r ���� getmarkers���s����zAifc_read.getmarkersc�����������������C���s2���|�j�D�]}||d�kr|��S�qtd�|���d�S��Nr���zmarker {0!r} does not exist�rP���r����format�rY����id�markerr���r���r ����getmark���s���� zAifc_read.getmarkc�����������������C���s*���|dk�s||�j�krtd��||�_d|�_d�S�)Nr���zposition not in ranger���)rp���r���rQ���rU���)rY����posr���r���r ����setpos���s����zAifc_read.setposc�����������������C���s����|�j�rD|�j�d��|�j�d�}|�j|�j�}|r>|�j�|d���d|�_�|dkrPdS�|�j�||�j��}|�jrv|rv|��|�}|�jt|�|�j|�j ���|�_|S�)Nr���rK���r���) rU���rT����seekr���rQ���� _framesizerO���r:���rn���rr���)rY����nframesr ���r����r���r���r���r ���� readframes���s ���� � zAifc_read.readframesc�����������������C���s���dd�l�}|�|d�S��Nr���r���)�audioopZalaw2lin�rY���r���r����r���r���r ���� _alaw2lin���s����zAifc_read._alaw2linc�����������������C���s���dd�l�}|�|d�S�r����)r����Zulaw2linr����r���r���r ���� _ulaw2lin���s����zAifc_read._ulaw2linc�����������������C���s2���dd�l�}t|�d�sd�|�_|�|d|�j�\}|�_|S��Nr����_adpcmstater���)r�����hasattrr����Z adpcm2linr����r���r���r ���� _adpcm2lin���s ���� zAifc_read._adpcm2linc�����������������C���sV��t�|�|�_t|�|�_t�|�d�d�|�_tt|��|�_|�jdkrFtd��|�jdkrXtd��|�j|�j�|�_ |�j �rFd}|jdkr�d}t� d��d |_|�d �|�_|r�t|j�d��}|d@�dkr�|d�}|j|�|_|j�dd��t|�|�_|�jdk�rR|�jd k�r |�j|�_n4|�jdk�r |�j|�_n|�jdk�r6|�j|�_ntd��d|�_nd|�_d|�_d�S�)N����rK���r����bad sample width�bad # of channels����r���zWarning: bad COMM chunk size����r���r"�������NONE����G722�����ulaw����ULAW�����alaw����ALAW�unsupported compression typer�������not compressed)r���rn���r���rp���rr���r@���r-���rt���r���r����rS���Z chunksize�warnings�warnr���rw���r���r���r����r!���rz���r����rO���r����r����)rY���rZ���Zkludger���r���r���r ���rV������sD���� zAifc_read._read_comm_chunkc�����������������C���s����t�|�}zDt|�D�]6}t�|�}t|�}t|�}|s6|r|�j�|||f��qW�nD�tk r����dt|�j�t|�j�dkrxdnd|f�}t� |��Y�nX�d�S�)Nz;Warning: MARK chunk contains only %s marker%s instead of %sr�����r<���) r����ranger���r!���rP����appendr���r:���r����r����)rY���rZ���Znmarkers�ir����r�����name�wr���r���r ���rW������s������zAifc_read._readmark)r���r���r���rR���r[���rb���re���ri���rj���rk���r`���rm���ro���rq���rs���ru���rx���r{���r|���r���r����r����r����r����r����r����rV���rW���r���r���r���r ���rE�����s2���$(*rE���c�������������������@���s0��e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd d��Zdd ��Z dd��Z dd��Zdd��Zdd��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_writeNc�����������������C���s\���t�|t�rNt�|d�}z|��|��W�n���|������Y�nX�|�d�rXd|�_n |��|��d�S�)N�wbz.aiffr���)r]���r^���r_���r���r[���r`����endswithrS���ra���r���r���r ���rb���/��s���� zAifc_write.__init__c�����������������C���s^���||�_�t|�_d|�_d|�_d�|�_d|�_d|�_d|�_d|�_ d|�_ d|�_d|�_g�|�_ d|�_d|�_d�S�)Nr����r����r���r���)rR���� _AIFC_versionrN���rw���rz���rO���rn���rr���rt���rp����_nframeswritten�_datawritten�_datalengthrP����_marklengthrS���rl���r���r���r ���r[���?��s����zAifc_write.initfpc�����������������C���s���|������d�S�rc���rf���rd���r���r���r ����__del__P��s����zAifc_write.__del__c�����������������C���s���|�S�rc���r���rd���r���r���r ���re���S��s����zAifc_write.__enter__c�����������������G���s���|������d�S�rc���rf���rg���r���r���r ���ri���V��s����zAifc_write.__exit__c�����������������C���s���|�j�rtd��d|�_d�S�)N�0cannot change parameters after starting to writer����r����r���rS���rd���r���r���r ����aiff\��s����zAifc_write.aiffc�����������������C���s���|�j�rtd��d|�_d�S�)Nr����r���r����rd���r���r���r ����aifca��s����zAifc_write.aifcc�����������������C���s(���|�j�rtd��|dk�rtd��||�_d�S�)Nr����r���r����)r����r���rn���)rY���� nchannelsr���r���r ����setnchannelsf��s ����zAifc_write.setnchannelsc�����������������C���s���|�j�std��|�j�S�)Nznumber of channels not set)rn���r���rd���r���r���r ���ro���m��s����zAifc_write.getnchannelsc�����������������C���s0���|�j�rtd��|dk�s|dkr&td��||�_d�S�)Nr����r���r���r����)r����r���rr���)rY���� sampwidthr���r���r ����setsampwidthr��s ����zAifc_write.setsampwidthc�����������������C���s���|�j�std��|�j�S�)Nzsample width not set)rr���r���rd���r���r���r ���rs���y��s����zAifc_write.getsampwidthc�����������������C���s(���|�j�rtd��|dkrtd��||�_d�S�)Nr����r���zbad frame rate)r����r���rt���)rY���� framerater���r���r ����setframerate~��s ����zAifc_write.setframeratec�����������������C���s���|�j�std��|�j�S�)Nzframe rate not set)rt���r���rd���r���r���r ���ru������s����zAifc_write.getframeratec�����������������C���s���|�j�rtd��||�_d�S�)Nr����)r����r���rp���)rY���r����r���r���r ���� setnframes���s����zAifc_write.setnframesc�����������������C���s���|�j�S�rc����r����rd���r���r���r ���rq������s����zAifc_write.getnframesc�����������������C���s.���|�j�rtd��|dkrtd��||�_||�_d�S��Nr����)r����r����r����r����r����r����r����)r����r���rw���rz���)rY����comptype�compnamer���r���r ����setcomptype���s����zAifc_write.setcomptypec�����������������C���s���|�j�S�rc���rv���rd���r���r���r ���rx������s����zAifc_write.getcomptypec�����������������C���s���|�j�S�rc���ry���rd���r���r���r ���r{������s����zAifc_write.getcompnamec�����������������C���sf���|\}}}}}}|�j�rtd��|dkr.td��|��|��|��|��|��|��|��|��|��||��d�S�r����)r����r���r����r����r����r����r����)rY���Zparamsr����r����r����r����r����r����r���r���r ���� setparams���s���� zAifc_write.setparamsc�����������������C���s8���|�j�r|�jr|�jstd��t|�j�|�j|�j|�j|�j|�j�S�)Nznot all parameters set)rn���rr���rt���r���rD���rp���rw���rz���rd���r���r���r ���r|������s�������zAifc_write.getparamsc�����������������C���s����|dkrt�d��|dk�r t�d��t|t�s2t�d��tt|�j��D�],}||�j|�d�kr@|||f|�j|<��d�S�q@|�j�|||f��d�S�)Nr���zmarker ID must be > 0zmarker position must be >= 0zmarker name must be bytes)r���r]����bytesr����r:���rP���r����)rY���r����r����r����r����r���r���r ����setmark���s���� zAifc_write.setmarkc�����������������C���s2���|�j�D�]}||d�kr|��S�qtd�|���d�S�r����r����r����r���r���r ���r�������s���� zAifc_write.getmarkc�����������������C���s���t�|�j�dkrd�S�|�jS�r}���r~���rd���r���r���r ���r������s����zAifc_write.getmarkersc�����������������C���s���|�j�S�rc���r����rd���r���r���r ���rm������s����zAifc_write.tellc�����������������C���sz���t�|ttf�st|��d�}|��t|���t|�|�j|�j��}|�j rN|�� |�}|�j �|��|�j|�|�_|�j t|��|�_ d�S�)Nr8���)r]���r����� bytearray� memoryview�cast�_ensure_header_writtenr:���rr���rn���rO���rR���r/���r����r����)rY���r���r����r���r���r ����writeframesraw���s���� zAifc_write.writeframesrawc�����������������C���s.���|���|��|�j|�jks"|�j|�jkr*|�����d�S�rc���)r����r����rp���r����r�����_patchheader)rY���r���r���r���r ����writeframes���s ���� �zAifc_write.writeframesc�����������������C���s����|�j�d�krd�S�z^|��d��|�jd@�r<|�j��d��|�jd�|�_|�����|�j|�jksb|�j |�jksb|�j rj|�����W�5�d�|�_|�j�}d�|�_�|����X�d�S�)Nr���r���r9���)rR���rO���r`���r����r����r/���� _writemarkersr����rp���r����r����r����)rY���r(���r���r���r ���r`������s$���� ��zAifc_write.closec�����������������C���s���dd�l�}|�|d�S�r����)r����Zlin2alawr����r���r���r ���� _lin2alaw���s����zAifc_write._lin2alawc�����������������C���s���dd�l�}|�|d�S�r����)r����Zlin2ulawr����r���r���r ���� _lin2ulaw��s����zAifc_write._lin2ulawc�����������������C���s2���dd�l�}t|�d�sd�|�_|�|d|�j�\}|�_|S�r����)r����r����r����Z lin2adpcmr����r���r���r ���� _lin2adpcm��s ���� zAifc_write._lin2adpcmc�����������������C���sf���|�j�sb|�jdkr.|�jsd|�_|�jdkr.td��|�js<td��|�jsJtd��|�jsXtd��|��|��d�S�)N�r����r����r����r����r����r���zRsample 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����rw���rr���r���rn���rt���� _write_header)rY���Zdatasizer���r���r ���r���� ��s���� z!Aifc_write._ensure_header_writtenc�����������������C���s>���|�j�dkr|�j|�_n&|�j�dkr(|�j|�_n|�j�dkr:|�j|�_d�S�)Nr����r����r����)rw���r����rO���r����r����rd���r���r���r ����_init_compression��s���� zAifc_write._init_compressionc�������������� ���C���sJ��|�j�r|�jdkr|�����|�j�d��|�js<||�j|�j��|�_|�j|�j�|�j�|�_|�jd@�rf|�jd�|�_|�j�r�|�jdkr�|�jd�|�_|�jd@�r�|�jd�|�_n0|�jdkr�|�jd�d�|�_|�jd@�r�|�jd�|�_z|�j� ��|�_ W�n�ttfk r����d�|�_ Y�nX�|�� |�j�}|�j��rB|�j�d ��|�j�d ��t|�jd��t|�j|�j��n|�j�d��|�j�d��t|�j|��t|�j|�j��|�j d�k �r�|�j� ��|�_t|�j|�j��|�jd k�r�t|�jd��nt|�j|�jd���t|�j|�j��|�j��r�|�j�|�j��t|�j|�j��|�j�d��|�j d�k �r|�j� ��|�_t|�j|�jd���t|�jd��t|�jd��d�S�)Nr����rF���r���)r����r����r����r����r���r��������r���rH���rL���rG���rI���r����rK���rJ���r���)rS���rw���r����rR���r/���rp���rn���rr���r����rm����_form_length_pos�AttributeError�OSError�_write_form_lengthr6���rN���r3����_nframes_posrA���rt���r=���rz����_ssnd_length_pos)rY���Z initlength� commlengthr���r���r ���r����%��s^���� zAifc_write._write_headerc�����������������C���s\���|�j�r*dt|�j��}|d@�r$|d�}d}nd}d}t|�jd|�|�j�d�|�d�|���|S�) Nr����r�������r����r���r���rK�������)rS���r:���rz���r6���rR���r����)rY���� datalengthr����Z verslengthr���r���r ���r����X��s"��������zAifc_write._write_form_lengthc�����������������C���s����|�j����}|�jd@�r,|�jd�}|�j��d��n|�j}||�jkrd|�j|�jkrd|�jdkrd|�j��|d��d�S�|�j��|�j d��|�� |�}|�j��|�jd��t|�j�|�j��|�j��|�j d��t|�j�|d���|�j��|d��|�j|�_||�_d�S�)Nr���r9���r���rK���)rR���rm���r����r/���r����rp���r����r����r����r����r����r����r6���r����)rY���Zcurposr����r ���r���r���r ���r����e��s*���� �� zAifc_write._patchheaderc�����������������C���s����t�|�j�dkrd�S�|�j�d��d}|�jD�]:}|\}}}|t�|��d�d�}t�|�d@�dkr(|d�}q(t|�j|��|d�|�_t|�jt�|�j���|�jD�]2}|\}}}t|�j|��t|�j|��t|�j|��q�d�S�)Nr���rM���r���r�������rK���)r:���rP���rR���r/���r6���r����r3���r=���)rY���r���r����r����r����r����r���r���r ���r����{��s"���� zAifc_write._writemarkers)(r���r���r���rR���rb���r[���r����re���ri���r����r����r����ro���r����rs���r����ru���r����rq���r����rx���r{���r����r|���r����r����r���rm���r����r����r`���r����r����r����r����r����r����r����r����r����r���r���r���r ���r������sJ��� 3 r����c�����������������C���sJ���|d�krt�|�d�r|�j}nd}|dkr.t|��S�|dkr>t|��S�td��d�S�)N�moder\���)�rr\���)r����r����z$mode must be 'r', 'rb', 'w', or 'wb')r����r����rE���r����r����r(���r����r���r���r ���r������s���� c�����������������C���s���t�jdtdd��t|�|d�S�)NzBaifc.openfp is deprecated since Python 3.7. Use aifc.open instead.r���)� stacklevel)r����)r����r�����DeprecationWarningr���r����r���r���r ���r������s �������__main__r���z/usr/demos/data/audio/bach.aiffr����ZReadingznchannels =znframes =zsampwidth =zframerate =zcomptype =zcompname =r���ZWritingr����i���zDone.)N)N)8r ���r_���r�����__all__� Exceptionr���r����r���r���r���r���r!���r&���r-���r3���r4���r5���r6���r=���rA���rZ���rB����collectionsrC���rD���r�����__doc__r����r����r����r����r����rE���r����r���r���r����sys�argvr�����fnr(����printro���rq���rs���ru���rx���r{���Zgn�gr����r|���r����r���r����r���r���r���r ����<module>����sz��� !������