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

Older Revisions

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


~12h ago

evvvvil: Yo I won the shader showdown at Nova demoparty and im live to make round 1 shader in 25 minutes again. https://www.twitch.tv/evvvvil_

~4d ago

ggml: little enttec dmx help on a saturday night ?

~7d ago

joreg: Interested in #visualprogramming with #vvvv? Meetup in #berlin on the 25th: 10-berlin-vvvv-meetup Featuring @kopffarben

~7d ago

ggml: is pepperoni dmx adapter still expected to work with b38 ?

~8d ago

bo27: @sinus hi! Thanks for using the template. Run is for endusers and it kills explorer. Try developer.bat to access patches

~8d ago

sinus: @bo24: sorry for da hassle. everything´s fine again. several restarts did the job.

~8d ago

sinus: @bo24: my mail db@servus.at

~8d ago

sinus: @IvanRastr aka bo24: found your project template, tested run bat.file, now my screen is black. only cursor. what to do?

~13d ago

cznickesz: @tonfilm thanks for the info. Can´t wait to give it a try!