ó
86ic           @   sŖ   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d e f d     YZ d a	 d a
 d a d   Z d   Z d   Z e e d  Z d	   Z e a d
   Z d S(   i’’’’Nt   TTSRootc           B   s   e  Z d  Z RS(   sØ   
    An exception that can be used to cause the TTS system to read the text
    of the root displayable, rather than text of the currently focused
    displayable.
    (   t   __name__t
   __module__t   __doc__(    (    (    s`   Z:\home\souce\.local\share\Steam\steamapps\common\Doki Doki Literature Club\renpy\display\tts.pyR       s   t    c           C   s.   t  d  k	 r* t  j   d  k	 r* d  a  q* n  d  S(   N(   t   processt   Nonet   poll(    (    (    s`   Z:\home\souce\.local\share\Steam\steamapps\common\Doki Doki Literature Club\renpy\display\tts.pyt   periodic.   s    c         C   s1  t  d k	 r1 y t  j   t  j   Wq1 q1 Xn  d a  |  j   }  |  sM d St j j j d k r y# t	 j
 j t	 j |  j d   Wn n Xd St j j j d k r¹ t j j   d St j j } t j r.t j j d k rž t j d | |   g  a  q-t j d d | t j j  | |   g  a  n’ t j rt j j d k rgt j d | |   g  a  q-t j d d | t j j  | |   g  a  n t j r-t j j d k r»d } n t j j } t j j t j j t j  d	  } |  j d
 d  }  t j d | |  | |   | |  g  a  n  d S(   sM   
    Default function which speaks messages using an os-specific method.
    Nt	   clipboards   utf-8t   debugt   espeaks   -vt   says   default voices   say.vbst   "R   t   wscript(   R   R   t	   terminatet   waitt   stript   renpyt   gamet   preferencest   self_voicingt   pygamet   scrapt   putt
   SCRAP_TEXTt   encodet   exportst   restart_interactiont   fsencodet   linuxt   configt	   tts_voicet
   subprocesst   Popent	   macintosht   windowst   ost   patht   joint   dirnamet   syst
   executablet   replace(   t   sR   t   voicet   say_vbs(    (    s`   Z:\home\souce\.local\share\Steam\steamapps\common\Doki Doki Literature Club\renpy\display\tts.pyt   default_tts_function6   sF    
#	0	0		$c         C   s(   y t  j j |   Wn n Xg  a d S(   sB   
    Speaks the queued messages using the specified function.
    N(   R   R   t   tts_functiont   queue(   R,   (    (    s`   Z:\home\souce\.local\share\Steam\steamapps\common\Doki Doki Literature Club\renpy\display\tts.pyt   ttss   s
    c         C   sD   | r t  j j j r d S| r6 t  j j |   }  n  t |   d S(   sL   
    This is called by the system to queue the speaking of message `s`.
    N(   R   R   R   R   t   translationt   translate_stringR2   (   R,   t	   translatet   force(    (    s`   Z:\home\souce\.local\share\Steam\steamapps\common\Doki Doki Literature Club\renpy\display\tts.pyt   speak   s
    c         C   s
   |  a  d  S(   N(   t   root(   t   d(    (    s`   Z:\home\souce\.local\share\Steam\steamapps\common\Doki Doki Literature Club\renpy\display\tts.pyt   set_root   s    c         C   sM  t  j j j } | sJ t r@ | a t t  j j d  d t n  d a	 d Sd } t s | a | d k r} t  j j d  } q t  j j d  } n  x4 t  j
 j D]& } | r t  j j j |  r d Sq W|  d k rŽ t }  n  xE t r%y |  j   } PWqį t k
 r!|  t k rd St }  qį Xqį W| t	 k rI| a	 t | |  n  d S(   sH   
    Causes the TTS system to read the text of the displayable `d`.
    s   Self-voicing disabled.R6   R   NR	   s   Clipboard voicing enabled. s   Self-voicing enabled. (   R   R   R   R   t   old_self_voicingR7   R3   R4   t   Truet   lastR   t   tts_voice_channelst   audiot   musict   get_playingR   R8   t   _tts_allR    R2   (   R9   R   t   prefixt   iR,   (    (    s`   Z:\home\souce\.local\share\Steam\steamapps\common\Doki Doki Literature Club\renpy\display\tts.pyt   displayable   s:    		(   R)   R%   t   renpy.audioR   R!   R   t	   ExceptionR    R   R8   R=   R   R   R/   R2   R<   t   FalseR7   R:   R;   RE   (    (    (    s`   Z:\home\souce\.local\share\Steam\steamapps\common\Doki Doki Literature Club\renpy\display\tts.pyt   <module>   s   		=		