§
    †^èhKx  ã                   óÜ  — d dl Z d dlmZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZdZd dlmZ  ej        ¦   «         Zdad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"d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/dZ0dZ1d Z2d!Z3d"Z4d#Z5d$Z6d%Z7d&Z8 G d'„ d(ej9        ¦  «        Z: e¦   «         Z;dZ<da=d)„ Z>d*„ Z?d+„ Z@d,„ ZAd-„ ZBd.„ ZCd/„ ZDd0„ ZEd1„ ZFd2„ ZGd3„ ZHd4„ ZId5„ ZJd6„ ZKd7„ ZLd8„ ZMd9„ ZNd:„ ZOd;„ ZPd<„ ZQd=„ ZRd>„ ZSd?„ ZTd@„ ZUdA„ ZVdB„ ZWdC„ ZXdD„ ZYdE„ ZZdF„ Z[dG„ Z\dH„ Z]dI„ Z^dJ„ Z_dK„ Z`dL„ ZadM„ ZbdN„ ZcdO„ ZddP„ ZedQ„ ZfdR„ Zg	  eh¦   «         ZidS„ ZjdT„ ZkdU„ ZldV„ ZmdandW„ ZodapdX„ ZqdYZr e js        er¦  «        Z dS )Zé    N)ÚQueueF)ÚIS_REMOTE_TESTzatom:AtomPortzingen:maxRunLoadzingen:meanRunLoadzingen:minRunLoadz	ingen:Arczingen:Blockzingen:canvasXzingen:canvasYzingen:enabledz
ingen:filez
ingen:headz
ingen:tailzingen:valuezlv2:AudioPortzlv2:InputPortzlv2:OutputPortzlv2:prototypezmidi:bindingzmidi:controllerNumberú	patch:Putzpatch:Patchzpatch:Deletez	patch:Setú
patch:bodyzpatch:propertyúpatch:subjectzpatch:valuez2http://polyeffects.com/ns/core#assigned_footswitchz0http://polyeffects.com/ns/core#looper_footswitchú(http://polyeffects.com/ns/core#spotlightz,http://polyeffects.com/ns/core#physical_portzrdf:typezrdfs:commentú'http://polyeffects.com/lv2/polyconvo#irc                   ó   — e Zd Zd„ Zd„ ZdS )ÚExceptionThreadc                 ó:   — t          j        j        | g|¢R i |¤Ž d S ©N)Ú	threadingÚThreadÚ__init__)ÚselfÚargsÚkwargss      ú /home/debian/UI/ingen_wrapper.pyr   zExceptionThread.__init__9   s,   € ÝÔÔ! $Ð8¨Ð8Ð8Ð8°Ð8Ð8Ð8Ð8Ð8ó    c                 ó´   — 	 | j         r | j         | j        i | j        ¤Ž d S d S # t          $ r) t	          j        t          j        ¦   «         ¦  «         Y d S w xY wr   )Ú_targetÚ_argsÚ_kwargsÚ	ExceptionÚloggingÚerrorÚ	tracebackÚ
format_exc)r   s    r   ÚrunzExceptionThread.run<   sy   € ð	2ØŒ|ð :Ø�”˜dœjÐ9¨D¬LÐ9Ð9Ð9Ð9Ð9ð:ð :øåð 	2ð 	2ð 	2ÝŒM�)Ô.Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1Ð1ð	2øøøs   ‚$ ¤/AÁAN)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   r   r   8   s2   € € € € € ð9ð 9ð 9ð2ð 2ð 2ð 2ð 2r   r   c                 ó^  — t          j        ¦   «         |z   dz
  }t          j        ¦   «         |k     rC	 |                      d¬¦  «        S # t          j        $ r Y nw xY wt          j        ¦   «         |k     °C|                      t          d|dz   t          j        ¦   «         z
  ¦  «        ¬¦  «        S )Né   )Útimeoutr   )ÚtimeÚ	monotonicÚgetÚqueueÚEmptyÚmax)Úqr&   Ústoploops      r   Úget_timed_interruptabler/   I   s­   € ÝŒ~ÑÔ 'Ñ)¨AÑ-€HÝ
