
    rp0j                     T    S r SSKJr  SSKJrJr  SSKJrJr  SSKJ	r	   " S S5      r
g	)
z\SubMaker module is used to generate subtitles from WordBoundary and SentenceBoundary events.    )	timedelta)ListOptional   )Subtitlecompose)TTSChunkc                   P    \ rS rSrSrSS jrS\SS4S jrS\4S jr	S\4S	 jr
S
rg)SubMaker
   zY
SubMaker is used to generate subtitles from WordBoundary and SentenceBoundary messages.
returnNc                      / U l         S U l        g Ncuestypeselfs    K/home/wildlama/miniconda3/lib/python3.13/site-packages/edge_tts/submaker.py__init__SubMaker.__init__   s    $&	#'	    msgc                 |   US   S;  a  [        S5      eU R                  c  US   U l        O2U R                  US   :w  a  [        SU R                   SUS    S35      eU R                  R                  [	        [        U R                  5      S-   [        US	   S
-  S9[        US	   US   -   S
-  S9US   S95        g)z
Feed a WordBoundary or SentenceBoundary message to the SubMaker object.

Args:
    msg (dict): The WordBoundary or SentenceBoundary message.

Returns:
    None
r   )WordBoundarySentenceBoundaryzDInvalid message type, expected 'WordBoundary' or 'SentenceBoundary'.NzExpected message type 'z', but got 'z'.r   offsetr   )microsecondsdurationtext)indexstartendcontent)
ValueErrorr   r   appendr   lenr   )r   r   s     r   feedSubMaker.feed   s     v;BBV  99FDIYY#f+%)$))LVRP  			$))nq(S]R-?@CMC
O,Kr+QRF		
r   c                 ,    [        U R                  5      $ )zk
Get the SRT formatted subtitles from the SubMaker object.

Returns:
    str: The SRT formatted subtitles.
)r   r   r   s    r   get_srtSubMaker.get_srt2   s     tyy!!r   c                 "    U R                  5       $ r   )r+   r   s    r   __str__SubMaker.__str__;   s    ||~r   r   )r   N)__name__
__module____qualname____firstlineno____doc__r   r	   r(   strr+   r.   __static_attributes__ r   r   r   r   
   s7    (
 
T 
>" " r   r   N)r4   datetimer   typingr   r   srt_composerr   r   r	   r   r7   r   r   <module>r;      s    b  ! + 2 2r   