Hello Thanks for this. Sadly, that flag stays 1 when the [pd] subpatch window containing my GUI is closed. I must be missing something.
What is the simplest GUI source code I can read, ideally with loads of comments, to see the best practices? At the moment, when the subpatcher window is closed its ‘pdtk_canvas' is destroyed ("pd -d 5” helped a lot to understand the ‘dance’)… To reiterate: - glist_isvisible() is 0 when subpatcher is opened - gobj_shouldvis() is always on, subpatcher opened or not Thanks all and sorry for the newb questions! > On 20 Aug 2025, at 00:13, Miller Puckette via Pd-list <pd-list@lists.iem.at> > wrote: > > It's my belief that gobj_shouldvis() is true if the object should be visible > on the screen, > and that glist_isvisible() is on if the glist has actually been drawn (which > is not yet true > while the glist is first being drawn). So I think you should check > gobj_shouldvis() and > not glist_isvisible(). > > cheers > Miller > > On 8/19/25 12:06 PM, Pierre Alexandre Tremblay wrote: >> Hello >> >> I am struggling with a real understanding of when to redraw my 2 flucoma GUI >> objects. At the moment, I get them to behave most of the time… >> >> Tldr: why is glist_isvisible 0 when a window hosting my gui is in the >> background at load time? >> >> Any help/good practice/tutorial welcome. >> >> p >> >> === >> >> The long read: >> >> At the moment I check the status of glist_isvisible && gobj_shouldvis and >> print when both are on (&& vis flag of my own object) >> >> It works all the time, except: >> >> 1. When I load the patch saved with a [pd patcher] with the gui on (that >> window opens, but the gui doesn’t draw, by opposition to native ones) >> >> 2. When I close that subpatch window and reopen it, it is not drawn. >> >> 3. When I zoom in/out >> >> In both cases it calls my _draw method but the flag glist_isvisible is 0 >> (with the added ‘fun’ of calling the draw function twice when I zoom in or >> out, once with the flag 1 and right after with the flag 0 >> >> What have I done wrong? The source code is online, I can send a link…. >> >> >> >> --- >> pd-list@lists.iem.at - the Pure Data mailinglist >> https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/Q3LT3SPTKG3JV33YFBSYFDV6HOLZU5OM/__;!!Mih3wA!BBIsbtoRUuYYTra_j5mFpGWnUOpOrFo1lHdxVmbyxGyhX15BNKJt4GJNABFir-x2XUT-c4kM2zO8$ >> >> To unsubscribe send an email to pd-list-le...@lists.iem.at mailing list >> UNSUBSCRIBE and account-management -> >> https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!BBIsbtoRUuYYTra_j5mFpGWnUOpOrFo1lHdxVmbyxGyhX15BNKJt4GJNABFir-x2XUT-c83W2Dzg$ > > > --- > pd-list@lists.iem.at - the Pure Data mailinglist > https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/LPJGGHQ7PHZ62HMVFRPM3VOSYHE6QOM2/ > > To unsubscribe send an email to pd-list-le...@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> https://lists.iem.at/ --- pd-list@lists.iem.at - the Pure Data mailinglist https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/C7VKGT5RBJSLBMFHJV7O2JCFKLTHOP2J/ To unsubscribe send an email to pd-list-le...@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/