» MonoBuf and MonoData v1.4
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

MonoBuf and MonoData v1.4

module lifetime MonoFlop particles
Credits: Based on work by West, wirmachenbunt and tonfilm


Update v1.4 (1.3 was buggy): Added ability to modify individual slices in MonoData.

Update v1.2: Fixed lifetime working correctly with spreads/changing values. Added "Pause" and "Clear" input pins, and "Inverse" output pin (goes from 0 to 1 through lifetime). Also should always be guaranteed of getting a zero lifetime and value (and inverse of one) for one frame at the end of the life (for triggering things like MIDI note-off) before that slice is removed from the spread.

Update v1.1: Now correctly handles spreads on the input pins. Also added a "Mod" input pin to MonoData to optionally modify the stored data each frame - example in the help file.

I needed the ability to dynamically create a spread of objects with a specifiable lifetime, and couldn't find exactly what I was looking for. In my case I am creating visual objects from music data received via OSC, but this should work for particle systems and more as you can add as many arbitrary data spreads as you want.

Just add a MonoBuf node, give it the desired lifetime (in seconds), and bang the create pin. A new slice will be added, and when that slice's lifetime has expired, it will be automatically removed. MonoBuf provides as output spreads of the remaining time-to-life in seconds and a normalized lifetime (1 to 0) of each slice.

You can connect the "master" MonoBuf node to any number of MonoData nodes, and whatever data you want will be associated slice-wise in their output spread.

Helpfile included; please post any questions/comments/good jokes.


24.07.12 [01:05 UTC] by mediadog | 720 downloads
Added ability to set slice values in MonoData
Show 2 older revisions

Older Revisions

15.06.12 [18:08 UTC] by mediadog | 326 downloads
Fixed lifetime bug, added Pause, Clear, and Inverse pins, always output 0 lifetime before removing slice
14.06.12 [17:02 UTC] by mediadog | 352 downloads
Handle input spreads, added mod pin to MonoData

lasal 15/04/2011 - 14:51

I´m using it ;)

jzzxh 11/06/2012 - 08:13

that's coll.

screamer 11/06/2012 - 14:25

simple but really effective concept ;)

mediadog 15/06/2012 - 16:02

Thanks for the comments! They reminded me I hadn't posted the updated versions.

However, I just found a bug with the "Life Time" pin if you change the value while things are still "alive", or spread it with dissimilar values; I've just been using it with a constant lifetime and didn't catch it until now. Will fix and update ASAP.

mediadog 15/06/2012 - 17:11

OK, should be much more versatile now, works as expected with my (admittedly non-exhaustive) test cases.

jzzxh 17/06/2012 - 17:06

Thanks, mediadog

anonymous user login


~1d ago

mediadog: Aha! Right-click on an image to get the source link

~1d ago

~2d ago

antokhio: @luper vc redist 2013

~5d ago

guest: @Luper, you'll probably need to make the PhongDirectional etc node have one of the pins → NoTexture, and then voilà!

~6d ago

Luper: hey guy, just reinstalled VVVV and text(DX11.Geometry) not working, any idea why?

~7d ago

joreg: Reminder: Show us what you're patching on: #vvvv meetup tomorrow, Tue, Feb 23, 8pm CET: 8.-worldwide-meetup

~11d ago

vux: Hey all, we now in Berlin with @idwyr, say if you want to catch up :)