grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|jTFã@sŽ ddlmZddlmZddlZddlZddlZddlZgd¢ZGdd„de ƒZ dZ dZ ed d ƒZ Gd d „d ƒZGd d„dƒZddd„ZdS)é)ÚChunk)Ú namedtupleN)ÚopenÚErrorÚ Wave_readÚ Wave_writec@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú+/opt/alt/python310/lib64/python3.10/wave.pyrTsré)NÚbÚhNÚiÚ _wave_paramsz7nchannels sampwidth framerate nframes comptype compnamec@s¶eZdZ dd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+S),rcCsød|_d|_t|dd�|_|j ¡dkrtdƒ‚|j d¡dkr$tdƒ‚d|_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 bigendianóRIFFz file does not start with RIFF idéóWAVEznot a WAVE filer ófmt ó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.initfpcCóJd|_t|tƒrt |d¡}||_z| |¡WdS|jr$| ¡‚)NÚrb©Ú_i_opened_the_fileÚ isinstanceÚstrÚbuiltinsrr%Úclose©r"Úfr r r Ú__init__œs  zWave_read.__init__cCó | ¡dS©N©r-©r"r r r Ú__del__©ó zWave_read.__del__cCó|Sr2r r4r r r Ú __enter__¬ózWave_read.__enter__cGr1r2r3©r"Úargsr r r Ú__exit__¯r6zWave_read.__exit__cCó|jSr2)rr4r r r ÚgetfpµózWave_read.getfpcCsd|_d|_dS)Nr r)rrr4r r r Úrewind¸s zWave_read.rewindcCs&d|_|j}|rd|_| ¡dSdSr2)rr)r-©r"r#r r r r-¼s  þzWave_read.closecCr=r2)rr4r r r ÚtellÃr?zWave_read.tellcCr=r2)Ú _nchannelsr4r r r Ú getnchannelsÆr?zWave_read.getnchannelscCr=r2)r r4r r r Ú getnframesÉr?zWave_read.getnframescCr=r2)Ú _sampwidthr4r r r Ú getsampwidthÌr?zWave_read.getsampwidthcCr=r2)Ú _framerater4r r r Ú getframerateÏr?zWave_read.getframeratecCr=r2©Ú _comptyper4r r r Ú getcomptypeÒr?zWave_read.getcomptypecCr=r2©Ú _compnamer4r r r Ú getcompnameÕr?zWave_read.getcompnamecCs*t| ¡| ¡| ¡| ¡| ¡| ¡ƒSr2)rrDrGrIrErLrOr4r r r Ú getparamsØs  þzWave_read.getparamscCódSr2r r4r r r Ú getmarkersÝr9zWave_read.getmarkerscCótdƒ‚©Nzno marks©r©r"Úidr r r ÚgetmarkàózWave_read.getmarkcCs*|dks ||jkr tdƒ‚||_d|_dS)Nrzposition not in ranger )r rrr)r"Úposr r r Úsetposãs zWave_read.setposcCs¬|jr|j dd¡|j|j}|r|j |d¡d|_|dkr"dS|j ||j¡}|jdkrr@r-rBrDrErGrIrLrOrPrRrXr[rfrr r r r r^s.  rc@sîeZdZ dd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9S):rcCr&)NÚwbr(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)Nú0cannot 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 rDXózWave_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ƒ‚|dkrtdƒ‚tt|ƒƒ|_dS)Nrwrzbad frame rate)rtrÚintÚroundrH)r"Ú framerater r r Ú setframerateis zWave_write.setframeratecCrz)Nzframe rate not set)rHrr4r r r rIpr{zWave_write.getframeratecCs|jrtdƒ‚||_dS©Nrw)rtrr )r"rdr r r Ú setnframesus zWave_write.setnframescCr=r2©rsr4r r r rEzr?zWave_write.getnframescCs.|jrtdƒ‚|dvrtdƒ‚||_||_dS)Nrw)rmzunsupported compression type)rtrrKrN)r"ÚcomptypeÚcompnamer r r Ú setcomptype}s  zWave_write.setcomptypecCr=r2rJr4r r r rL…r?zWave_write.getcomptypecCr=r2rMr4r r r rOˆr?zWave_write.getcompnamecCsV|\}}}}}}|jrtdƒ‚| |¡| |¡| |¡| |¡| ||¡dSr�)rtrryr|r€r‚r†)r"Úparamsrxrqrrdr„r…r r r Ú setparams‹s    zWave_write.setparamscCs8|jr |jr |js tdƒ‚t|j|j|j|j|j|jƒS)Nznot all parameters set)rCrFrHrrr rKrNr4r r r rP•s  ÿzWave_write.getparamscCrS)Nzsetmark() not supportedrU)r"rWrZÚnamer r r Úsetmark›rYzWave_write.setmarkcCrSrTrUrVr r r rXžrYzWave_write.getmarkcCrQr2r r4r r r rR¡r9zWave_write.getmarkerscCr=r2rƒr4r r r rB¤r?zWave_write.tellcCsžt|ttfƒst|ƒ d¡}| t|ƒ¡t|ƒ|j|j}|j r'|  |¡}|jdkr8t j dkr8t   ||j¡}|j |¡|jt|ƒ7_|j||_dS)NÚBr r])r*ÚbytesÚ bytearrayÚ memoryviewÚcastÚ_ensure_header_writtenrcrFrCrr_r`rarbrÚwritertrs)r"rerdr r r Úwriteframesraw§s  zWave_write.writeframesrawcCs&| |¡|j|jkr| ¡dSdSr2)r’rurtÚ _patchheader)r"rer r r Ú writeframes´s   ÿzWave_write.writeframescCszz+|jr| d¡|j|jkr| ¡|j ¡Wd|_|j}|r*d|_| ¡dSdSd|_|j}|rs& I ÿ6d