Something like this, in metacode?:
If the monoflop is triggered we get a 1, and if the monoflop is retriggered, we increase the spreadcount with 1 slice.
If the monoflop is not triggered, or finished, we reset the spreadcount to 0.
Not sure where your spreads come from, so can’t add that.
I had a need to create objects corresponding to musical notes received via OSC, and expanded on monoflop_buffer a bit. I created two nodes, MonoBuf and MonoData (perhaps bad names in the long run) that allow not just the creation of spread slices of a specified lifetime, but also an arbitrary number of parallel spreads with associated data. So in my case, I use the note duration as the lifetime, and store things such as pitch, pan position, volume, etc. to use for corresponding visual objects.
There’s probably a way to make this more integrated/elegant, but this got the job done for me. Give me some feedback on proper naming and packaging (this is my first give-back to the vvvv community), and I’ll post it in contributions if it seems worthwhile.