VL type errors

I just upgraded my patch to the beta36 release candidate (rc14) and got some red nodes. I fixed a few but some I can’t solve.

’Marked As Private’ error

I had a look at the VL.XML.vl and solution explorer but can’t find a way to make the XElement type public or make my own public clone of it.

’Patch Is Marked As Immutable’ error

This error appeared in a generic record. I turrned generic off and tried recreating these pads but still get this error. My understanding was that generic toggle was how you controlled mutability of a patch?

hey toby,

thanks for the report!

  • The “Marked As Private” error is fixed in the newest alpha.
  • For the “Patch Is Marked As Immutable” one: could you use a Class in that case? It’s been our mistake in previous versions to declare Keyboard and Mouse Devices as being immutable. So we needed to change that. Now if you have a data type that gives access to something mutable (and stores it) we need to treat this is something mutable as well. This is something you have to declare at the top of the type definition. Record stands for an immutable data type and Class for a mutable data type. So please change that to class. The generic flag is unrelated, but it makes sense to have it off when not using that feature.

Hi Greg

Thanks for your support. I’ve switched to latest alpha and addonpack 46596666d0.
I’ve made some progress but still got a couple of problem.

  • After the update I no longer see the ‘Marked As Private’ error but I’m still getting red pads when I manually type a pad as a spread of XElements. No error is reported in the tooltip.

  • Sorry for my mistake with generic-ness and mutable-ness being related. I’ve been away from VL for a few months and I got the concepts mixed up.

  • With the mouse changes the VL Mouse Device type when seen from vvvv is now ‘imouse’ instead of ‘mouse’. This new type breaks connections to my existing cursor node. It seems the mousestates node only supports ‘mouse’.

  • Possible related bug, When I try and create a new mousestates (split) node in my project in vvvv it seems that a lot of mouse and keyboard nodes are missing. I thought maybe I had corrupted this install.

    –So I tried closing vvvv and starting the same vvvv alpha direct from vvvv.exe with a blank patch. In this case all the mouse nodes appear in the nodebrowser as normal,
    – Then I tried ‘open in patch’ to open my main project patch and the mouse nodes continue to be available as normal.
    – Next I tried closing vvvv again and opening my main patch by double clicking on it in windows explorer. All the mouse nodes are available as normal.

  • Only when I boot my patch using a batch file are the mouse nodes missing. This is the contents of the batch file

@ECHO OFF
start C:\xprojects\xUI\vvvv_50alpha35.18_x64\vvvv.exe /o “C:\xProjects\xUI\Patches\xUI Demo.v4p”

I would attach my project but it’s too big at this point.

regarding [quote=“tobyk, post:3, topic:16165”]
Only when I boot my patch using a batch file are the mouse nodes missing
[/quote]
so it seems that when you run in this case actually all nodes from VVVV.Nodes.dll should be missing, not only mouse nodes. just one example for you to confirm: AsRaw (Value) should also be missing (among quite a large number (>100) of other nodes)

the way this VVVV.Nodes.dll is loaded, is through the default root.v4p, which adds \lib\nodes to the search paths. so that would be the first thing to check if you’re in that situation of all those nodes missing: does root.v4p for some reason not add \lib\nodes to the paths?

thanks for the detailed report.

so concerning mouse and keyboard: we indeed decoupled vvvv and VL mouse and keyboard implementations to make sure each feels native to work with. For example notifications in VL work with the Vector2 type, notifications in vvvv work with System.Drawing types. So when accepting a mouse or keyboard input these devices get converted in the input pin. Typically this what you want.
But not thou. As I understand your type it’s just for joining keyboard, mouse, touch, and resolution in a small data type, just to be able to feed this info easily to wherever with just one link. There you just want to split and get the original (not converted) info, as you just want to use them in vvvv. With the current alpha, you now can do so by annotating VVVVMouse, VVVVKeyboard to make sure, that you get the original ones. Those types can be found in VL.CoreLib.VVVV. Reference this conveniently via the node browser if it’s not referenced already.

Spread: should work now. Thanks for your resiliance!

Hi @joreg

You are right, also AsRaw(value) is missing.

I just tried again with a new install of the latest alpha (+ DX11 and craftlie packs). Same behaviour. At a glance the root.v4p appear to be the same.

This is the root I get when I open vvvv.exe with a blank patch and open root.



This is the root I get when I open my project patch via a batchfile

odd.
two questions:

  • does your project by any chance contain another NodeList node?
  • does this work in b35.8 as expected and only fails in latest alphas?

Actually I just found the cause of that bug.

Notice how in the address bar for the case is slightly wrong on ‘C:\xProjects’ in the batch file. I had ‘C:\xprojects’.

I changed the case in the batch file and this is now fixed. The case must not matter to windows executing vvvv.exe but clearly matters somewhere…

And beta35.8 behaves the same. Incorrect case in the path of vvvv.exe in a batchfile will cause some nodes to not be found.

wow, and yes, like that i can reproduce…cheesus!

@tobyk: did you see my message? does that work for you?

@gregsn
Yes, just got a chance to try it. Working great thankyou!

All ready to get myself lost and post more VL questions soon…

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.