Switch (Node Input) => spreadable Switch pin


for every Switch node the “input switch” pin is spreadable, making it possible to create a new spread, built from slices selected from different input spreads.

Why isn’t the switch input pin spreadable for a “Switch (Node Input)”?

hello, good question…

the problem with node types is, that with some types it makes no sense to have it spreadable, and the node doesn’t know this in advance.

for textures or transforms, you can build your own… which data type do you want to switch?


I wanted to switch textures.

I have a solution to that at this time, but the number of inputs are still fixed, so it’s somewhat more limited than using the built-in nodes.

At this time I am actually trying to find a way to ‘combine’ different spreads of textures (like for instance pick 1st from spread 1, 1st and 2nd from spread 2, 1st from spread 3, 2nd from spread 1, and so on).

If it were a different data type, I could use Stallone I think, but I haven’t found a ‘stallone’ for textures in anyone’s modules yet.

It feels as if I am reinventing the wheel for these different datatypes, aren’t they part of some addon-pack? (Like ‘Switch (Texture)’ etc.?)

One more thing I am trying to understand is:

  • is this a design choice to protect dumb users? In that case, which are types that don’t make sense to be spreadable according to the developers and why?


  • is it impossible to do because technically some node-types are non-spreadable. Also, which ones and why?

If it is the first case, I would be glad if you leave it up to the user to decide if something makes sense or not :)


hai ft,

be sure it is technical reasons in this case and not an arbitrary choice we made to protect anyone. while we do have to make choices at some points, we try to reduce arbitrary ones wherever we notice and let the user choose. vvvv is in principal designed as a weappon without concern for losses.

when tonfilm says “with some types it makes no sense to have it spreadable” he means it is not implemented to have them spreadable. e.g. audio, video meshes and vertexbuffers are not implemented spreadable (due to technical difficulties) as transforms are. switch and stallone for textures could probably be implemented manually as there also is a Cons (EX9.Texture) node, that may, together with the GetSlice (Node) already help you a lot?