Global Channel behave in a strange way

If you right-click, the global variable will change, but if you click on one of the fields a second time, it will not.

Gamma 5.1

btw, this is the only way it works:

GlobalChannelIssue.vl (14.3 KB)

Yes. The GlobalChannel nodes check for Changed. This was already established with Channel process nodes and allows playful usage as shown in the help patches.
In your patch you have a couple of process nodes - one for each slice - and all of them have their state. And when a certain GlobalChannel node once fired its index, the next time it won’t fire.

Your second approach is much better. Fetch the global channel once and call SetValue or EnsureValue.

It’s still a fresh area in VL, but I’d say it’s not recommended to use GlobalChannels deep inside your logic. Those are only meant to be used at a higher level and seldomly. The moment you start putting GlobalChannel nodes deep into your patches they loose their modularity.
In other words:

  • visible links are nice tools for expressing dataflow and execution order precisely and don’t depend on names. They are the counterpart to local variables in other languages. Those are still the most preciese way known in VL to wir logic together. With this you can build “instruments”.
  • invisible links (like S & R nodes or GlobalChannels) allow to wire up “instruments” without the need to draw a link. “Links” like these can also get established at runtime without the need to change a patch. Modules that are still in development will allow to wire up a lot more, like patches on different machines, actual music instruments etc. Use them when it’s too cumbersome or impossible to draw a normal link. And when you do, fetch a channel once and resue it.

@gregsn thanks!

I will be keeping a close eye on developments.
Everything looks very promising.

I’m trying to write some applications that I’ve wanted to do for a long time but couldn’t because I didn’t have the necessary tools within VL. Now I realise that I’m getting closer to being able to implement what I’ve wanted for a long time, also thanks to the GlobalChannel concept.

But I feel it’s time to do something about the UI of the editor itself, and bring new visual interpretations to the new concepts. Especially the GlobalChannel or even channels in general. For example, it could be some kind of “circle” to which multiple connections can be made from either side. Or something like that. VL somehow fears the concept of multiple connections, but I don’t think it should. And it is certainly worth considering whether to bring back the shadow connections (the grey, transparent, barely visible ones)

1 Like