Ńň
mČKc           @   s˘   d  Z  d d k l Z e d d d [ d d g Z d e f d     YZ d	 d d
     YZ d d d     YZ d   Z d d  Z
 e d j o e
   n d S(   sG   Classes for manipulating audio devices (currently only for Sun and SGI)i˙˙˙˙(   t   warnpy3ks2   the audiodev module has been removed in Python 3.0t
   stackleveli   t   errort   AudioDevc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s   /usr/lib/python2.6/audiodev.pyR      s   t   Play_Audio_sgic           B   s   e  Z d  Z d Z Z Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z RS(   i    c      	   C   sĐ   d d  k  } d | i f d | i f d | i f d | i f d | i f d | i f d | i f g |  _ d	 | i	 f d
 | i
 f d | i f g |  _ d	 | i f d
 | i f d | i f g |  _ d	 |  _ d  S(   Ni˙˙˙˙iť  iDŹ  i }  i"V  i>  i+  i@  i   i   i   i   (   t   ALt
   RATE_48000t
   RATE_44100t
   RATE_32000t
   RATE_22050t
   RATE_16000t
   RATE_11025t	   RATE_8000t   frameratelistt   MONOt   STEREOt   QUADROt   nchannelslistt   SAMPLE_8t	   SAMPLE_16t	   SAMPLE_24t   sampwidthlistt   classinited(   t   selfR   (    (    s   /usr/lib/python2.6/audiodev.pyt	   initclass   s    c         C   s   d d  k  } d d  k } |  i p |  i   n g  |  _ | i d g |  _ | i   |  _ d |  _	 d |  _
 d |  _ d  |  _ d  |  _ d  S(   Ni˙˙˙˙i    (   t   alR   R   R   t	   oldparamst   OUTPUT_RATEt   paramst	   newconfigt   configt   inited_outratet   inited_widtht   inited_nchannelst   Nonet	   convertert   port(   R   R   R   (    (    s   /usr/lib/python2.6/audiodev.pyt   __init__+   s    
						c         C   sa   |  i  o |  i   n |  i o; d d  k } d d  k } | i | i |  i  g  |  _ n d  S(   Ni˙˙˙˙(   R&   t   stopR   R   R   t	   setparamst   DEFAULT_DEVICE(   R   R   R   (    (    s   /usr/lib/python2.6/audiodev.pyt   __del__9   s    

c         C   sT   |  i  p d  Sd d  k } x( |  i  i   d j o | i d  q W|  i   d  S(   Ni˙˙˙˙i    gš?(   R&   t   timet	   getfilledt   sleepR(   (   R   R,   (    (    s   /usr/lib/python2.6/audiodev.pyt   waitA   s    
 c         C   sm   |  i  o |  i  i   d  |  _  n |  i o; d d  k } d d  k } | i | i |  i  g  |  _ n d  S(   Ni˙˙˙˙(   R&   t	   closeportR$   R   R   R   R)   R*   (   R   R   R   (    (    s   /usr/lib/python2.6/audiodev.pyR(   I   s    

c         C   sO   xH |  i  D]4 \ } } | | j o | |  i d <d |  _ Pq
 q
 Wt d  d  S(   Ni   s   bad output rate(   R   R   R!   R   (   R   t   ratet   rawt   cooked(    (    s   /usr/lib/python2.6/audiodev.pyt
   setoutrateR   s    
 		c         C   s   x |  i  D]7 \ } } | | j o |  i i |  d |  _ Pq
 q
 W| d j o8 d d  k } d |  _ |  i i | i  |  i |  _ n
 t d  d  S(   Ni   i    i˙˙˙˙s   bad sample width(	   R   R    t   setwidthR"   R   R   t   ulaw2linR%   R   (   R   t   widthR2   R3   R   (    (    s   /usr/lib/python2.6/audiodev.pyt   setsampwidth[   s    
 			c         C   sR   xK |  i  D]7 \ } } | | j o |  i i |  d |  _ Pq
 q
 Wt d  d  S(   Ni   s   bad # of channels(   R   R    t   setchannelsR#   R   (   R   t	   nchannelsR2   R3   (    (    s   /usr/lib/python2.6/audiodev.pyt   setnchannelsj   s    
 		c         C   sĚ   |  i  o |  i p t d  n |  i pp d d  k } d d  k } | i d d |  i  |  _ |  i |  _	 | i
 | i |  i	  | i | i |  i  n |  i o |  i |  } n |  i i |  d  S(   Ns   params not specifiedi˙˙˙˙t   Pythont   w(   R!   R#   R   R&   R   R   t   openportR    R   R   t	   getparamsR*   R)   R%   t
   writesamps(   R   t   dataR   R   (    (    s   /usr/lib/python2.6/audiodev.pyt   writeframess   s    

c         C   s    |  i  o |  i  i   Sd Sd  S(   Ni    (   R&   R-   (   R   (    (    s   /usr/lib/python2.6/audiodev.pyR-      s    
c         C   s)   |  i  o |  i  i   S|  i i   Sd  S(   N(   R&   t   getfillableR    t   getqueuesize(   R   (    (    s   /usr/lib/python2.6/audiodev.pyRC      s    
c         C   s   d d  k  } | i | d  S(   Ni˙˙˙˙i   (   t   audioopR6   (   R   RA   RE   (    (    s   /usr/lib/python2.6/audiodev.pyR6      s    N(   R   R   R   R$   R   R   R   R   R'   R+   R/   R(   R4   R8   R;   RB   R-   RC   R6   (    (    (    s   /usr/lib/python2.6/audiodev.pyR      s   															t   Play_Audio_sunc           B   sY   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   c         C   sL   d |  _  d |  _ d |  _ d |  _ d |  _ d |  _ d  |  _ d  |  _ d  S(   Ni    (	   t   outratet	   sampwidthR:   R!   R"   R#   R$   R%   R&   (   R   (    (    s   /usr/lib/python2.6/audiodev.pyR'      s    								c         C   s   |  i    d  S(   N(   R(   (   R   (    (    s   /usr/lib/python2.6/audiodev.pyR+   ˘   s    c         C   s   | |  _  d |  _ d  S(   Ni   (   RG   R!   (   R   R1   (    (    s   /usr/lib/python2.6/audiodev.pyR4   Ľ   s    	c         C   s   | |  _  d |  _ d  S(   Ni   (   RH   R"   (   R   R7   (    (    s   /usr/lib/python2.6/audiodev.pyR8   Š   s    	c         C   s   | |  _  d |  _ d  S(   Ni   (   R:   R#   (   R   R:   (    (    s   /usr/lib/python2.6/audiodev.pyR;   ­   s    	c         C   s  |  i  o |  i o |  i p t d  n |  i pŞ d d  k } d d  k } | i d  |  _ |  i i   } |  i	 | _
 |  i | _ |  i d j o d | _ | i |  _ qß d |  i | _ | i | _ |  i i |  n |  i o |  i |  } n |  i i |  d  S(   Ns   params not specifiedi˙˙˙˙R=   i    i   (   R!   R"   R#   R   R&   t   sunaudiodevt   SUNAUDIODEVt   opent   getinfoRG   t   o_sample_rateR:   t
   o_channelsRH   t   o_precisiont   ENCODING_ULAWt
   o_encodingt   ENCODING_LINEARt   setinfoR%   t   write(   R   RA   RI   RJ   t   info(    (    s   /usr/lib/python2.6/audiodev.pyRB   ą   s"    
	
c         C   s*   |  i  p d  S|  i  i   |  i   d  S(   N(   R&   t   drainR(   (   R   (    (    s   /usr/lib/python2.6/audiodev.pyR/   Ć   s    
c         C   s5   |  i  o' |  i  i   |  i  i   d  |  _  n d  S(   N(   R&   t   flusht   closeR$   (   R   (    (    s   /usr/lib/python2.6/audiodev.pyR(   Ě   s    
c         C   s    |  i  o |  i  i   Sd Sd  S(   Ni    (   R&   t	   obufcount(   R   (    (    s   /usr/lib/python2.6/audiodev.pyR-   Ň   s    
(   R   R   R'   R+   R4   R8   R;   RB   R/   R(   R-   (    (    (    s   /usr/lib/python2.6/audiodev.pyRF      s   								c          C   s   y d d  k  }  Wny t j
 om y d d  k } t   SWq t j
 o@ y d d  k } Wn t j
 o t d  q X| i   Sq Xn	 Xt   Sd  S(   Ni˙˙˙˙s   no audio device(   R   t   ImportErrorRI   RF   t	   Audio_macR   t   Play_Audio_macR   (   R   RI   R[   (    (    s   /usr/lib/python2.6/audiodev.pyR   Ü   s    c         C   s  d d  k  } | i d o | i d }  n d }  d d  k } | i |  d  } |  G| i   GHt   } | i | i    | i | i	    | i
 | i    | i   | i	   | i   } x6 | i |  } | p Pn t |  GH| i |  qĂ | i   d  S(   Ni˙˙˙˙i   s   f:just samples:just.aift   r(   t   syst   argvt   aifcRK   R?   R   R4   t   getframerateR8   t   getsampwidthR;   t   getnchannelst
   readframest   lenRB   R/   (   t   fnR^   R`   t   aft   pt   BUFSIZRA   (    (    s   /usr/lib/python2.6/audiodev.pyt   testî   s&    	  t   __main__N(    (    (   t   __doc__t   warningsR    t   __all__t	   ExceptionR   R   RF   R   R$   Rj   R   (    (    (    s   /usr/lib/python2.6/audiodev.pyt   <module>   s   I	