3 \-E ã @ s– d dl Z dddddgZG dd„ deƒZdZdZd dlZd dlZd dlZd dl m Z d d lmZ eddƒZ G dd„ dƒZG dd„ dƒZddd„ZeZdS )é NÚopenÚopenfpÚErrorÚ Wave_readÚ Wave_writec @ s e Zd ZdS )r N)Ú__name__Ú __module__Ú__qualname__© r r ú/usr/lib64/python3.6/wave.pyr N s é ÚbÚhÚi)ÚChunk)Ú namedtupleÚ_wave_paramsz7nchannels sampwidth framerate nframes comptype compnamec @ s´ e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd d „ Zdd„ Zd d„ Z dd„ Z dd„ Zdd„ Zdd„ Z dd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+S ),r c C s d | _ d| _t|dd�| _| jjƒ dkr0tdƒ‚| jjdƒdkrHtdƒ‚d| _d | _x�d| _ yt| jdd�}W n t k r„ P Y nX |jƒ }|d kr¨| j|ƒ d| _n2|d krÚ| js¾tdƒ‚|| _|j| j | _d| _ P |jƒ qVW | j sø| j �r tdƒ‚d S ) Nr )Z bigendians RIFFz file does not start with RIFF idé s WAVEznot a WAVE filer s fmt s datazdata chunk before fmt chunkz#fmt chunk and/or data chunk missing)Ú_convertÚ _soundposr Ú_fileZgetnamer ÚreadZ_fmt_chunk_readÚ_data_chunkÚ_data_seek_neededÚEOFErrorÚ_read_fmt_chunkZ chunksizeÚ _framesizeÚ_nframesÚskip)ÚselfÚfileÚchunkZ chunknamer r r Úinitfp} s: zWave_read.initfpc C sR d | _ t|tƒr"tj|dƒ}|| _ y| j|ƒ W n | j rF|jƒ ‚ Y nX d S )NÚrb)Ú_i_opened_the_fileÚ isinstanceÚstrÚbuiltinsr r" Úclose)r Úfr r r Ú__init__œ s zWave_read.__init__c C s | j ƒ d S )N)r( )r r r r Ú__del__© s zWave_read.__del__c C s | S )Nr )r r r r Ú __enter__¬ s zWave_read.__enter__c G s | j ƒ d S )N)r( )r Úargsr r r Ú__exit__¯ s zWave_read.__exit__c C s | j S )N)r )r r r r Úgetfpµ s zWave_read.getfpc C s d| _ d| _d S )Nr r )r r )r r r r Úrewind¸ s zWave_read.rewindc C s" d | _ | j}|rd | _|jƒ d S )N)r r$ r( )r r r r r r( ¼ s zWave_read.closec C s | j S )N)r )r r r r Útellà s zWave_read.tellc C s | j S )N)Ú _nchannels)r r r r ÚgetnchannelsÆ s zWave_read.getnchannelsc C s | j S )N)r )r r r r Ú getnframesÉ s zWave_read.getnframesc C s | j S )N)Ú _sampwidth)r r r r ÚgetsampwidthÌ s zWave_read.getsampwidthc C s | j S )N)Ú _framerate)r r r r ÚgetframerateÏ s zWave_read.getframeratec C s | j S )N)Ú _comptype)r r r r ÚgetcomptypeÒ s zWave_read.getcomptypec C s | j S )N)Ú _compname)r r r r ÚgetcompnameÕ s zWave_read.getcompnamec C s* t | jƒ | jƒ | jƒ | jƒ | jƒ | jƒ ƒS )N)r r3 r6 r8 r4 r: r<