
    
3jj                     t    S SK r S SKJr  SSKJr   " S S\5      r " S S5      r\" SS	9 " S
 S5      5       rg)    N)Enum   )
comfy_nodec                       \ rS rSrSrSrSrg)Modality   VIDEOAUDIO N)__name__
__module____qualname____firstlineno__r	   r
   __static_attributes__r       P/home/wildlama/comfy/ComfyUI/custom_nodes/ComfyUI-LTXVideo/guiders/parameters.pyr   r      s    EEr   r   c                       \ rS rSr         SS\S\S\S\S\S\S\S	\S
\4S jjrS rS r	S r
S rS rS rS\S\4S jrS\S\4S jrSrg)GuiderParameters   	cfg_scale	stg_scaleperturb_attnrescale_scalemodality_scale	skip_step
cross_attncfg_zero_starzero_init_sigmac
                 p    Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        g N)	r   r   r   r   r   r   r   r   r   )
selfr   r   r   r   r   r   r   r   r   s
             r   __init__GuiderParameters.__init__   s6     #"(*,"$*.r   c                 n    SU R                    SU R                   SU R                   SU R                   3$ Nzcfg_scale: z, stg_scale: z, rescale_scale: z, modality_scale: r   r   r   r   r!   s    r   __str__GuiderParameters.__str__#   W    T^^,M$..9IIZ[_[m[mZn  oA  BF  BU  BU  AV  W  	Wr   c                 n    SU R                    SU R                   SU R                   SU R                   3$ r%   r&   r'   s    r   __repr__GuiderParameters.__repr__&   r*   r   c                 *   UU R                   S-
  X-
  -  -   U R                  X-
  -  -   U R                  S-
  X-
  -  -   nU R                  S:w  aD  UR	                  5       UR	                  5       -  nU R                  U-  SU R                  -
  -   nXV-  nU$ )N   r   )r   r   r   r   std)r!   noise_pred_posnoise_pred_negnoise_pred_pertubednoise_pred_modality
noise_predfactors          r   	calculateGuiderParameters.calculate)   s     ~~!n&EFGnn DEF ""Q&>+OPQ 	 "#'')JNN,<<F''&0A8J8J4JKF#,Jr   c                 N    [         R                  " U R                  S5      (       + $ N      ?)mathiscloser   r'   s    r   	do_uncondGuiderParameters.do_uncond:       <<444r   c                 N    [         R                  " U R                  S5      (       + $ )N        )r<   r=   r   r'   s    r   do_perturbedGuiderParameters.do_perturbed=   r@   r   c                 N    [         R                  " U R                  S5      (       + $ r:   )r<   r=   r   r'   s    r   do_modalityGuiderParameters.do_modality@   s    << 3 3S999r   stepreturnc                 L    U R                   S:X  a  gXR                   S-   -  S:g  $ )Nr   Fr/   )r   r!   rH   s     r   do_skipGuiderParameters.do_skipC   s(    >>Q~~)*a//r   c                 T    U R                   =(       a    U R                  U5      (       + $ r    )r   rL   rK   s     r   do_cross_attnGuiderParameters.do_cross_attnI   s    9t||D'9#99r   )	r   r   r   r   r   r   r   r   r   N)	r;   rB   TrB   r;   r   TFr;   )r   r   r   r   floatboolintr"   r(   r,   r7   r>   rC   rF   rL   rO   r   r   r   r   r   r      s     !" ##!$// / 	/
 / / / / / /,WW"55:0C 0D 0:# :$ :r   r   )namec                   <    \ rS rSr\S 5       rSrSrSr S	S jr	Sr
g)
GuiderParametersNodeM   c                     [          Vs/ s H  oR                  PM     snS[         R                  R                  04SSSSSSS.4SSSSSS	.4S
SS04SSSSSS	.4SSSSSS	.4SSSSSS	.4S
SS04S.SSSS 040S.$ s  snf )NdefaultFLOATr;   rB   g      Y@g?g{Gz?)rY   minmaxrH   round)rY   r[   r\   rH   BOOLEANTgffffff?INTr   d   r/   )modalitycfgstgr   rescaler   r   r   
parametersGUIDER_PARAMETERS)requiredoptional)r   valuer	   )sms     r   INPUT_TYPES GuiderParametersNode.INPUT_TYPESO   s    
 '//hWWh/!8>>#7#7 #&"$ #!%	  #CtL
 %!
  #CtL
  #CtL#
  !!CC
 %K)V '%W1
 1	
 0s   A;)rf   get_parameterszlightricks/LTXVNc
                     U	b  U	R                  5       O0 n	X;   a  [        SU S35      eU	R                  U[        UUUUUUU5      05        U	4$ )Nz	Modality z already exists in parameters)copy
ValueErrorupdater   )
r!   ra   rb   rc   r   rd   r   r   r   re   s
             r   rn   #GuiderParametersNode.get_parameters   so     +5*@Z__&b
!y
2OPQQ* "
	
 }r   r   r    )r   r   r   r   classmethodrl   RETURN_TYPESFUNCTIONCATEGORYrn   r   r   r   r   rV   rV   M   s0    2
 2
h *LH H r   rV   )r<   enumr   nodes_registryr   r   r   rV   r   r   r   <module>rz      sG      't 
>: >:B #$Z Z %Zr   