Edit File: aifc.cpython-36.opt-2.pyc
3 � \�~������������������@���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"e"Z#e$d/k�r6d�dl%Z%e%j&d0d���sDe%j&j'd1��e%j&d0�Z(e"e(d2���Z)e*d3e(��e*d4e)j+����e*d5e)j,����e*d6e)j-����e*d7e)j.����e*d8e)j/����e*d9e)j0����e%j&d:d���r,e%j&d:�Z1e*d;e1��e"e1d<��8Z2e2j3e)j4����x"e)j5d=�Z6e6�s P�e2j7e6���q�W�W�dQ�R�X�e*d>��W�dQ�R�X�dS�)@�����N�Error�open�openfpc���������������@���s���e�Zd�ZdS�)r���N)�__name__� __module__�__qualname__��r���r����/usr/lib64/python3.6/aifc.pyr�������s���l���@Q�E�c�������������C���s6���yt�jd|�jd��d�S��t�jk r0���t�Y�nX�d�S�)Nz>l����r���)�struct�unpack�read�error�EOFError)�filer���r���r ���� _read_long����s����r���c�������������C���s6���yt�jd|�jd��d�S��t�jk r0���t�Y�nX�d�S�)Nz>Lr ���r���)r���r���r ���r���r���)r���r���r���r ����_read_ulong����s����r���c�������������C���s6���yt�jd|�jd��d�S��t�jk r0���t�Y�nX�d�S�)Nz>h����r���)r���r���r ���r���r���)r���r���r���r ����_read_short����s����r���c�������������C���s6���yt�jd|�jd��d�S��t�jk r0���t�Y�nX�d�S�)Nz>Hr���r���)r���r���r ���r���r���)r���r���r���r ����_read_ushort����s����r���c�������������C���s@���t�|�jd��}|dkrd}n |�j|�}|d@�dkr<|�jd�}|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|��}||��koL|��koLdkn��rXd}�n0|dkrft}�n"|d�}|d�|�td|d ���}�||��S�)Nr���r���i����g��������i���i�?��l��������g�������@�?������)r���r���� _HUGE_VAL�pow)�f�expon�sign�himant�lomantr���r���r ����_read_float����s����"r&���c�������������C���s���|�j�tjd|���d�S�)Nz>h)�writer����pack)r!����xr���r���r ����_write_short����s����r*���c�������������C���s���|�j�tjd|���d�S�)Nz>H)r'���r���r(���)r!���r)���r���r���r ���� _write_ushort����s����r+���c�������������C���s���|�j�tjd|���d�S�)Nz>l)r'���r���r(���)r!���r)���r���r���r ����_write_long����s����r,���c�������������C���s���|�j�tjd|���d�S�)Nz>L)r'���r���r(���)r!���r)���r���r���r ����_write_ulong����s����r-���c�������������C���sR���t�|�dkrtd��|�jtjdt�|����|�j|��t�|�d@�dkrN|�jd��d�S�)N����z%string exceeds maximum pstring length�Br���r��������)�len� ValueErrorr'���r���r(���)r!����sr���r���r ���� _write_string����s���� r4���c������� ������C���s����dd�l�}|dk�rd}|d�}nd}|dkr8d}d}d}n�|j|�\}}|dks^|dks^||krp|dB�}d}d}nh|d�}|dk�r�|j||�}d}||B�}|j|d�}|j|�}t|�}|j||�d�}|j|�}t|�}t|�|��t|�|��t|�|��d�S�) Nr���i����r���i�@��i���i�?��� ���r���)�mathZfrexpZldexpZfloor�intr+���r-���) r!���r)���r6���r#���r"���r$���r%���ZfmantZfsmantr���r���r ����_write_float����s8���� 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���������������@���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���s<��d|�_�d�|�_g�|�_d|�_||�_t|�}|j��dkr:td��|jd�}|dkrTd|�_ n|dkrdd|�_ ntd��d|�_ d�|�_x�d|�_yt|�j�}W�n�t k r����P�Y�nX�|j��}|d kr�|�j|��d|�_ nH|d kr�||�_|jd�}d|�_n(|dkr�t|�|�_�n|d k�r|�j|��|j���qzW�|�j ��s0|�j��r8td��d�S�)Nr���s���FORMz file does not start with FORM idr ���s���AIFFs���AIFCr���znot an AIFF or AIFF-C files���COMMs���SSND����s���FVERs���MARKz$COMM chunk and/or SSND chunk missing)�_version�_convert�_markers� _soundpos�_filer9���Zgetnamer���r ����_aifcZ_comm_chunk_read�_ssnd_chunk�_ssnd_seek_neededr����_read_comm_chunkr���� _readmark�skip)�selfr����chunkZformdataZ chunknamer���r���r���r ����initfp4��sJ���� zAifc_read.initfpc���������� ���C���sL���t�|t�r>tj|d�}y|�j|��W�qH���|j�����Y�qHX�n |�j|��d�S�)N�rb)� isinstance�str�builtinsr���rK����close)rI���r!����file_objectr���r���r ����__init__\��s���� zAifc_read.__init__c�������������C���s���|�S�)Nr���)rI���r���r���r ���� __enter__h��s����zAifc_read.__enter__c�������������G���s���|�j����d�S�)N)rP���)rI����argsr���r���r ����__exit__k��s����zAifc_read.__exit__c�������������C���s���|�j�S�)N)rB���)rI���r���r���r ����getfpq��s����zAifc_read.getfpc�������������C���s���d|�_�d|�_d�S�)Nr���r���)rE���rA���)rI���r���r���r ����rewindt��s����zAifc_read.rewindc�������������C���s ���|�j�}|d�k rd�|�_�|j���d�S�)N)rB���rP���)rI���r���r���r���r ���rP���x��s����zAifc_read.closec�������������C���s���|�j�S�)N)rA���)rI���r���r���r ����tell~��s����zAifc_read.tellc�������������C���s���|�j�S�)N)� _nchannels)rI���r���r���r ����getnchannels���s����zAifc_read.getnchannelsc�������������C���s���|�j�S�)N)�_nframes)rI���r���r���r ���� getnframes���s����zAifc_read.getnframesc�������������C���s���|�j�S�)N)� _sampwidth)rI���r���r���r ����getsampwidth���s����zAifc_read.getsampwidthc�������������C���s���|�j�S�)N)� _framerate)rI���r���r���r ����getframerate���s����zAifc_read.getframeratec�������������C���s���|�j�S�)N)� _comptype)rI���r���r���r ����getcomptype���s����zAifc_read.getcomptypec�������������C���s���|�j�S�)N)� _compname)rI���r���r���r ����getcompname���s����zAifc_read.getcompnamec�������������C���s*���t�|�j��|�j��|�j��|�j��|�j��|�j���S�)N)r;���rZ���r^���r`���r\���rb���rd���)rI���r���r���r ���� getparams���s����zAifc_read.getparamsc�������������C���s���t�|�j�dkrd�S�|�jS�)Nr���)r1���r@���)rI���r���r���r ���� getmarkers���s����zAifc_read.getmarkersc�������������C���s2���x|�j�D�]}||d�kr|S�qW�tdj|���d�S�)Nr���zmarker {0!r} does not exist)r@���r����format)rI����id�markerr���r���r ����getmark���s����zAifc_read.getmarkc�������������C���s*���|dk�s||�j�krtd��||�_d|�_d�S�)Nr���zposition not in ranger���)r[���r���rA���rE���)rI����posr���r���r ����setpos���s����zAifc_read.setposc�������������C���s����|�j�rD|�jjd��|�jjd�}|�j|�j�}|r>|�jj|d���d|�_�|dkrPdS�|�jj||�j��}|�jrv|rv|�j|�}|�jt|�|�j|�j ���|�_|S�)Nr���r=���r���) rE���rD����seekr ���rA���� _framesizer?���r1���rY���r]���)rI����nframesr���rk���r���r���r���r ���� readframes���s���� zAifc_read.readframesc�������������C���s���dd�l�}|j|d�S�)Nr���r���)�audioopZalaw2lin)rI���r���rq���r���r���r ���� _alaw2lin���s����zAifc_read._alaw2linc�������������C���s���dd�l�}|j|d�S�)Nr���r���)rq���Zulaw2lin)rI���r���rq���r���r���r ���� _ulaw2lin���s����zAifc_read._ulaw2linc�������������C���s2���dd�l�}t|�d�sd�|�_|j|d|�j�\}|�_|S�)Nr����_adpcmstater���)rq����hasattrrt���Z adpcm2lin)rI���r���rq���r���r���r ���� _adpcm2lin���s ���� zAifc_read._adpcm2linc�������������C���s.��t�|�|�_t|�|�_t�|�d�d�|�_tt|��|�_|�j|�j�|�_|�j �rd}|j dkrld}tjd��d|_ |j d�|�_|r�t|jj d��}|d@�dkr�|d�}|j |�|_ |jjdd��t|�|�_|�jd k�r*|�jd kr�|�j|�_n2|�jdkr�|�j|�_n|�jdk�r|�j|�_ntd��d|�_nd |�_d|�_d�S�)N����r=���r�������r���zWarning: bad COMM chunk size����r ���s���NONEs���G722����ulaw����ULAW����alaw����ALAWzunsupported compression typer���s���not compressedr���)rz���r{���)r|���r}���)r���rY���r���r[���r]���r7���r&���r_���rn���rC���Z chunksize�warnings�warnr ���ra���r���r���rm���r���rc���rv���r?���rs���rr���r���)rI���rJ���Zkludger���r���r���r ���rF������s<���� zAifc_read._read_comm_chunkc�������������C���s����t�|�}yHxBt|�D�]6}t�|�}t|�}t|�}|s8|r|�jj|||f��qW�W�nD�tk r����dt|�j�t|�j�dkr|dnd|f�}tj |��Y�nX�d�S�)Nz;Warning: MARK chunk contains only %s marker%s instead of %sr�����r3���) r����ranger���r���r@����appendr���r1���r~���r���)rI���rJ���Znmarkers�irh���rk����name�wr���r���r ���rG������s����zAifc_read._readmark)r���r���r���rB���rK���rR���rS���rU���rV���rW���rP���rX���rZ���r\���r^���r`���rb���rd���re���rf���rj���rl���rp���rr���rs���rv���rF���rG���r���r���r���r ���r<�����s2���$(&r<���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�rNtj|d�}y|�j|��W�n���|j�����Y�nX�|jd�rXd|�_n |�j|��d�S�)N�wbz.aiffr���)rM���rN���rO���r���rK���rP����endswithrC���)rI���r!���rQ���r���r���r ���rR���+��s���� zAifc_write.__init__c�������������C���s^���||�_�t|�_d|�_d|�_d�|�_d|�_d|�_d|�_d|�_ d|�_ d|�_d|�_g�|�_ d|�_d|�_d�S�)Ns���NONEs���not compressedr���r���)rB���� _AIFC_versionr>���ra���rc���r?���rY���r]���r_���r[����_nframeswritten�_datawritten�_datalengthr@����_marklengthrC���)rI���r���r���r���r ���rK���;��s����zAifc_write.initfpc�������������C���s���|�j����d�S�)N)rP���)rI���r���r���r ����__del__L��s����zAifc_write.__del__c�������������C���s���|�S�)Nr���)rI���r���r���r ���rS���O��s����zAifc_write.__enter__c�������������G���s���|�j����d�S�)N)rP���)rI���rT���r���r���r ���rU���R��s����zAifc_write.__exit__c�������������C���s���|�j�rtd��d|�_d�S�)Nz0cannot change parameters after starting to writer���)r����r���rC���)rI���r���r���r ����aiffX��s����zAifc_write.aiffc�������������C���s���|�j�rtd��d|�_d�S�)Nz0cannot change parameters after starting to writer���)r����r���rC���)rI���r���r���r ����aifc]��s����zAifc_write.aifcc�������������C���s(���|�j�rtd��|dk�rtd��||�_d�S�)Nz0cannot change parameters after starting to writer���zbad # of channels)r����r���rY���)rI���� nchannelsr���r���r ����setnchannelsb��s ����zAifc_write.setnchannelsc�������������C���s���|�j�std��|�j�S�)Nznumber of channels not set)rY���r���)rI���r���r���r ���rZ���i��s����zAifc_write.getnchannelsc�������������C���s0���|�j�rtd��|dk�s|dkr&td��||�_d�S�)Nz0cannot change parameters after starting to writer���r ���zbad sample width)r����r���r]���)rI���� sampwidthr���r���r ����setsampwidthn��s ����zAifc_write.setsampwidthc�������������C���s���|�j�std��|�j�S�)Nzsample width not set)r]���r���)rI���r���r���r ���r^���u��s����zAifc_write.getsampwidthc�������������C���s(���|�j�rtd��|dkrtd��||�_d�S�)Nz0cannot change parameters after starting to writer���zbad frame rate)r����r���r_���)rI���� framerater���r���r ����setframeratez��s ����zAifc_write.setframeratec�������������C���s���|�j�std��|�j�S�)Nzframe rate not set)r_���r���)rI���r���r���r ���r`������s����zAifc_write.getframeratec�������������C���s���|�j�rtd��||�_d�S�)Nz0cannot change parameters after starting to write)r����r���r[���)rI���ro���r���r���r ���� setnframes���s����zAifc_write.setnframesc�������������C���s���|�j�S�)N)r����)rI���r���r���r ���r\������s����zAifc_write.getnframesc�������������C���s.���|�j�rtd��|d krtd��||�_||�_d�S�) Nz0cannot change parameters after starting to write����NONE����ulaw����ULAW����alaw����ALAW����G722zunsupported compression type)r����r����r����r����r����r����)r����r���ra���rc���)rI����comptype�compnamer���r���r ����setcomptype���s����zAifc_write.setcomptypec�������������C���s���|�j�S�)N)ra���)rI���r���r���r ���rb������s����zAifc_write.getcomptypec�������������C���s���|�j�S�)N)rc���)rI���r���r���r ���rd������s����zAifc_write.getcompnamec�������������C���sf���|\}}}}}}|�j�rtd��|d kr.td��|�j|��|�j|��|�j|��|�j|��|�j||��d�S�) Nz0cannot change parameters after starting to write����NONE����ulaw����ULAW����alaw����ALAW����G722zunsupported compression type)r����r����r����r����r����r����)r����r���r����r����r����r����r����)rI���Zparamsr����r����r����ro���r����r����r���r���r ���� setparams���s���� zAifc_write.setparamsc�������������C���s>���|�j��s|�j�s|�j�r td��t|�j�|�j|�j|�j|�j|�j�S�)Nznot all parameters set)rY���r]���r_���r���r;���r[���ra���rc���)rI���r���r���r ���re������s����zAifc_write.getparamsc�������������C���s����|dkrt�d��|dk�r t�d��t|t�s2t�d��x<tt|�j��D�]*}||�j|�d�krB|||f|�j|<�d�S�qBW�|�jj|||f��d�S�)Nr���zmarker ID must be > 0zmarker position must be >= 0zmarker name must be bytes)r���rM����bytesr����r1���r@���r����)rI���rh���rk���r����r����r���r���r ����setmark���s���� zAifc_write.setmarkc�������������C���s2���x|�j�D�]}||d�kr|S�qW�tdj|���d�S�)Nr���zmarker {0!r} does not exist)r@���r���rg���)rI���rh���ri���r���r���r ���rj������s����zAifc_write.getmarkc�������������C���s���t�|�j�dkrd�S�|�jS�)Nr���)r1���r@���)rI���r���r���r ���rf������s����zAifc_write.getmarkersc�������������C���s���|�j�S�)N)r����)rI���r���r���r ���rX������s����zAifc_write.tellc�������������C���sz���t�|ttf�st|�jd�}|�jt|���t|�|�j|�j��}|�j rN|�j |�}|�j j|��|�j|�|�_|�j t|��|�_ d�S�)Nr/���)rM���r����� bytearray� memoryview�cast�_ensure_header_writtenr1���r]���rY���r?���rB���r'���r����r����)rI���r���ro���r���r���r ����writeframesraw���s���� zAifc_write.writeframesrawc�������������C���s.���|�j�|��|�j|�jks"|�j|�jkr*|�j���d�S�)N)r����r����r[���r����r�����_patchheader)rI���r���r���r���r ����writeframes���s���� zAifc_write.writeframesc�������������C���s����|�j�d�krd�S�z^|�jd��|�jd@�r<|�j�jd��|�jd�|�_|�j���|�j|�jksb|�j|�jksb|�jrj|�j ���W�d�d�|�_ |�j�}d�|�_�|j���X�d�S�)Nr���r���r0���)rB���r����r����r'���� _writemarkersr����r[���r����r����r����r?���rP���)rI���r!���r���r���r ���rP������s ���� zAifc_write.closec�������������C���s���dd�l�}|j|d�S�)Nr���r���)rq���Zlin2alaw)rI���r���rq���r���r���r ���� _lin2alaw���s����zAifc_write._lin2alawc�������������C���s���dd�l�}|j|d�S�)Nr���r���)rq���Zlin2ulaw)rI���r���rq���r���r���r ���� _lin2ulaw���s����zAifc_write._lin2ulawc�������������C���s2���dd�l�}t|�d�sd�|�_|j|d|�j�\}|�_|S�)Nr���rt���r���)rq���ru���rt���Z lin2adpcm)rI���r���rq���r���r���r ���� _lin2adpcm��s ���� zAifc_write._lin2adpcmc�������������C���sf���|�j�sb|�jdkr.|�jsd|�_|�jdkr.td��|�js<td��|�jsJtd ��|�jsXtd ��|�j|��d�S�)N����ULAW����ulaw����ALAW����alaw����G722r���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����r����r����r����r����)r����ra���r]���r���rY���r_���� _write_header)rI���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�)Ns���G722����ulaw����ULAW����alaw����ALAW)r����r����)r����r����)ra���r����r?���r����r����)rI���r���r���r ����_init_compression��s���� zAifc_write._init_compressionc�������������C���sL��|�j�r|�jdkr|�j���|�jjd��|�js<||�j|�j��|�_|�j|�j�|�j�|�_|�jd@�rf|�jd�|�_|�j�r�|�jdkr�|�jd�|�_|�jd@�r�|�jd�|�_n0|�jd kr�|�jd �d�|�_|�jd@�r�|�jd�|�_y|�jj ��|�_ W�n �ttfk ��r����d�|�_ Y�nX�|�j |�j�}|�j��rD|�jjd��|�jjd ��t|�jd��t|�j|�j��n|�jjd��|�jjd��t|�j|��t|�j|�j��|�j d�k �r�|�jj ��|�_t|�j|�j��|�jdk�r�t|�jd��nt|�j|�jd���t|�j|�j��|�j��r�|�jj|�j��t|�j|�j��|�jjd��|�j d�k �r|�jj ��|�_t|�j|�jd���t|�jd��t|�jd��d�S�)Ns���NONEs���FORMr�������ulaw����ULAW����alaw����ALAWr�������G722����r ���s���AIFCs���FVERs���AIFFs���COMMr=���s���SSNDr���)r����r����r����r����)r����r����r����r����r����)rC���ra���r����rB���r'���r[���rY���r]���r����rX����_form_length_pos�AttributeError�OSError�_write_form_lengthr-���r>���r*����_nframes_posr8���r_���r4���rc����_ssnd_length_pos)rI���Z initlength� commlengthr���r���r ���r����!��s^���� zAifc_write._write_headerc�������������C���s\���|�j�r*d t|�j��}|d@�r$|d�}d}nd}d}t|�jd|�|�j�d�|�d�|���|S�) Nrx�������r�������r���r ���r=�������ry���)rC���r1���rc���r-���rB���r����)rI���� datalengthr����Z verslengthr���r���r ���r����T��s���� zAifc_write._write_form_lengthc�������������C���s����|�j�j��}|�jd@�r,|�jd�}|�j�jd��n|�j}||�jkrd|�j|�jkrd|�jdkrd|�j�j|d��d�S�|�j�j|�j d��|�j |�}|�j�j|�jd��t|�j�|�j��|�j�j|�j d��t|�j�|d���|�j�j|d��|�j|�_||�_d�S�)Nr���r0���r���r=���)rB���rX���r����r'���r����r[���r����r����rm���r����r����r����r-���r����)rI���Zcurposr����r���r���r���r ���r����a��s&���� zAifc_write._patchheaderc�������������C���s����t�|�j�dkrd�S�|�jjd��d}xD|�jD�]:}|\}}}|t�|��d�d�}t�|�d@�dkr*|d�}q*W�t|�j|��|d�|�_t|�jt�|�j���x<|�jD�]2}|\}}}t|�j|��t|�j|��t|�j|��q�W�d�S�)Nr���s���MARKr���r�������r=���)r1���r@���rB���r'���r-���r����r*���r4���)rI���r���ri���rh���rk���r����r���r���r ���r����w��s"���� zAifc_write._writemarkers)(r���r���r���rB���rR���rK���r����rS���rU���r����r����r����rZ���r����r^���r����r`���r����r\���r����rb���rd���r����re���r����rj���rf���rX���r����r����rP���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�moderL����rr����r����z$mode must be 'r', 'rb', 'w', or 'wb')r����rL���)r����r����)ru���r����r<���r����r���)r!���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)8r���rO���r~����__all__� Exceptionr���r����r���r���r���r���r���r���r&���r*���r+���r,���r-���r4���r8���rJ���r9����collectionsr:���r;���r�����__doc__r����r����ro���r����r����r<���r����r���r���r����sys�argvr�����fnr!����printrZ���r\���r^���r`���rb���rd���Zgn�gr����re���rp���r���r����r���r���r���r ����<module>����sx��� !�~���