useful design's picture

Alastair (@usefuldesign)


  • Vuo Founder


2 years ago
useful design's picture

Awesome Jaymie. So have you already implemented global, local and group sub-comps/nodes (.i.e all three use cases for a container node listed in Option to edit sub-composition without affecting other instance)?

I guess if there is live editing for local sub-compositions it will serve half the purpose of group nodes (known as Marcos in QC), certainly will speed things up a LOT.

So excited to see so much promised for Vuo 1.3.

useful design's picture

I used this hack all the time in QC Jaymie.

It takes longer to type "shared" in the Library, drag the node to the canvas, then relocate the port I was wondering to preserve the value of before connecting another wire into that port. Sometimes I've already forgot the port name I was going to split!

Even if I could insert a "Shared Value" Node between the wires, id still need to find it in the Library and drag it onto the canvas, no advantage at all of existing method except that I don't have to put the wire into the port, which is the easier part of the operation.

It's really good for quickly preserving complex data types like colours, as when you swap the colours between to objects.

To me this is a no brainer feature requester.

useful design's picture

How do you make sub-composition names format appropriately?

I think this has been discussed previously on these forums but stock nodes like "Convert 3D Point to 2D Point" show up as "Convert 3D Point to 2D Point (X, Y)" in the node library but "Convert 3D Point to 2D Point" on the canvas.

I have a couple of sub-comp helper nodes for converting polar coordinates to cartesian and cartesian to polar and I can't get the titles doing what I want. I want the parentheses in the library but not on the canvas and I don't want the space between the "2" and capitalised "D". For example.

useful design's picture

Or for a more complex example more related to what I'm making this simple construct for…

List A :: list of 3D points (X, Y, Z) where (X,Y) is the position of a car on a circular track in polar geometry (r, φ) i.e X= r and Y = φ and Z is the speed (angular velocity) of the car around the track. All values except for X (r), which is a constant for all cars, are to be recalculated every frame. List B :: list of real values of each car's acceleration.

List A values can be recalculated iterating List A based on it's own current values List A [#n] and the value of it's acceleration List B [#n]. I think this is achivable with a Process List node and perhaps a Cycle Through List for the List B inside the loop as per the Wobble Eggs Example comp. I haven't managed to do something like this yet.

List B values will be subject to some logic tests based on the values for car n in List A and values for car n+1 in List A. It's the n+1 which is doing my head in trying to find a neat way to do this in VUO. Calculate List is ruled out for several reasons, can only accept one dimensional lists being the first, but even if I split the data into four lists A, B, C and D and operated on each, I can't reference the index outside the node, and inside the node I can't reference the index plus one. So that's a no go in two ways.