useful design's picture

Alastair (@usefuldesign)


  • Vuo Founder


2 years ago
useful design's picture

Hi Jaymie yes I was totally venting here. My apology to you and everyone for that.

Was venting not just for my own frustration but frustration at my perceived threshold of pain for new users to get acquainted with Vuo and hopefully buy it and start using it and foster the community. I'm used to coding thresholds of pain, I'm not a natural, currently learning Haskell mostly on my own and did same for JS and Python several years ago. But I'm also used to having strategies to go very simple and build my own how to do examples and working up the complexity until I achieve my goal and in Vuo I find this a difficult strategy.

The demo examples are a great help I must say, but when they don't cover it, you really are out on your own.

I posted my problem compositions (three stages of working through the problem) to another thread and got no response. Two words: "Build List" was all I needed to hear to move in the correct direction, although from an academic/new-users POV the weirdness of the outputs of those other compositions did allow me to experience some negativity about the current Vuo approach to iteration.

The great news is I now understand how to use print to Console inside loops and outside loops to diagnose issues where the Show Events function can't get inside the loop and make it clear what is going on that is problematic. Perhaps I can make a tutorial forum post or video on that for new users if that would be helpful.

On Kineme forums I patiently helped dozens of new users get acquainted with the nuances of QC and Kineme plugins by answering questions, fixing composition bugs and incomplete solutions where I could. And on the FB groups for QC & Origami for some time. And I'd be more than happy to do same in Vuo if I could reach a similar level of competency and that kind of community evolves for Vuo.

I got it solved with the Build List nodes after Magneson mentioned the magic word 'Build' in about twenty minutes. It did take some careful use of print to console node for me to figure out the nuances of event flow, I had and extra event coming into the loop from the Hold List node because I needed it not just going into the Build List node but into a Get Item from List node and this meant I was getting an extra (duplicate) output in the list in console (but not from the Build List node) . So I needed an additional Hold Value node at least to make sense of the Console output if not the composition itself (the extra event made the offset pattern shift by one but the Build Node limited the output to required number of items in list).

It's at least six months since I used Vuo and had forgotten Build List exists, when you type "list" in the Library, at least in my version Cycle Through List comes up first and Process List comes up second, Build list comes twelfth and I'm sorry to say I didn't see it. Does the node library prioritise node order according to user previous usage?

When I type Process I only get that node and Split Audio by Frequency. Although when I type cycle I get cycle, process and build as the top three, unfortunately for me I wasn't typing cycle when I started looking for the third list making node I vaguely remembered something else exists. An yeah I don't use the manual because it's more of an intro to Vuo than a reference book, and searching it now for Iteration yes I would have found Build list in the (); note for text programmers breakout box.

Suggestions: add "Process List" to the metadata for Build List so it appears in Library when someone types "Process" in the node Library. If there's a simple way to make Build appear in top three suggestions with Process and Cycle when you type list that could be helpful for new users too.

I'm happy for you to delete this entire thread if it leaves a bad taste or risks putting someone off Vuo. I wouldn't want that for anything, and I'm very appreciative of what Team Vuo does to advance this tool, what Vuo can do already, and what Vuo will evolve to become. It's been a long journey since the early days of pre-Alpha Vuo and I'm still as hopeful I can use it for more than fun projects one day.

The first example composition LINK still has an extra event going to the Console Window because I reset the Count node with an event from the Built List port. In the second composition I do it another way so the Count node never resets (the iteration index still gets wrapped in the Limit to Range) and so that extra event doesn't happen and so it doesn't register (in a potentially confusing way) on the Console Window.

useful design's picture

Another use case is for output ports where you have many wires coming off the port(s) and you want to divert the single to a new node, but not loose all the connections to existing nodes in case you want to reconnect back to them at a later point, or connect into them at a later point. Split output port to a Shared Value/List node would do the trick.

Here I want to connect the Hold List node to the new Build List node and disconnect from 5 other nodes, but not lose all those connections to the other nodes, in case I need to come back to them and reuse them or just undo my work a bit without using the undo command which forces you to lose everything in reverse order.

useful design's picture

Thanks Magneson, I was trying to remember the third list making/processing node. I've been mucking around with Cycle Through List because it has a position output. But I figured I needed Process list to drive the events to it. The output going to console is confusing as hell and quite different going into an enqueue node than back into the processed time port of the Process List node. Finding it all very discouraging. The math is trivial, the stupid Vuo is mindbogglingly tricky until you know the how and why in great detail. There's no clues to the subtleties of why an event has go to the triangle input of the hold node rather than the fire port of the Process List item.