Hi to everyone,
I have a setup where a ‘Slider’s Range’ is dynamically modified by the Metahopper SetSlider component.
The Slider seemingly changes its values since I can see the numbers on the Slider visibly changing (for example if the upper bound is decreased while the slider is at its max value, then the visible max value on the Slider is decreased); but, that very visible value is not propagated to the output of the Slider (until I manually touch the Slider).
Setting the V value works as expected though.
I have attached a sample recording of what happens
Is this as designed, or something that perhaps will be fixed? Or, does it exist any alternative Slider manipulator plugins, a Python component?
Your file is very large and hard to understand, but one thing I notice right away is that you’re using “Set Slider” in tandem with “Get Connected objects” - this is a bad idea as the definition will execute many times every time you try to change the slider. As a rule, don’t use “get connected” if you’re going to modify the state (expire the solution of) the object you’re referencing
Here is what happens, for example:
You change the slider range
this executes “set slider”
this changes all the sliders
this causes “get connected” to execute
this triggers “set slider” again
in extreme cases this can even cause an infinite loop, although in your case I think this is not happening due to the smart way sliders handle changes forced programmatically.
Instead, you should use a “get” component that does not rely on a wired connection, such as get object by nickname, get objects by selection, or get objects in group - these will not recompute when the object they reference expires.