Œ.Ñ
Ô
˜XÒ
%Ð
%ð	Ø—5’5 �5Ñ#Ô#Ð#øÝŒ{ð 	ð 	ð 	ØˆDð	øøøõ Œ.Ñ
Ô
˜XÒ
%Ð
%ð �5Š5�˜Q ¨1¡­t¬~Ñ/?Ô/?Ñ ?Ñ@Ô@ˆ5ÑAÔAÐAs   ²A ÁAÁAc                  ó  — 	 t           dk    r´t          5  t           dk    rŠt          j                             d¦  «        s3t          j        d¦  «         t          j                             d¦  «        ¯3t          j        d¦  «         t          d¦  «         t          j	        ¦   «          da d d d ¦  «         n# 1 swxY w Y   t          rd S 	 t          t          d¦  «        } | d         }| dd …         } ||Ž  n# t          j        $ r Y nw xY w�Œ)	NTFú/tmp/ingen.sockçš™™™™™¹?çš™™™™™É?z setting ingen remote server destr%   r   )Úingen_startedÚingen_started_lockÚosÚpathÚexistsr'   ÚsleepÚprintÚingenÚsocket_connectÚ_FINISHr/   r-   r*   r+   )ÚitemsÚfuncr   s      r   ÚDestinationThreadr@   S   sR  € ðÝ˜EÒ!Ð!Ý#ð )ð )Ý  EÒ)Ð)Ý œgŸnšnÐ->Ñ?Ô?ð (Ýœ
 3™œ˜õ !œgŸnšnÐ->Ñ?Ô?ð (å”J˜s‘O”O�OåÐ<Ñ=Ô=Ð=ÝÔ(Ñ*Ô*Ð*Ø$(�Mð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ ð 	ØˆFð	Ý+­A¨qÑ1Ô1ˆEØ˜”8ˆDØ˜˜˜”9ˆDàˆD�$ˆKˆKˆKøåŒ{ð 	ð 	ð 	ØˆDð	øøøñ+s$   ”BB6Â6B:Â=B:Ã,C8 Ã8D
Ä	D
c                 ó˜   — t                                t          j        | dt          |¦  «                             ¦   «         z   f¦  «         d S )Nzingen:enabled )r-   Úputr;   ÚstrÚlower)Ú	effect_idÚactives     r   Ú
set_bypassrG   m   s=   € õ
 ‡E‚E�5Œ9�iÐ!1µ3°v±;´;×3DÒ3DÑ3FÔ3FÑ!FÐ
GÑHÔHÐHÐHÐHr   c                 ó`   — t                                t          j        | dz   d|z  f¦  «         d S )Nú/controlzrdfs:comment """%s"""©r-   rB   r;   ©Úcurrent_sub_graphÚdescriptions     r   Úset_descriptionrN   t   s1   € õ ‡E‚E�5Œ9Ð'¨
Ñ2Ð4KÈkÑ4YÐ
ZÑ[Ô[Ð[Ð[Ð[r   c                 ó`   — t                                t          j        | dz   d|z  f¦  «         d S )NrI   zdoap:maintainer """%s"""rJ   rK   s     r   Ú
set_authorrP   z   s0   € Ý‡E‚E�5Œ9Ð'¨
Ñ2Ð4NÐQ\Ñ4\Ð
]Ñ^Ô^Ð^Ð^Ð^r   c                 ó`   — t                                t          j        | dz   d|z  f¦  «         d S )NrI   zdoap:category """%s"""rJ   rK   s     r   Úset_tagsrR   }   s/   € Ý‡E‚E�5Œ9Ð'¨
Ñ2Ð4LÈ{Ñ4ZÐ
[Ñ\Ô\Ð\Ð\Ð\r   c                 óZ   — t                                t          j        | d|z  f¦  «         d S )Nz=<http://polyeffects.com/ns/core#assigned_footswitch> """%s"""rJ   )rE   Úfoot_switchs     r   Úset_footswitch_controlrU   €   s*   € Ý‡E‚E�5Œ9�iÐ!`ÐcnÑ!nÐ
oÑpÔpÐpÐpÐpr   c                 ó`   — t                                t          j        | dz   d|z  f¦  «         d S )NrI   z;<http://polyeffects.com/ns/core#looper_footswitch> """%s"""rJ   )rL   rT   s     r   Úset_looper_footswitchrW   ƒ   sB   € Ý‡E‚E�5Œ9Ð'¨
Ñ2Ð4qÐtÑ4ð  Añ  Bô  Bð  Bð  Bð  Br   c                 óZ   — t                                t          j        | d|z  f¦  «         d S )Nz7<http://polyeffects.com/ns/core#physical_port> """%s"""rJ   )rE   Úports     r   Úset_physical_portrZ   †   s*   € Ý‡E‚E�5Œ9�iÐ!ZÐ]aÑ!aÐ
bÑcÔcÐcÐcÐcr   c                 óp   — t                                t          j        | dt	          |¦  «        f¦  «         d S )Nz"http://drobilla.net/ns/ingen#value)r-   rB   r;   ÚsetrC   ©rY   Úvalues     r   Úset_parameter_valuer_   ‰   s.   € õ ‡E‚E�5Œ9�dÐ@Å#ÀeÁ*Ä*Ð
MÑNÔNÐNÐNÐNr   c                 óR   — t                                t          j        | f¦  «         d S r   )r-   rB   r;   r)   )r7   s    r   Ú	get_statera   Ž   s#   € õ ‡E‚E�5Œ9�dÐ
ÑÔÐÐÐr   c           	      ób   — t                                t          j        | d|›d|›d�f¦  «         d S )Núingen:canvasX "z"^^xsd:float; ingen:canvasY "z"^^xsd:floatrJ   )rE   ÚxÚys      r   Úset_plugin_positionrf   “   s8   € Ý‡E‚E�5Œ9�i�iÐcdÐcdÐcdÐfgÐfgÐfgÐ!hÐ
iÑjÔjÐjÐjÐjr   c                 ó"  — t                                t          j        | dd                     t	          j        dd¦  «        dz   ¦  «        z   dz   d                     t	          j        dd¦  «        dz   ¦  «        z   dz   d	z   |z   d
z   f¦  «         d S )Nrc   z{:.1f}iìÿÿÿé2   i„  ú""^^xsd:float ;
    ingen:canvasY "é–   z5"^^xsd:float ;
    a ingen:Block ;
    lv2:prototype ú<ú>)r-   rB   r;   ÚformatÚrandomÚrandint)rE   Ú
effect_urls     r   Ú
add_pluginrq   –   s±   € õ ‡E‚E�5Œ9�iÐ!2°X·_²_ÅVÄ^ÐTWÐY[ÑE\ÔE\Ð_bÑEbÑ5cÔ5cÑ!cð gñ "Ø!Ÿš­¬¸¸RÑ)@Ô)@À3Ñ)FÑGÔGñ"HðKñ"ð ñ"ð )ñ")ð ,/ñ"/ð 0ñ 1ô 1ð 1ð 1ð 1r   c                 óT   — t                                t          j        | df¦  «         d S )NzIingen:enabled true ;
    ingen:polyphony "1"^^xsd:int ;
    a ingen:Graph)r-   rB   r;   Úput_internal©rE   s    r   Úadd_sub_graphru   ž   s5   € õ ‡E‚E�5Ô˜yð +ð ñ ô ð ð ð r   c                 óV   — t                                t          j        | ddf¦  «         d S )Nú%http://lv2plug.in/ns/ext/midi#bindingz)<http://lv2plug.in/ns/ext/patch#wildcard>©r-   rB   r;   r\   ©rY   s    r   Ú
midi_learnrz   ¦   s'   € Ý‡E‚E�5Œ9�dÐCÐEpÐ
qÑrÔrÐrÐrÐrr   c                 óŒ   — t          | ¦  «         |dz  |z  }t                               t          j        | dd|› d�f¦  «         d S )Né   rw   zF
        [
        a midi:Controller ;
        midi:controllerNumber "z"^^xsd:int
        ])Úmidi_forgetr-   rB   r;   r\   )rY   ÚchannelÚin_ccÚccs       r   Úmidi_set_ccr�   ©   si   € Ý�ÑÔÐØ	�A‰˜Ñ	€BÝ‡E‚E�5Œ9�dÐCð Fð !#ðFð Fð Fð ñ ô ð ð ð r   c                 óV   — t                                t          j        | ddf¦  «         d S )Nzmidi:binding patch:wildcardÚ )r-   rB   r;   Úpatchry   s    r   r}   r}   ³   s&   € Ý‡E‚E�5Œ;˜Ð;¸RÐ
@ÑAÔAÐAÐAÐAr   c                 ó^   — t                                t          j        | dd|› d�f¦  «         d S )Nr   z"""rx   r]   s     r   Úspotlight_setr†   ¶   s2   € Ý‡E‚E�5Œ9�dÐFÐHXÈeÐHXÐHXÐHXÐ
YÑZÔZÐZÐZÐZr   c                 óV   — t                                t          j        | ddf¦  «         d S )Nr   z"""0"""rx   ry   s    r   Úspotlight_removerˆ   ¹   s&   € Ý‡E‚E�5Œ9�dÐFÈ
Ð
SÑTÔTÐTÐTÐTr   c           	      ób   — t                                t          j        | d|›d|›d�f¦  «         d S )Nrc   ri   z4"^^xsd:float ;
    a lv2:InputPort ; a lv2:AudioPortrJ   ©Úport_idrd   re   s      r   Ú	add_inputrŒ   ¼   sA   € å‡E‚E�5Œ9�g�gà,-¨A¨A¨q¨q¨qð 2ð 3ñ 4ô 4ð 4ð 4ð 4r   c           	      ób   — t                                t          j        | d|›d|›d�f¦  «         d S )Nrc   ri   z5"^^xsd:float ;
    a lv2:OutputPort ; a lv2:AudioPortrJ   rŠ   s      r   Ú
add_outputrŽ   Â   sA   € Ý‡E‚E�5Œ9�g�gà-.¨Q¨Q°°°ð 3ð 4ñ 5ô 5ð 5ð 5ð 5r   c           	      ób   — t                                t          j        | d|›d|›d�f¦  «         d S ©Nrc   ri   zq"^^xsd:float ;
    atom:bufferType atom:Sequence ;
    lv2:name "MIDI In" ;
    a lv2:InputPort ; a atom:AtomPortrJ   rŠ   s      r   Úadd_midi_inputr‘   Ç   óC   € Ý‡E‚E�5Œ9�g�gð -.¨A¨A¨q¨q¨qð	 2ð 3ñ 4ô 4ð 4ð 4ð 4r   c           	      ób   — t                                t          j        | d|›d|›d�f¦  «         d S r�   rJ   rŠ   s      r   Úadd_midi_input2r”   Î   r’   r   c           	      ób   — t                                t          j        | d|›d|›d�f¦  «         d S ©Nrc   ri   zs"^^xsd:float ;
    atom:bufferType atom:Sequence ;
    lv2:name "MIDI Out" ;
    a lv2:OutputPort ; a atom:AtomPortrJ   rŠ   s      r   Úadd_midi_outputr—   Õ   óC   € Ý‡E‚E�5Œ9�g�gð ./¨Q¨Q°°°ð	 3ð 4ñ 5ô 5ð 5ð 5ð 5r   c           	      ób   — t                                t          j        | d|›d|›d�f¦  «         d S r–   rJ   rŠ   s      r   Úadd_midi_output2rš   Ü   r˜   r   c           	      ób   — t                                t          j        | d|›d|›d�f¦  «         d S )Nrc   ri   zz"^^xsd:float ;
    atom:bufferType atom:Sequence ;
    lv2:name "loop_extra_midi" ;
    a lv2:OutputPort ; a atom:AtomPortrJ   rŠ   s      r   Úadd_loop_extra_midirœ   é   sC   € å‡E‚E�5Œ9�g�gð ./¨Q¨Q°°°ð	 3ð 4ñ 5ô 5ð 5ð 5ð 5r   c           	      ób   — t                                t          j        | d|›d|›d�f¦  «         d S )Nrc   ri   zw"^^xsd:float ;
    atom:bufferType atom:Sequence ;
    lv2:name "loop_midi_out" ;
    a lv2:InputPort ; a atom:AtomPortrJ   rŠ   s      r   Úadd_loop_midi_outrž   ñ   sC   € å‡E‚E�5Œ9�g�gð -.¨A¨A¨q¨q¨qð	 2ð 3ñ 4ô 4ð 4ð 4ð 4r   c                 ó
  — | } t           j                             |¦  «        }d|z   dz   }t                               t
          j        | dz   d|f¦  «         t                               t
          j        | dd|z   dz   f¦  «         d S )Nz‘[
         a patch:Set ;
         patch:property <http://aidadsp.cc/plugins/aidadsp-bundle/rt-neural-generic#json>;
         patch:value <file://ú> ]z/CONTROLú%http://drobilla.net/ns/ingen#activityr	   rk   rl   )ÚurllibÚparseÚquoter-   rB   r;   r\   )rE   Ú	file_nameÚbodys      r   Úset_jsonr§   ù   sŒ   € Ø€IÝ”×"Ò" 9Ñ-Ô-€Ið!ð #,ñ,ð /4ñ4€Dõ ‡E‚E�5Œ9�i 
Ñ*Ð,SÐUYÐ
ZÑ[Ô[Ð[Ý‡E‚E�5Œ9�iÐ!JÈCÐPYÉMÐZ]ÑL]Ð
^Ñ_Ô_Ð_Ð_Ð_r   c                 óH  — | } t           j                             |¦  «        }|                     d¦  «        }||d …         }d|z   dz   }t                               t          j        | dz   d|f¦  «         t                               t          j        | dd|z   dz   f¦  «         d S )	Nz/audioz�[
         a patch:Set ;
         patch:property <http://github.com/mikeoliphant/neural-amp-modeler-lv2#model>;
         patch:value <file://r    rI   r¡   r	   rk   rl   )r¢   r£   r¤   Úfindr-   rB   r;   r\   )rE   r¥   Únr¦   s       r   Úset_json_namr«     sª   € Ø€IÝ”×"Ò" 9Ñ-Ô-€Ià�Š�xÑ Ô €AØ˜!˜"˜"”€Ið!ð #,ñ,ð /4ñ4€Dõ ‡E‚E�5Œ9�i 
Ñ*Ð,SÐUYÐ
ZÑ[Ô[Ð[Ý‡E‚E�5Œ9�iÐ!JÈCÐPYÉMÐZ]ÑL]Ð
^Ñ_Ô_Ð_Ð_Ð_r   c                 ó  — | } t           j                             |t          d¦  «        d …         ¦  «        }|dv rcd|z   dz   }t                               t          j        | dz   d|f¦  «         t                               t          j        | dd|z   d	z   f¦  «         d S d
|z   dz   }t                               t          j        | dz   d|f¦  «         t                               t          j        | dd|z   d	z   f¦  «         d S )Núfile://)Úquad_ir_reverbÚmono_cabÚstereo_reverbz†[
             a patch:Set ;
             patch:property <http://gareus.org/oss/lv2/zeroconvolv#ir>;
             patch:value <file://r    rI   r¡   r	   rk   rl   z…[
             a patch:Set ;
             patch:property <http://polyeffects.com/lv2/polyconvo#ir>;
             patch:value <file://)r¢   r£   r¤   Úlenr-   rB   r;   r\   )rE   r¥   Úis_cabÚeffect_typer¦   s        r   Úset_filer´     s  € Ø€IÝ”×"Ò" 9­S°©^¬^¨_¨_Ô#=Ñ>Ô>€IàÐEÐEÐEð%ð '0ñ0ð 38ñ8ˆõ 	
�Š�uŒy˜) JÑ.Ð0WÐY]Ð^Ñ_Ô_Ð_Ý	�Š�uŒy˜)Ð%NÐPSÐT]ÑP]Ð^aÑPaÐbÑcÔcÐcÐcÐcð%ð '0ñ0ð 38ñ8ˆõ 	
�Š�uŒy˜) JÑ.Ð0WÐY]Ð^Ñ_Ô_Ð_Ý	�Š�uŒy˜)Ð%NÐPSÐT]ÑP]Ð^aÑPaÐbÑcÔcÐcÐcÐcr   c                 ó˜   — t          | ¦  «                             ¦   «                              dd¦  «        } t          j        dd| ¦  «        S )aY  
    Return the given string converted to a string that can be used for a clean
    filename. Remove leading and trailing spaces; convert other spaces to
    underscores; and remove anything that is not an alphanumeric, dash,
    underscore, or dot.
    >>> get_valid_filename("john's portrait in 2004.jpg")
    'johns_portrait_in_2004.jpg'
    ú Ú_z(?u)[^-\w.]rƒ   )rC   ÚstripÚreplaceÚreÚsub)Úss    r   Úget_valid_filenamer½   &  s;   € õ 	ˆA‰Œ�Š‰Œ×Ò˜s CÑ(Ô(€AÝŒ6�. " aÑ(Ô(Ð(r   c                 ó´   — t          |¦  «        }t          |¦  «        dk    r5t                               t          j        |d| z   dz   |z   dz   f¦  «         d S d S )Nr   zfile:///mnt/presets/ú/z.ingen)r½   r±   r-   rB   r;   Úcopy)Ú
pedal_nameÚnamerL   Úclean_filenames       r   Úsave_pedalboardrÄ   2  sd   € Ý'¨Ñ-Ô-€NÝ
ˆ>ÑÔ˜QÒÐÝ	�Š�uŒzÐ,Ð.DÀZÑ.OÐPSÑ.SÐTbÑ.bÐckÑ.kÐlÑmÔmÐmÐmÐmð Ðr   c                 óT   — t                                t          j        | |f¦  «         d S r   )r-   rB   r;   rÀ   )rÂ   rL   s     r   Úload_pedalboardrÆ   8  s$   € å‡E‚E�5Œ:�tÐ.Ð
/Ñ0Ô0Ð0Ð0Ð0r   c                 ó^   — t                                t          j        | d|rdndf¦  «         d S )Nz&http://drobilla.net/ns/ingen#broadcastÚtrueÚfalserx   )rY   Úis_broadcasts     r   Úset_broadcastrË   =  s1   € å‡E‚E�5Œ9�dÐDÐP\ÐFiÀfÀfÐbiÐ
jÑkÔkÐkÐkÐkr   c                 óR   — t                                t          j        | f¦  «         d S r   )r-   rB   r;   Údeletert   s    r   Úremove_pluginrÎ   A  s#   € õ
 ‡E‚E�5Œ<˜Ð
#Ñ$Ô$Ð$Ð$Ð$r   c                 óT   — t                                t          j        | |f¦  «         d S r   )r-   rB   r;   Úconnect©Úsrc_portÚtarget_ports     r   Úconnect_portrÔ   H  s%   € õ ‡E‚E�5Œ=˜( KÐ
0Ñ1Ô1Ð1Ð1Ð1r   c                 óT   — t                                t          j        | |f¦  «         d S r   )r-   rB   r;   Ú
disconnectrÑ   s     r   Údisconnect_portr×   M  s$   € Ý‡E‚E�5Ô˜X {Ð
3Ñ4Ô4Ð4Ð4Ð4r   c                 óR   — t                                t          j        | f¦  «         d S r   )r-   rB   r;   Údisconnect_allrt   s    r   Údisconnect_pluginrÚ   P  s"   € å‡E‚E�5Ô Ð
+Ñ,Ô,Ð,Ð,Ð,r   c                  ó   — d S r   r#   r#   r   r   Úset_midi_ccrÜ   T  ó   € Ø€Dr   c                  ó   — d S r   r#   r#   r   r   Úset_bpmrß   W  rÝ   r   c                  ó   — d S r   r#   r#   r   r   Úget_parameter_valuerá   Z  rÝ   r   c                  ó®  — 	 t           dk    r´t          5  t           dk    rŠt          j                             d¦  «        s3t          j        d¦  «         t          j                             d¦  «        ¯3t          j        d¦  «         t          j        ¦   «          t          d¦  «         da d d d ¦  «         n# 1 swxY w Y   t          rdt          _
        d S t          j        ¦   «         } t          | ¦  «        dk    rÙi }	 t          dd	¦  «        5 }|                     | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        | ¦  «        }|                     ¦   «         D ]\  }}t%          |¦  «         Œn[# t&          $ rN}t          d
| ¦  «         t          |¦  «         t)          j        t-          j        ¦   «         ¦  «         Y d }~nd }~ww xY w�ŒÕ)NTFr1   r2   r3   z setting ingen remote server recvr   z/tmp/ingen.jsonÚwz6!!! failed to parse json from ingen, tried to parse 

)r4   r5   r6   r7   r8   r'   r9   r;   r<   r:   r=   Úrecvr±   ÚopenÚwriteÚjsonÚloadsr>   Úparse_ingenr   r   r   r   r   )ÚrÚbundleÚfÚkÚvÚes         r   Úingen_recv_threadrð   `  s9  € ð#6Ý˜EÒ!Ð!Ý#ð )ð )Ý  EÒ)Ð)Ý œgŸnšnÐ->Ñ?Ô?ð (Ýœ
 3™œ˜õ !œgŸnšnÐ->Ñ?Ô?ð (å”J˜s‘O”O�OÝÔ(Ñ*Ô*Ð*ÝÐ<Ñ=Ô=Ð=Ø$(�Mð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ ð 	Ø �EŒMØˆFÝŒJ‰LŒLˆõ
 ˆq‰6Œ6�AŠ:ˆ:ð ˆFð6åÐ+¨SÑ1Ô1ð °QØ—G’G˜A‘J”J�Jðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åœ A™œ�à"ŸLšL™NœNð #ð #‘D�A�qÝ ‘N”N�N�Nð#øåð 6ð 6ð 6ÝÐPÐRSÑTÔTÐTÝ�a‘”�Ý”�iÔ2Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5øøøøð6øøøñA#6sP   ”BB6Â6B:Â=B:Ã?E: ÄD1Ä%E: Ä1D5Ä5E: Ä8D5Ä9A E: Å:
GÆAGÇGc                 ó
  — |                       d¦  «        } | t          v�rci dd“dd“dd“dd	“d
d	“dd	“dd	“dd	“dd“dd“dd“dd“dd“dd“dd“dd“dd“ddd d!d"d"d#œ¥}| |v rd S |                      d$d%¦  «        d%         }g d&¢}||v sd'|v sd(|v sd)|v ríd*}|d+k    rd,}t          d-|z   | ¦  «         n­|d.k    rd/}t          | d-|z   ¦  «         n‘d0|v rd0}t          | d-|z   ¦  «         nwd1|v rd1}t          d-|z   | ¦  «         n]d(|v rd(}t          | d2¦  «         nFd)|v rd)}t          d3| ¦  «         n/d4|v rd5}t          d-|z   | ¦  «         nd6}t          | d-|z   ¦  «         t                               d7| |||d8f¦  «         d S d S d S )9Nzingen:z/main/out_1zingen:out_1 system:playback_3z/main/out_2zingen:out_2 system:playback_4z/main/out_3zingen:out_3 system:playback_6z/main/out_4zingen:out_4 system:playback_8z/main/out_5z/main/out_6z/main/out_7z/main/out_8z
/main/in_1zsystem:capture_2 ingen:in_1z
/main/in_2zsystem:capture_4 ingen:in_2z
/main/in_3zsystem:capture_3 ingen:in_3z
/main/in_4zsystem:capture_5 ingen:in_4z
/main/in_5z
/main/in_6z/main/midi_inzttymidi:MIDI_in ingen:midi_inz/main/midi_outzttymidi:MIDI_out ingen:midi_outz/main/controlzttymidi:MIDI_in ingen:controlz/ingen:loop_common_in_1 sooperlooper:common_in_1z/ingen:loop_common_in_2 sooperlooper:common_in_2z1sooperlooper:common_out_1 ingen:loop_common_out_1z1sooperlooper:common_out_2 ingen:loop_common_out_2z%ingen:extra_midi sooperlooper:midi_in)z/main/loop_common_in_1z/main/loop_common_in_2z/main/loop_common_out_1z/main/loop_common_out_2ú/main/loop_midi_outú/main/loop_extra_midir¿   r%   )Úin_1Úin_2Úin_3Úin_4Úin_5Úin_6Úout_1Úout_2Úout_3Úout_4Úout_5Úout_6Úout_7Úout_8Úmidi_inÚmidi_outÚloop_common_Úloop_extra_midiÚloop_midi_outrƒ   r  Ú
midi_inputz/main/r  Úmidi_outputÚloop_common_inÚloop_common_outró   rò   ÚinÚinputÚoutputrq   T)ÚlstripÚconnected_portsÚrsplitrÔ   Úui_queuerB   )rY   rd   re   Úphysical_portÚport_mapÚport_suffixÚio_portsÚplugins           r   Úconnect_jack_portr  �  sþ  € Ø�;Š;�xÑ Ô €DØ•?Ð"Ñ"ð˜Ð'Fð Ø!Ð#Bðà!Ð#Bðð "Ð#Bðð "Ð#Bð	ð
 "Ð#Bðð "Ð#Bðð "Ð#Bðð !Ð"?ðð !Ð"?ðð !Ð"?ðð !Ð"?ðð !Ð"?ðð !Ð"?ðð $Ð%Dðð %Ð&Gðð  $Ð%Dð!ð" /`Ø._Ø/bØ/bØ+RØ-Tð-ð ð ˆHð6 �xÐÐØ�ð #Ÿkšk¨#¨qÑ1Ô1°!Ô4�ð kð  kð  k�à (Ð*Ð*¨nÀÐ.KÐ.KÐO`ÐdoÐOoÐOoð  tCð  GRð  tRð  tRØ�FØ" iÒ/Ð/à!-˜Ý$ X¨kÑ%9¸4Ñ@Ô@Ð@Ð@Ø$¨
