I’m having an issue with the “Value Listener” component of Human UI. It doesn’t update the value coming from “Create Button” component. If I connect a new VL component with CB component, it’s showing the updated value. The image below shows the value not updating above and the correct value below.
It updates sometimes, but I don’t know how to make this live update reliable.
To avoid this issue, I was trying to find a way to flow “true” value for a very short period like 1 second, with “false” value flowing at all other times, but I couldn’t find a solution either.
I’m not sure if Andrew @andheum still has time to take care of Human UI, but I hope I could get help on this issue.
That’s very odd… Can you upload (or DM me) the definition? The only times I’ve seen similar behavior are if something is configured wrong in the window or the button in question is triggering some kind of very slow operation (like a giant bake or something).
Sure, it’s part of a large definition under development. It’s a bit messy at the moment, but I marked with red sketch lines as shown below.
Buffering data seems to fix the issue, but I’m not sure if this will be a reliable solution.
It is to trigger a slow operation writing Excel data in sequence. I’ll DM you the definition.
Thank you for continuing your support to this great plugin!
I am missing a great many of the plug-ins you use, so I can’t open your definition to reproduce the issue. However, I have a suggestion that may fix the problem. Using Metahopper to “wirelessly” trigger a slow operation from a button can sometimes fix the “stuck on true” problem. See attached for an example Trigger Slow Operation.gh (11.0 KB)
Thank you so much Andrew. It seems to have fixed the issue. I would have never known this workaround using Metahopper without your help. Happy Thanksgiving!
Hi both, I also have a similar problem. I have a number of inputs setup but only a change in the last input will cause the value listener to update. I’ve built a workaround using metahopper/expire object but it would be good if it would work without it. Not sure if it’s something to do with how I’ve setup tabs on the UI as I think it was working prior to that. Any advice would be much appreciated! Many thanksvalue listener not updating.gh (15.2 KB)
Flatten the list of elements going into the value listener, it doesn’t really like trees. Then your “update button” should no longer be necessary.
(Also, if you want to use a live button to trigger the update of a value listener in the future, zoom in to add the third “T” input for “trigger” - any value passed to this will cause the value listener to refresh, no metahopper required.)
That did the trick, so simple and now working fine! I thought it felt like a tree problem by its behaviour but didn’t think of that. Great tip on the Trigger for Value Listener too. Many thanks Andrew
I’m having an issue with the Value listener component, it’s not outputting any value at all. does anyone knows how to tackle this problem ?
I’m not sure if Andrew @andheum is still available and have the time to help.
You should connect the value listener to the “create slider” component, not to the original sliders
Hello everyone, i have a similar problem with the (Human UI) value listener update:
as you can see in the image, i have a window with 3 expanders that will show/hide when i click in a button. The c# component only have a simple logic to pass true/false to the “HideShow” component that will show/hide the expander.
The idea is to navigate between the 3 expanders (e.g.: 1->2->3 or 1->2->3->2->1->2->3 or…). The problem is that the button value listener doesn’t return to false when i stopped clicking. I think that somehow between the button clickDown and the hide of the expander, the grasshopper cannot change the button value to false when i release the button… do you have some idea how to resolve this?
problem.gh (32.2 KB)
@andheum can you help me?
The problem is with your C# script. You are intending to hold on to some “state” that persists between runs of the script, but you set all the variables in the
RunScript method, which means it will get cleared out every time. That means if you click the first “next” button, it will run once on the button “down”, setting:
exp1 = false;
exp2 = true;
exp3 = false;
and then immediately run again on the button “up” with a value of false, setting everything back to
If you move your variables into the
// <Custom additional code> section, they will persist between runs, allowing you to hold on to state. I think the attached revision of your script behaves as you intended.
problem.gh (33.8 KB)
Hi @andheum , thanks for the response, but if you try your code and interact with your window like next>next>back the next interaction (back or next) cannot be done, you can’t move from window 2. Did you see it?