<html><head></head><body><div style="color:#000; background-color:#fff; font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px"><div id="yui_3_16_0_ym19_1_1510717882840_3076">Hi list,</div><div dir="ltr">I've got a branch that adds a small GUI API that can incrementally be switched out <br></div><div id="yui_3_16_0_ym19_1_1510717882840_3253" dir="ltr">for the current "tcl-like" content inside the various functions of pdgui.js.</div><div id="yui_3_16_0_ym19_1_1510717882840_3254" dir="ltr"><br></div><div id="yui_3_16_0_ym19_1_1510717882840_3251" dir="ltr">Currently, there are some problems that can crop up when updates to the GUI get <br></div><div id="yui_3_16_0_ym19_1_1510717882840_3252" dir="ltr">sent from Pd before the GUI has finished loading the window. I've got some stop-gap <br></div><div id="yui_3_16_0_ym19_1_1510717882840_3276" dir="ltr">existence checks sprinkled about but that isn't very maintainable.</div><div id="yui_3_16_0_ym19_1_1510717882840_3307" dir="ltr"><br></div><div dir="ltr">This interface has three benefits:</div><div id="yui_3_16_0_ym19_1_1510717882840_3452" dir="ltr">1. The existence checks are abstracted away.</div><div id="yui_3_16_0_ym19_1_1510717882840_3453" dir="ltr">2. The methods return a reference to the API so commands can be chained together</div><div dir="ltr">3. Non-existent elements within such a chain will just be silently skipped without error.</div><div id="yui_3_16_0_ym19_1_1510717882840_3484" dir="ltr"><br></div><div id="yui_3_16_0_ym19_1_1510717882840_3490" dir="ltr">Have a look here:</div><div id="yui_3_16_0_ym19_1_1510717882840_3403" dir="ltr"><a id="yui_3_16_0_ym19_1_1510717882840_3402" class="" href="https://git.purrdata.net/jwilkes/purr-data/tree/gui-refactor">https://git.purrdata.net/jwilkes/purr-data/tree/gui-refactor</a></div><div id="yui_3_16_0_ym19_1_1510717882840_3491"><br>The current Pd<->GUI API can still be used with this; hence it can incrementally replace <br></div><div id="yui_3_16_0_ym19_1_1510717882840_3536" dir="ltr">the current code.</div><div id="yui_3_16_0_ym19_1_1510717882840_3537" dir="ltr"><br></div><div id="yui_3_16_0_ym19_1_1510717882840_3538" dir="ltr">Any suggestions are welcome.</div><div id="yui_3_16_0_ym19_1_1510717882840_3539" dir="ltr"><br></div><div id="yui_3_16_0_ym19_1_1510717882840_3540" dir="ltr">-Jonathan<br></div></div></body></html>