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

Older Revisions

15.06.12 [18:08 UTC] by mediadog | 446 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 | 472 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


~26d ago

mediadog: @ggml Yup, lots. Only used in 4.x, haven't tried in 5.x yet: https://www.unrealengine.com/marketplace/en-US/product/simple-udp-tcp-socket-client

~27d ago

ggml: someone has sent udp bytes to unreal ?

~2mth ago

micha_nismus: worked out, thank you very much ! :-)

~2mth ago

joreg: @micha_nismus does this help? https://youtu.be/xkrbT45BgOQ

~2mth ago

micha_nismus: thx joerg. Can anybody help me why i can't see any renderer in gamma? thx :-)

~2mth ago

joreg: @micha_nismus instead of discord, we're using matrix, see: chat

~2mth ago

micha_nismus: searching for a public discord server for vvvv

~2mth ago

joreg: Join us for the 20th #vvvv meetup on January 19th: https://thenodeinstitute.org/event/20-worldwide-vvvv-meetup/

~2mth ago

joreg: @schlonzo re "SDSL support" did you see the Shader wizard? or do you mean something different?