Forum

Making a module spreadable

Is there some standard proceeding to make a not overly complex module/patch spreadable?

I have a patch that takes an input texture and finds out the predominant hue in it. During the processing, spreads are created, filtered using select, scrolled, reversed and so on.

Actually, the patch is to handle a whole spread of textures. How can I handle that properly without getting lost in spread indices?

i found that just force-feeding spreads to the module and then checking its behavior points to the critical nodes rather conveniently. getting to the source of funky behavior can also teach you a lot about the behavior of spreads, which can sometimes be confusing, but rewarding to think through.

think about the structure your module uses to achieve its task. find out where it needs to change dimensions dynamically to accommodate more or less elements. i personally like to draw the patch on paper, it forces you to think through every node and reveals many bugs very soon. be especially aware of those parts in the patch where small spreads control (or merge with) larger ones; many bugs result from faulty allocations in those spots. check out all the nodes in the (spreads) section.

apart from that, getting lost in spread indices is part of the experience. enjoy! ;)

Yeah, I applied the force-feeding method and the problematic points came out quite quickly - mainly the spectral nodes. But as I have not the slightest cue how to dynamically split a spread and process the parts separately, I gave up and chose a quick and dirty approach for now: The input is streamed through the module using a counter and a GetSlice. The results are collected in a queue.

check user tutorials for a BinSize Torturial).
check SpreadingSpreads (Tutorial)
check helpfiles of Select (Value) and all other Select-nodes.
check helpfiles of Resample (Spreads) and the modes:repeat,point,etc.


chain several transform nodes with IObox (Node) s between that transforms.
connect a spread with spreadcount>1 to each transform,
set BinSize of IObox (Node) to spreadcount of the spreaded transform BELOW that IObox and see, what happens.
i should patch a tutorial for this…


and if you have a problem: post here soon, attach your patch, (if subpatches used,zip all together).
you’ll surely soon get help in the nicest forum ever be seen.

sometimes it looks like a (freakin’ good!) dating service here…

Hmm. I can access your tutorial and it’s been a real help, but the SpreadingSpreads seems to be down. Says:
“Error. You can not download files.”

hhm, i could download it without problems.

however here it is.

SpreadingSpreads (Tutorial).v4p (9.0 kB)