Ò2Ð2Ø!.˜Ý$ T¨8°KÑ+?Ñ@Ô@Ð@Ð@Ø)¨[Ð8Ð8Ø!1˜Ý$ T¨8°KÑ+?Ñ@Ô@Ð@Ð@Ø*¨kÐ9Ð9Ø!2˜Ý$ X¨kÑ%9¸4Ñ@Ô@Ð@Ð@Ø*¨kÐ9Ð9Ø!2˜Ý$ TÐ+BÑCÔCÐCÐCØ(¨KÐ7Ð7Ø!0˜Ý$Ð%:¸DÑAÔAÐAÐAØ Ð,Ð,à!(˜Ý$ X¨kÑ%9¸4Ñ@Ô@Ð@Ð@à!)˜Ý$ T¨8°KÑ+?Ñ@Ô@Ð@Ý—L’L ,°°f¸aÀÀDÐ!IÑJÔJÐJÐJÐJà�DðM #Ð"r   c                 óˆ   — |                       d¦  «        d                              d¦  «                             d¦  «        }|S )Nú^r   ú"z<>)Úsplitr¸   )rî   rê   s     r   Úparse_valuer  Û  s6   € Ø	�Š�‰Œ�QŒ×Ò˜cÑ"Ô"×(Ò(¨Ñ.Ô.€Aà€Hr   c                 ó&   — || v r|| |         v rdS dS )NTFr#   )Údrí   rî   s      r   Úaskr  à  s!   € ØˆA€v€v�!�q˜”t�)�)Øˆtàˆur   c           	      ó–  — | }t          |dd¦  «        �r\|d         d         }d|v �rE|d         }|€d S |dk    rœd}d}d}d}t          |v rd}t          ||         d         ¦  «        }nMt          |v rt          ||         d         ¦  «        }d}n&t          |v rt          ||         d         ¦  «        }d}|rt
                               d	|||f¦  «         t          |v r0|t                   d         }t
                               d
||f¦  «         t          |v r0|t                   d         }t
                               d||f¦  «         t          |v r0|t                   d         }t
                               d||f¦  «         t          |dt          ¦  «        rüd}	d}
