Just noticed something strange with IOBoxes, that I had never noticed before.
If I have a subpatch with lots of IOBoxes that I use the auto-created names with, I end up with lots of input pins on the subpatch.
But especially when using the auto-created names, they are never unique. And as it is called a “descriptive name” it shouldn’t need to be.
Trying to hide the inputs only hides the first set of pins, all others with the same name cant be turned off. Shouldnt at least all with the same name get hidden at the same time, then at least it would be kind of a feature. As it is right now, its just an annoying bug, because I have to decide if I want to a) have a subpatch with dozens of input pins I dont need, b) get rid of all the auto-created descriptive names on the IOBoxes, c) go through and rename each IOBox, just to be able to turn it off or d) use text labels next to all the IOBoxes.
Non of those are a good solution.
Here you can see what the problem is. Note how on the subpatch 4 of the inputs are still visible, even though they are hidden in Inspektor.
Pins have not an ID inside XML, so there’s no way to differentiate them.
Having pins in a module with same name should be considered bad practice (it should be forbidden, IMHO or, since this is not ruled in the better way possible: one name for different pins in a module? You should get only one pin visible from parent patch).
If you first patch something, then let CTRL+G to create the module for you, you get indeed TranslateX, TranslateX1, TranslateX2 (or something along these lines).
I did it just like that and they are still all named the same and showing the bug mentioned. Using version 35.8 x64, which one are you using where it works as you describe?
ps: just noticed another little weird thing: if you create a new patch its called “0.v4p” if you dont save and group something into a subpatch, that subpatch is then called “-1.v4p”. Not the best automatic naming convention ever…
That’s probably a big mistake made early on. Everything that CAN be called the same at some point WILL be called the same. If it leads to bugs it should be rectified or not be possible to do.
Right, I see what you mean now. Thats kind of cool. But the thing is that I wish there was simply a way to hide the pins that have the same names. Especially with things like translates I like to auto-create the parameter name so I know what the IOBox changes. But I dont want it as an input if I group it. So now I once again have to move all the IOBoxes to the top one by one (since you cant CTRL-select several at once), then group, then go to the top patch and delete all the IOBoxes and then I am able to hide the pins. Also only possible to do this if I group after I am done. As soon as I add stuff in a subpatch, the problem is the same again and I have to start renaming all the IOBoxes by hand.
But good to know there is at least one little workaround for some specific cases.
Strange, I get an incorrect behavior when I click on the leftmost grey\light grey\white squares with a module active in the Inspektor, while if I select and set multiple IOBoxes’ Pin Visibility attribute everything seems to work fine (better).