module variable Send Receive global
This is a global S & R set of nodes which will allow users to send values from multiple locations in their application into a centralized "global variable" and receive all values in the same frame as a spread anywhere else on their application.
Useful for example to store lists of values such as application-wide used fonts, configuration parameters, etc.
For a working example check out \vvvv\girlpower inside the download zip.
The nodes work on both 32 and 64 bit systems.
Source code is available via github herehttps://github.com/ravazquez/globalSR.
Feel free to add issues or expand the nodes as you see fit.
Download zip file and extract in your project.
To use in your own patches just drag and drop \lib\GlobalSR.dll into your patch and select the version you need (String, Value, Color, etc.)
Spreadable input please.
looks interesting, but i don't really get the usecase. right now it looks like a queue node. why would i want to set a queue from random locations without a reference where the stuff is coming from. maybe you can provide a more practise based patch with comments. cheers
u7angel: Hi! Initially my usecase was to make a list of all the fonts used in a rather large application in order to detect which ones were missing on any given client machine. With a nodeset like this I managed to do just that, every text node I used has an S on the font input pin and somewhere else I receive all these font names and check against installed fonts in the running system to create a list of used vs missing fonts. It was of no relevance for me to know where exactly in the many patches the font was used, I just needed a full list.
With a Queue node and the existing S/R I did not find an easy way to do that. If you send from multiple places into the same S on the same frame, only one value makes it through, and how would you Queue up values from many different locations without having to link every source into the Queue node? Maybe I missed something. In any case, that is one usecase, my hope is that other users might have other cases where this makes sense.
Hope that brings some light into what these nodes are trying to accomplish.
And yes, a better help patch would help. I will work on that.
u7angel: I added a new help patch which hopefully makes things slightly clearer. Let me know if it helps.
thank you for the explanation and for sharing. some sort of database it is i guess.
@ravazquez , thank you for this contribution pretty useful.
i was looking and asking for something similar here https://discourse.vvvv.org/t/asset-checker-file/16304/2
but in this case of the forum link the value should change and remain in same slice like normal s r nodes. so if i get a 0 it change to 0 and if i get a 1 it changes to 1 in same slice instead of adding a new slice in the spread. not sure if this behavior is posible too in your s r nodes ?
some more features requests ;D :
it seems now it adds values on a sort of internal onchange which is cool but a swith or something to add manually would be very helpful, could we add some manual add bang input pin for better control of it ?
and more powerfull and advance is to include an add and remove input pins choosing the slice input pin of the spread in which to add or remove.
great contrib ¡¡
hey colorsound: thanks for the kind words, glad to hear it is useful for you.
Regarding your requests:
Let me know what your thoughts are.
Great you are happy to update it.
Other option is to have 2 versions the basic and the advance which have all specifi features, in case you only need to use the basic hundreds times for performance reason better to have basic and advance i,m just guessing.
But Before we get too complex ,lets start with the first scenario where you want to collect data from different patches in the same final spread in which global s r node will be handy, i leave an explanation here :
Super! Exactly what I always wanted to have. My usecase: Write whatever infos to a log from anywhere in your patch graph. but have access to that log at a single patch and write it from there to the HD. The Add pin is missing indeed!
@colorsound: I have not forgotten about you, been rather busy lately but this is high up on my TODO list. I am almost certain what you show in your post can already be achieved with the nodes as they are (maybe the the Add feature is needed for that). I will try to come up with a sample patch that shows this.
@david: glad to hear it works for you! Indeed the Add pin is missing, right now it only adds on Change, but I understand this is not ideal in a lot of scenarios. I will introduce that feature and an "Avoid Duplicates" feature in the next release.
@colorsound and @david: Add and AvoidDuplicates pins have been added. Let me know how if they are working as you expected.
@ravazquez , thanks a lot for the update. i did some quick tests and it seems to work pretty nice.
will it be posible at some point to add string category ?
@colorsound: String category is already there, let me know if you cannot find it
@ravazquez , yes now when i drag dll to patch i saw all categories , wonderfull ¡¡ , gracias ¡¡.
anonymous user login