» 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

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 | 758 downloads
Added ability to set slice values in MonoData
Show 2 older revisions

Older Revisions

15.06.12 [18:08 UTC] by mediadog | 361 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 | 380 downloads
Handle input spreads, added mod pin to MonoData

lasal 15/04/2011 - 15:51

I´m using it ;)

jzzxh 11/06/2012 - 09:13

that's coll.

screamer 11/06/2012 - 15:25

simple but really effective concept ;)

mediadog 15/06/2012 - 17: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 - 18:11

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

jzzxh 17/06/2012 - 18:06

Thanks, mediadog

anonymous user login


~2h ago

karistouf: @tgd, i have reinstalled windows and cutted all updates. Thanks you !

~22h ago

tgd: @karistouf: had the same issue days ago. reinstall Visual C++ Runtime 2012 from downloads

~2d ago

karistouf: arghhh, my dx11 mesh assimp are red nodes !!! any idea ???

~16d ago

SuperflysiNZ: Thanks