Re: dev: question about glist_isvisible() and gobj_shouldvis()

Pierre Alexandre Tremblay <[email protected]>
Newsgroups gmane.comp.multimedia.puredata.general
Message-ID <[email protected]>
Thanks for coming back at me Alexandre… I know what you do, I learnt from your code :)

I was just surprised to not be able to get a clear state. What I do is delete stuff when it is not printed. I get bugs of trying to delete stuff that doesn’t exist if the flags are not accurate (that was a bug sent by a user - it might happen with your object too, or not, I didn’t recompile your [pad] to read its flags but I don’t see you updating them. Maybe I should compile pad to see the flag status when a subpatch window is opened at load time - if your flags differ from mine, I’d doing something wrong…

I’ll see if I can find a single GUI to compile with no dependencies, that is the tutorial I dream of, a following to the very streamlined tutorial in the vanilla distribution 

p

> On 21 Aug 2025, at 01:34, Alexandre Torres Porres <[email protected]> wrote:
> 
> Not sure what you're facing, but when I need to update a GUI I just check for both and do things when both flags are true... but I never bothered to go deeper, it just works for me. What exactly is your problem?
> 
> cheers
> 
> Em qua., 20 de ago. de 2025 às 08:49, Pierre Alexandre Tremblay <[email protected] <mailto:[email protected]>> escreveu:
>> … which makes me think that I need to find a similar tutorial to move away from the deprecated ‘sys_vgui’ towards 'pdgui_vmess()’… yet as I use arrays and other data structures in the TK, I feel it might require a full refactor...
>> 
>> Again pointers welcome again
>> 
>> > On 20 Aug 2025, at 13:34, Pierre Alexandre Tremblay <[email protected] <mailto:[email protected]>> wrote:
>> > 
>> > 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 <[email protected] <mailto:[email protected]>> 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….
>> >>> 
>> >>> 
>> >>> 
>> >>> ---
>> >>> [email protected] <mailto:[email protected]> - the Pure Data mailinglist
>> >>> https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/[email protected]/message/Q3LT3SPTKG3JV33YFBSYFDV6HOLZU5OM/__;!!Mih3wA!BBIsbtoRUuYYTra_j5mFpGWnUOpOrFo1lHdxVmbyxGyhX15BNKJt4GJNABFir-x2XUT-c4kM2zO8$
>> >>> 
>> >>> To unsubscribe send an email to [email protected] <mailto:[email protected]> mailing list
>> >>> UNSUBSCRIBE and account-management -> https://urldefense.com/v3/__https://lists.iem.at/__;!!Mih3wA!BBIsbtoRUuYYTra_j5mFpGWnUOpOrFo1lHdxVmbyxGyhX15BNKJt4GJNABFir-x2XUT-c83W2Dzg$
>> >> 
>> >> 
>> >> ---
>> >> [email protected] <mailto:[email protected]> - the Pure Data mailinglist
>> >> https://lists.iem.at/hyperkitty/list/[email protected]/message/LPJGGHQ7PHZ62HMVFRPM3VOSYHE6QOM2/
>> >> 
>> >> To unsubscribe send an email to [email protected] <mailto:[email protected]> mailing list
>> >> UNSUBSCRIBE and account-management -> https://lists.iem.at/
>> > 
>> 
>> 
>> ---
>> [email protected] <mailto:[email protected]> - the Pure Data mailinglist
>> https://lists.iem.at/hyperkitty/list/[email protected]/message/ZU5OPWAWD5XHCTWKAXJVFX5JOHHREVJ4/
>> 
>> To unsubscribe send an email to [email protected] <mailto:[email protected]> mailing list
>> UNSUBSCRIBE and account-management -> https://lists.iem.at/

---
[email protected] - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/[email protected]/message/4BJPTZYAE47HI4HHZHYRAYQEABZLV5AA/

To unsubscribe send an email to [email protected] mailing list
UNSUBSCRIBE and account-management -> https://lists.iem.at/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.