o ?OgTF@s ddlmZddlmZddlZddlZddlZddlZgdZGddde Z dZ dZ ed d Z Gd d d ZGd ddZdddZdS))Chunk) namedtupleN)openError Wave_read Wave_writec@s eZdZdS)rN)__name__ __module__ __qualname__r r +/opt/alt/python310/lib64/python3.10/wave.pyrTsr)NbhNi _wave_paramsz7nchannels sampwidth framerate nframes comptype compnamec@seZdZ ddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+S),rcCsd|_d|_t|dd|_|jdkrtd|jddkr$tdd|_d|_ d|_ z t|jdd}Wn t y@Yn0w|}|d krR| |d|_n|d krk|js]td ||_|j |j |_d|_ n|q+|jrv|jsztd dS) Nr)Z bigendianRIFFz file does not start with RIFF idWAVEznot a WAVE filer fmt datazdata chunk before fmt chunkz#fmt chunk and/or data chunk missing)_convert _soundposr_fileZgetnamerreadZ_fmt_chunk_read _data_chunk_data_seek_neededEOFError_read_fmt_chunkZ chunksize _framesize_nframesskip)selffilechunkZ chunknamer r r initfp}s@   zWave_read.initfpcCJd|_t|trt|d}||_z||WdS|jr$|)Nrb_i_opened_the_file isinstancestrbuiltinsrr%closer"fr r r __init__s  zWave_read.__init__cC |dSNr-r"r r r __del__ zWave_read.__del__cC|Sr2r r4r r r __enter__zWave_read.__enter__cGr1r2r3r"argsr r r __exit__r6zWave_read.__exit__cC|jSr2)rr4r r r getfpzWave_read.getfpcCsd|_d|_dS)Nr r)rrr4r r r rewinds zWave_read.rewindcCs&d|_|j}|rd|_|dSdSr2)rr)r-r"r#r r r r-s  zWave_read.closecCr=r2)rr4r r r tellr?zWave_read.tellcCr=r2) _nchannelsr4r r r getnchannelsr?zWave_read.getnchannelscCr=r2)r r4r r r getnframesr?zWave_read.getnframescCr=r2) _sampwidthr4r r r getsampwidthr?zWave_read.getsampwidthcCr=r2) _framerater4r r r getframerater?zWave_read.getframeratecCr=r2 _comptyper4r r r getcomptyper?zWave_read.getcomptypecCr=r2 _compnamer4r r r getcompnamer?zWave_read.getcompnamecCs*t||||||Sr2)rrDrGrIrErLrOr4r r r getparamss  zWave_read.getparamscCdSr2r r4r r r getmarkersr9zWave_read.getmarkerscCtdNzno marksrr"idr r r getmarkzWave_read.getmarkcCs*|dks ||jkr td||_d|_dS)Nrzposition not in ranger )r rrr)r"posr r r setposs zWave_read.setposcCs|jr|jdd|j|j}|r|j|dd|_|dkr"dS|j||j}|jdkrr@r-rBrDrErGrIrLrOrPrRrXr[rfrr r r r r^s.  rc@seZdZ ddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9S):rcCr&)Nwbr(r.r r r r0-s  zWave_write.__init__cCs@||_d|_d|_d|_d|_d|_d|_d|_d|_d|_ dS)NrF) rrrCrFrHr _nframeswritten _datawritten _datalength_headerwrittenrAr r r r%9s zWave_write.initfpcCr1r2r3r4r r r r5Er6zWave_write.__del__cCr7r2r r4r r r r8Hr9zWave_write.__enter__cGr1r2r3r:r r r r<Kr6zWave_write.__exit__cCs(|jrtd|dkrtd||_dS)N0cannot change parameters after starting to writer rl)rtrrC)r" nchannelsr r r setnchannelsQs  zWave_write.setnchannelscC|jstd|jS)Nznumber of channels not set)rCrr4r r r rDXzWave_write.getnchannelscCs0|jrtd|dks|dkrtd||_dS)Nrwr rrk)rtrrF)r"rqr r r setsampwidth]s  zWave_write.setsampwidthcCrz)Nzsample width not set)rFrr4r r r rGdr{zWave_write.getsampwidthcCs0|jrtd|dkrtdtt||_dS)Nrwrzbad frame rate)rtrintroundrH)r" framerater r r setframerateis zWave_write.setframeratecCrz)Nzframe rate not set)rHrr4r r r rIpr{zWave_write.getframeratecCs|jrtd||_dSNrw)rtrr )r"rdr r r setnframesus zWave_write.setnframescCr=r2rsr4r r r rEzr?zWave_write.getnframescCs.|jrtd|dvrtd||_||_dS)Nrw)rmzunsupported compression type)rtrrKrN)r"comptypecompnamer r r setcomptype}s  zWave_write.setcomptypecCr=r2rJr4r r r rLr?zWave_write.getcomptypecCr=r2rMr4r r r rOr?zWave_write.getcompnamecCsV|\}}}}}}|jrtd|||||||||||dSr)rtrryr|rrr)r"paramsrxrqrrdrrr r r setparamss    zWave_write.setparamscCs8|jr |jr |js tdt|j|j|j|j|j|jS)Nznot all parameters set)rCrFrHrrr rKrNr4r r r rPs  zWave_write.getparamscCrS)Nzsetmark() not supportedrU)r"rWrZnamer r r setmarkrYzWave_write.setmarkcCrSrTrUrVr r r rXrYzWave_write.getmarkcCrQr2r r4r r r rRr9zWave_write.getmarkerscCr=r2rr4r r r rBr?zWave_write.tellcCst|ttfst|d}|t|t||j|j}|j r'| |}|jdkr8t j dkr8t ||j}|j||jt|7_|j||_dS)NBr r])r*bytes bytearray memoryviewcast_ensure_header_writtenrcrFrCrr_r`rarbrwritertrs)r"rerdr r r writeframesraws  zWave_write.writeframesrawcCs&|||j|jkr|dSdSr2)rrurt _patchheader)r"rer r r writeframess   zWave_write.writeframescCszz+|jr|d|j|jkr||jWd|_|j}|r*d|_|dSdSd|_|j}|rs& I 6d