This was a real head scratcher. I could not for the life of me figure out why I was changing values in a patch, saving it, and when I re-ran my program the old values were back!
I have patches that I use to set a bunch of values, and they contain IO boxes that are outputs and have nothing connected to their inputs, values are just directly set in them to use as outputs, so I can set a bunch of data all in one place. I have found that even if I change those IO box values and save that patch, they still have their old values unless the including patch is saved also at the same time.
But when I load just the patch with the IOBoxes by itself, the changed values are there. Yet when loaded by the parent patch, the old values are back!
In the attached zip, first open IOBug-2.v4p, and note the order of values in the IOBox is 3,2,1. Now double-click and open IOBug-1.v4p, which includes IOBug-2.v4p, and see that the value not only being output by IOBug-2 is 1,2,3, but the IOBox inside IOBug-2 shows 1,2,3 as well.
You can click between the two instances of the IOBug-2 patch and see the values change! So the old values in IOBug-1 are actually feeding back into the OUTPUT of the child patch!
For extra fun, start vvvv fresh by double-clicking on IOBug-1.v4p. Go into IOBug-2.v4p and change a value. Quit vvvv, and save IOBug-2.v4p when prompted. Note you are not prompted to save IOBug-1.v4p. Rerun IOBug-1.v4p and there are the old values back in IOBug-2.v4p again.
But WAIT there’s MORE! Open patch 1, change a value in patch 2, and then exit but only save patch 1, not 2, where you changed the value. Rerun patch 1, and presto, the change is in patch 2. But not of course if you open patch 2 by itself.
Seriously FUBAR - who would think you need to save all the patches that contain a patch you’ve modified… PARTICULARLY when they are not flagged as needing to be saved.
This happens with 34.2_x64 and a 35.6 alpha.
IOBug.zip (1.2 KB)