d}d }d}t          |v r|t                   d         }t          |v r t          |t                   d         ¦  «        }
t          |v r t          |t                   d         ¦  «        }	t          |v r|t                   d         }t          |v r|t                   d         dk    }t
                               d|||	|
|f¦  «         |�$d|z   }t
                               d||f¦  «         d S d S t           |v �r!|t                    d         }t
                               d||f¦  «         t"          |v r=|t"                   d         }t
                               d|t%          |¦  «        f¦  «         t&          |v rž|t&                   }t(          |v rŠ	 |t(                   d         }t
                               d|t+          t%          |¦  «        ¦  «        f¦  «         d S # t,          $ r. t
                               d|t+          d¦  «        f¦  «         Y d S w xY wd S d S t          |dt.          ¦  «        rE|t0                   d         }|t2                   d         }t
                               d||f¦  «         d S d|v �rt4          |d         v st6          |d         v råd }d }d }d }	d }
d }|d         }t8          |v rd}nt:          |v rd}t4          |v rd}t6          |v rd}t          |v r t          |t                   d         ¦  «        }
t          |v r t          |t                   d         ¦  «        }	t<          |v r|t<                   d         }|� |s|r|	�|
�t?          ||	|
|¦  «         d S d S d S tA          d|d|¦  «         d S t          |v rE|t                   d         }t
                               d|t%          |¦  «        dk    f¦  «         d S d S d S t          |dtB          ¦  «        �r|tD                   d         }tF          |v �rõt          |tF                   v rA|tH                   d         }t
                               d|t%          |¦  «        dk    f¦  «         tJ          |tF                   v r=|tH                   d         }t
                               d|t%          |¦  «        f¦  «         t"          |tF                   v r?|tH                   d         }t
                               d|t%          |¦  «        f¦  «         d S t           |tF                   v rL|tH                   d         }t
                               d|t          t%          |¦  «        ¦  «        f¦  «         d S t&          |tF                   v rŠ	 |t(                   d         }t
                               d|t+          t%          |¦  «        ¦  «        f¦  «         d S # t,          $ r. t
                               d|t+          d¦  «        f¦  «         Y d S w xY wd S d S t          |dtL          ¦  «        rÂd }d|vr5|tD                   d         }|�t
                               d|f¦  «         d S d S |d         }|€d S t          |dt.          ¦  «        r_d}d}t0          |v r|t0                   d         }t2          |v r|t2                   d         }|r#|r#t
                               d||f¦  «         d S d S d S d S t          |dtN          ¦  «        r;|tD                   d         }t&          |v r!t
                               d|df¦  «         d S d S d S )NÚar   r   r   r   z/engineFTÚdsp_loadÚset_commentÚassign_footswitchÚlooper_footswitchrƒ   rÉ   rq   r­   r´   Úvalue_changeÚ	spotlightrz   é   Úadd_connectionzNone! port is_inÚsubjectÚenabled_changeÚpedalboard_loadedÚbroadcast_updaterÎ   Úremove_connectionéÿÿÿÿ)(r  Úingen_max_run_loadÚfloatÚingen_mean_run_loadÚingen_min_run_loadr  rB   Úrdfs_commentÚpoly_assigned_footswitchÚpoly_looper_footswitchÚingen_BlockÚlv2_prototypeÚingen_canvasYÚingen_canvasXÚir_urlÚingen_enabledÚingen_valueÚpoly_spotlightrC   Úmidi_bindingÚmidi_controllerNumberÚintÚ
IndexErrorÚ	ingen_ArcÚ
ingen_headÚ
ingen_tailÚlv2_AudioPortÚatom_AtomPortÚlv2_OutputPortÚlv2_InputPortÚpoly_physical_portr  r:   Ú	patch_SetÚpatch_subjectÚpatch_propertyÚpatch_valueÚ
ingen_fileÚpatch_DeleteÚpatch_Patch)Úto_parseÚmr*  r¦   Úmax_loadÚ	mean_loadÚmin_loadÚsendr^   rd   re   r  ÚirÚ
is_enabledÚmidi_sÚheadÚtailÚis_inÚis_audioÚis_midir  Ú
port_typess                         r   ré   ré   æ  sQ	  € ð 	€Aõ
 ˆ1ˆc�;ÑÔñ H6Ø�OÔ$ QÔ'ˆð ˜1ÐÑØ�\”?ˆDØˆ|Ø�ð ˜)Ò#Ð#Ø�Ø�	Ø�Ø�Ý%¨Ð-Ð-Ø�DÝ$ T¨(¤^°AÔ%6Ñ7Ô7�H�HÝ(¨DÐ0Ð0Ý % d¨9¤o°aÔ&8Ñ 9Ô 9�IØ�D�DÝ'¨4Ð/Ð/Ý$ T¨(¤^°AÔ%6Ñ7Ô7�HØ�Dàð NÝ—L’L *¨h¸	À8Ð!LÑMÔMÐMÝ˜tÐ#Ð#Ø�\Ô*¨1Ô-�Ý—’˜m¨U°GÐ<Ñ=Ô=Ð=Ý'¨4Ð/Ð/ØÕ5Ô6°qÔ9�Ý—’Ð1°5¸'ÐBÑCÔCÐCÝ%¨Ð-Ð-ØÕ3Ô4°QÔ7�Ý—’Ð1°5¸'ÐBÑCÔCÐCå�4˜�kÑ*Ô*ð `Qð �Ø�Ø�Ø�Ø!�
å  DÐ(Ð(Ø!¥-Ô0°Ô3�FÝ  DÐ(Ð(Ý˜d¥=Ô1°!Ô4Ñ5Ô5�AÝ  DÐ(Ð(Ý˜d¥=Ô1°!Ô4Ñ5Ô5�AÝ˜T�>�>Ø�fœ aœ�BÝ  DÐ(Ð(Ø!%¥mÔ!4°QÔ!7¸7Ò!B�Jõ —’˜l¨G°V¸QÀÀ:ÐNÑOÔOÐOØ�>Ø" R™�Bå—L’L *¨g°rÐ!:Ñ;Ô;Ð;Ð;Ð;ð "�>õ
  Ð$Ñ$à�[Ô)¨!Ô,�å—’˜n¨g°uÐ=Ñ>Ô>Ð>Ý! TÐ)Ð)Ø ¥Ô0°Ô3�Eå—L’L +¨w½¸E¹
¼
Ð!CÑDÔDÐDÝ 4Ð'Ð'à�|œ_�FÝ,°Ð6Ð6ðLØ$*Õ+@Ô$AÀ!Ô$D˜Eå$ŸLšL¨,¸ÅÅSÈÁZÄZÁÄÐ)QÑRÔRÐRÐRÐRøÝ)ð Lð Lð Lõ %ŸLšL¨,¸ÅÀSÁÄÐ)JÑKÔKÐKÐKÐKÐKðLøøøð (Ð'ð 7Ð6õ �T˜3¥	Ñ*Ô*ð /QØ�JÔ'¨Ô*�Ø�JÔ'¨Ô*�õ —’Ð.°°dÐ;Ñ<Ô<Ð<Ð<Ð<Ø˜�‘¥-°4¸´9Ð"<Ð"<ÅÐQUÐVYÔQZÐ@ZÐ@Zà�Ø�Ø�à�Ø�Ø $�Ø! #œY�
å! ZÐ/Ð/Ø!�E�EÝ" jÐ0Ð0Ø �Eå  JÐ.Ð.Ø#�HÝ  JÐ.Ð.Ø"�Gå  DÐ(Ð(Ý˜d¥=Ô1°!Ô4Ñ5Ô5�AÝ  DÐ(Ð(Ý˜d¥=Ô1°!Ô4Ñ5Ô5�AÝ%¨Ð-Ð-Ø$(Õ);Ô$<¸QÔ$?�MàÐ$¨(Ð$°gÐ$ð �}¨¨Ý)¨'°1°a¸ÑGÔGÐGÐGÐGð %�}¨¨õ Ð,¨e°YÀÑHÔHÐHÐHÐHÝ $Ð&Ð&à�]Ô+¨AÔ.�õ —’Ð.°½¸U¹¼ÀwÒ9NÐOÑPÔPÐPÐPÐPðC Ððv 'Ð&õ 
ˆQ�•YÑ	Ô	ñ A6à•MÔ" 1Ô%ˆå˜QÐÑÝ ¥.Ô 1Ð1Ð1Ø�+œ qÔ)�å—’Ð.°½¸U¹¼ÀwÒ9NÐOÑPÔPÐPÝ˜Q�~Ô.Ð.Ð.Ø�+œ qÔ)�å—’Ð1°7½CÀ¹J¼JÐGÑHÔHÐHÝ ¥>Ô!2Ð2Ð2Ø�+œ qÔ)�å—’˜k¨7µC¸±J´JÐ?Ñ@Ô@Ð@Ð@Ð@Ý ¥.Ô 1Ð1Ð1Ø�+œ qÔ)�å—’Ð0°'½5ÅÀUÁÄÑ;LÔ;LÐMÑNÔNÐNÐNÐNÝ ¥>Ô!2Ð2Ð2ðDØÕ3Ô4°QÔ7�Eå—L’L ,°½½SÀ¹Z¼Z¹¼Ð!IÑJÔJÐJÐJÐJøÝ!ð Dð Dð Då—L’L ,°½¸S¹¼Ð!BÑCÔCÐCÐCÐCÐCðDøøøð/ Ðð" 3Ð2õ 
ˆQ�•\Ñ	"Ô	"ð !6ØˆØ˜qÐ Ð Ø�Ô& qÔ)ˆGØÐ"õ —’˜o¨wÐ7Ñ8Ô8Ð8Ð8Ð8ð	 #Ð"ð �\”?ˆDØˆ|Ø�å�4˜�iÑ(Ô(ð 
DØ�Ø�Ý Ð%Ð%Ø¥
Ô+¨AÔ.�DÝ Ð%Ð%Ø¥
Ô+¨AÔ.�DØð D˜Dð Dõ —L’LÐ"5°t¸TÐ!BÑCÔCÐCÐCÐCð
Dð 
DðDð Dð Dð Dõ
 
ˆQ�•[Ñ	!Ô	!ð 6à•MÔ" 1Ô%ˆõ ˜1ÐÐå�LŠL˜,¨°Ð4Ñ5Ô5Ð5Ð5Ð5ð6ð 6ð
 Ðs&   Ì3A
M? Í?4N7Î6N7ÜA
] Ý4^Þ^c                 óf   — | a t          t          ¬¦  «        at                               ¦   «          d S ©N)Útarget)r  r   rð   Úr_threadÚstart)Úr_qs    r   Ústart_recv_threadrg  ¼  s.   € à€HåÕ&7Ð8Ñ8Ô8€HÝ‡N‚NÑÔÐÐÐr   c                  ób   — t          t          ¬¦  «        at                               ¦   «          d S rb  )r   r@   Ús_threadre  r#   r   r   Ústart_send_threadrj  Ä  s)   € åÕ&7Ð8Ñ8Ô8€HÝ‡N‚NÑÔÐÐÐr   zunix:///tmp/ingen.sock)tr;   r*   r   rç   r'   rº   Úior   Ú
subprocessr   r   Úurllib.parser¢   Úos.pathr6   rn   Ú	connectedÚstatic_globalsr   ÚLockr5   r4   rG  r0  r2  r3  rC  r7  r:  r9  r<  rO  rD  Úingen_minRunLoadrE  r=  rF  rI  rH  r8  r?  r@  Ú	patch_PutrQ  rP  rK  Ú
patch_bodyrM  rL  rN  r5  r6  r>  rJ  Úrdf_typer4  r;  r   r   r-   r=   r  r/   r@   rG   rN   rP   rR   rU   rW   rZ   r_   ra   rf   rq   ru   rz   r�   r}   r†   rˆ   rŒ   rŽ   r‘   r”   r—   rš   rœ   rž   r§   r«   r´   r½   rÄ   rÆ   rË   rÎ   rÔ   r×   rÚ   rÜ   rß   rá   rð   r\   r  r  r  r  ré   rd  rg  ri  rj  ÚserverÚRemoter#   r   r   ú<module>rx     s  ðØ €€€Ø Ð Ð Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€à€	Ø )Ð )Ð )Ð )Ð )Ð )à#�Y”^Ñ%Ô%Ð Ø€à€Ø'Ð Ø)Ð Ø'Ð Ø€	Ø€Ø€Ø€Ø€Ø€
Ø€
Ø%Ð Ø€
Ø€Ø€Ø€Ø!€Ø€Ø€Ø/Ð Ø€	Ø€Ø€Ø€	Ø€
Ø!€Ø€Ø€ØOÐ ØKÐ Ø;€ØCÐ Ø€Ø€Ø	2€ð	2ð 	2ð 	2ð 	2ð 	2�iÔ&ñ 	2ô 	2ð 	2ð 
€E�G„G€Ø
€Ø€ðBð Bð Bðð ð ð4Ið Ið Ið\ð \ð \ð_ð _ð _ð]ð ]ð ]ðqð qð qðBð Bð Bðdð dð dðOð Oð Oð
ð ð ð
kð kð kð1ð 1ð 1ðð ð ðsð sð sðð ð ðBð Bð Bð[ð [ð [ðUð Uð Uð4ð 4ð 4ð5ð 5ð 5ð
4ð 4ð 4ð4ð 4ð 4ð5ð 5ð 5ð5ð 5ð 5ð5ð 5ð 5ð4ð 4ð 4ð	`ð 	`ð 	`ð`ð `ð `ðdð dð dð&
)ð 
)ð 
)ðnð nð nð1ð 1ð 1ð
lð lð lð%ð %ð %ð2ð 2ð 2ð
5ð 5ð 5ð-ð -ð -ð	ð 	ð 	ð	ð 	ð 	ð	ð 	ð 	ð%6ð %6ð %6ðRð �#‘%”%€ðHð Hð HðVð ð ð
ð ð ðQ6ð Q6ð Q6ðj €ðð ð ð €ðð ð ð 
"€ØˆŒ�VÑÔ€€€r   