I have been diving pretty deep into vvvv gamma & loving the flexibility it is wild what you can build with it But now that my patches are getting a bit more complex I am starting to feel such as I am losing track of things. š
Also I am trying to keep everything tidy using regions and subpatches but sometimes it still ends up looking such as a spaghetti monster. How you folks handle thisāany tips or tricks you use to keep things clean and understandable?
Do you follow any naming conventions, color-coding or maybe even some kind of visual āfolder structureā logic? Also do you rely on any external tools or documentation systems to map out bigger projects?
Iām not sure what to suggest, since every project kindāa brings itās own logic, mostly you want main class - process node, that handles logic, and and a process node that getās main class as input and access some properties of main patch as methodsā¦
use the Model, Runtime, Editor principle - ie. have a (data) model with all your parameters, variables, whatever you want to call them. Create a record and then have records inside it for all the things you will need. Try to keep the records small and modular.
if you want to make your life easier and/or want to use ImGui, use GlobalChannels with the SubChannels module. You can just hook up your record to it and you instantly have your data model as Channels
For organising it sort of depends on how large things will get, but I tend to start just putting all the records, processes and operations in the definitions and place them in areas. Once that gets too much I will create either a new category in the definitions or a new file and reference it as a dependency, if it is something I might want to use elsewhere or just keep separate so someone else can work on it more easily.
Use GitHub!. It works surprisingly well with .vl files, especially if you use MergeVL. In the last few years of working on large projects collaboratively, I canāt really remember it ever failing to merge.
I leave a lot of comments around, create groups around things and generally try to keep things tidy
But of course also just embrace the āmessā. Thatās what I love about vvvv and visual programming in general - even when things look messy, you can still follow the logic.
So these are just some general tipps that come to mind. Happy patching!
I think there was some Node session about it - Iāll try and find it. But yeah, Iād be happy to share my workflow for this in a longer session, because I feel like by now I have a pretty good understanding how to start a fairly complex project from scratch.
You can check the help patch: Global Channel of own Datatype to get the basic idea.
I tried basically building my own version of that patch, but somehow the SubChannelsModule doesnt do anything in the latest preview.
Probably best to wait for stable 7.0 for this stuff. I know there are some significant changes planned when it comes to Channels.
Yes, I know the series from Natan, it would be nice to have a little collection of different approaches. @seltzdesign, if you could maybe just provide a very reduced demo as a patch, how you start to structure, that would be a great resource!
I tried basically building my own version of that patch, but somehow the SubChannelsModule doesnt do anything in the latest preview.
We actually tried to keep the upcoming changes isolated in a branch. But that said: Did you try to use the SubChannels node instead of the SubChannelsModule node?
If the problem persists please open a new thread for the bug report. Thanks!