We're working on this feature, as sort of a side effect of something else. We'll definitely have key combinations for the first two options: selecting nodes and cables and selecting nodes only. We're planning to make it easier to hide a group of cables by showing a Hide Cables context menu even if the selection also contains nodes.
depending on state of a running composition programatically
Alastair, since that's not covered by an existing feature request, you should create a new one. On that FR, it would be helpful if you could give specific examples of situations where the Edit Details context menu (exists for published input ports, proposed for the Share Value node) would not suffice. I understand that you're requesting something more dynamic than Edit Details, but I'm not yet understanding what you want to use it for.
If you want the data type's "zero" value, you can do VuoGenericType1_makeFromJson(NULL). This returns 0; (0,0); (0,0,0); or (0,0,0,0) as needed.
For non-zero values, one way to do it is demonstrated in the vuo.math.multiply.list.2 node class's source code. The nodeEvent function calls a (placeholder) function named VuoGenericType1_make1, which is intended to return the "one" value for the appropriate data type. The node class's source code defines a version of the function for each numeric data type — VuoInteger_make1 that returns 1, VuoPoint2d_make1 that returns (1,1), etc. It's long-winded but it works.
Thanks! But what I think I mean is, if I scale a VuoGenericInput1 by a real, will the real convert itself to a 2d/3d/4d point as needed? Since the _scale funtion takes scale values in the same format as what they scale that is?
Vuo GenericType1 value;
VuoReal scale = 0.2;
VuoGenericType1_scale(value, (0.2, 0.2)) //for a 2d point?;
When your generic node class is specialized to a data type, VuoGenericType1_scale is replaced by the function for that data type. For example, when you add a Scale List node to the canvas and choose Set Data Type > Real, the call to VuoGenericType1_scale in that node is replaced with VuoReal_scale (documentation).
It's actually just a text replacement. Everywhere in the node class's source code, the string VuoGenericType1 is replaced with VuoReal.
The available variations of the scale function are: VuoInteger_scale, VuoReal_scale, VuoPoint2d_scale, VuoPoint3d_scale, VuoPoint4d_scale. While there's no entry for VuoGenericType1_scale in the API documentation since it's not an actual function, there are entries for each of these variations.
Im kinda sorta wanting to have a tiny bit more info about the VuoGenericValue1 in the API documentation. It usually works great, and I can look up functions for the real case inputs mostly. Now I've encountered a function that leaves me longing for a bit more clarification though, the VuoGenericType1_scale.