łň
\Kc           @   s   d  Z  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)t   errort   AudioDevc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s   /usr/lib/python2.5/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.5/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.5/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.5/audiodev.pyt   __del__6   s    

c         C   sW   |  i  p d  Sn 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.5/audiodev.pyt   wait>   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.5/audiodev.pyR&   F   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.5/audiodev.pyt
   setoutrateO   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   widthR0   R1   R   (    (    s   /usr/lib/python2.5/audiodev.pyt   setsampwidthX   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	   nchannelsR0   R1   (    (    s   /usr/lib/python2.5/audiodev.pyt   setnchannelsg   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.5/audiodev.pyt   writeframesp   s    

c         C   s#   |  i  o |  i  i   Sn d Sd  S(   Ni    (   R$   R+   (   R   (    (    s   /usr/lib/python2.5/audiodev.pyR+   }   s    
c         C   s,   |  i  o |  i  i   Sn |  i i   Sd  S(   N(   R$   t   getfillableR   t   getqueuesize(   R   (    (    s   /usr/lib/python2.5/audiodev.pyRA      s    
c         C   s   d d  k  } | i | d  S(   Ni˙˙˙˙i   (   t   audioopR4   (   R   R?   RC   (    (    s   /usr/lib/python2.5/audiodev.pyR4      s    N(   R   R   R   R"   R   R   R   R   R%   R)   R-   R&   R2   R6   R9   R@   R+   RA   R4   (    (    (    s   /usr/lib/python2.5/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	   sampwidthR8   R   R    R!   R"   R#   R$   (   R   (    (    s   /usr/lib/python2.5/audiodev.pyR%      s    								c         C   s   |  i    d  S(   N(   R&   (   R   (    (    s   /usr/lib/python2.5/audiodev.pyR)      s    c         C   s   | |  _  d |  _ d  S(   Ni   (   RE   R   (   R   R/   (    (    s   /usr/lib/python2.5/audiodev.pyR2   ˘   s    	c         C   s   | |  _  d |  _ d  S(   Ni   (   RF   R    (   R   R5   (    (    s   /usr/lib/python2.5/audiodev.pyR6   Ś   s    	c         C   s   | |  _  d |  _ d  S(   Ni   (   R8   R!   (   R   R8   (    (    s   /usr/lib/python2.5/audiodev.pyR9   Ş   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   getinfoRE   t   o_sample_rateR8   t
   o_channelsRF   t   o_precisiont   ENCODING_ULAWt
   o_encodingt   ENCODING_LINEARt   setinfoR#   t   write(   R   R?   RG   RH   t   info(    (    s   /usr/lib/python2.5/audiodev.pyR@   Ž   s"    
	
c         C   s-   |  i  p d  Sn |  i  i   |  i   d  S(   N(   R$   t   drainR&   (   R   (    (    s   /usr/lib/python2.5/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.5/audiodev.pyR&   É   s    
c         C   s#   |  i  o |  i  i   Sn d Sd  S(   Ni    (   R$   t	   obufcount(   R   (    (    s   /usr/lib/python2.5/audiodev.pyR+   Ď   s    
(   R   R   R%   R)   R2   R6   R9   R@   R-   R&   R+   (    (    (    s   /usr/lib/python2.5/audiodev.pyRD      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   ImportErrorRG   RD   t	   Audio_macR    t   Play_Audio_macR   (   R   RG   RY   (    (    s   /usr/lib/python2.5/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   aifcRI   R=   R   R2   t   getframerateR6   t   getsampwidthR9   t   getnchannelst
   readframest   lenR@   R-   (   t   fnR\   R^   t   aft   pt   BUFSIZR?   (    (    s   /usr/lib/python2.5/audiodev.pyt   testë   s&    	  t   __main__N(    (    (
   t   __doc__t   __all__t	   ExceptionR    R   RD   R   R"   Rh   R   (    (    (    s   /usr/lib/python2.5/audiodev.pys   <module>   s   I	