» VL: One frame at a time
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

VL: One frame at a time


Here are two new little features we want to make sure you're aware of. Not completely finished but already helpful:


Press F6 to pause and step through your patch one frame at a time. Press F5 to continue running the patch.
F6, F6, F6, F6, F5

Note how the Quad (topleft) indicates run/pause. Tremendous you say? Indeed, but beware the following caveats for now:

  • this works only for vl, so if you have parts of your patch in vvvv, those will still continue to run as usual!
  • tooltips don't work in this mode yet, so you'll need IOBoxes wherever you want to inspect values
  • no stepping through slices of loops

Still you'll see that in cases where you're looking for a logical problem in your patch it is already useful to be able to step through its execution one frame at a time to better understand how it is evolving.


Set RuntimePauseOnError to TRUE in the settings in case you want to have the patch paused in case an error occured.
Pink: the node that threw the runtime-error.
Bright: the call stack, leading up to the error.
Dark: nodes not executed.

This can be useful when you're on a debugging spree and expect an error to happen at some point. Activate this option to be brought to the point where the error occurred, the moment it happened. Saves you some navigation and highlights the nodes involved leading up to the error. Again press F6 to step or try F5 to get the patch running again after you solved the problem.

Caveat: Look closely, the error message in the tooltip actually belongs to the Add of the Dictionary. The reason for that is code-optimization which sometimes leads to the error-indicator being one node off. A setting to disable code-optimization is pending..

As mentioned, both features are not finished but are a first step into the direction of better debugging support. Still more to come..

joreg, Tuesday, Dec 19th 2017 Digg | Tweet | Delicious 6 comments  
microdee 19/12/2017 - 23:29

it's nice to see VL getting this feature. this will ease debugging a lot!

velcrome 20/12/2017 - 00:46

Tremendous appetizer, I say. Made me hungy for the main course F10 alongside F11. Maybe F9 for desert?

tobyk 15/05/2018 - 18:35

This works great! I'd love a 'break' node I can use to automatically pause when some condition is met.

tonfilm 15/05/2018 - 21:17

@tobyk you can use the Throw node to throw an exception to stop the runtime.

tonfilm 16/05/2018 - 17:11

@tobyk we discussed this internally and the question is whether you want to stop calculation of the frame exactly at the place where the node sits, or do you want to complete the frame and only stop the calculation of the next frame.

tobyk 16/05/2018 - 17:58

Thanks for this, as usual you guys are one 'step' ahead. ahahahahahahaha

If there's an option i'd prefer the break/throw node to stop exactly where the node sits. If I want it to complete the frame I could patch that node such that it should get executed last. I think.

  • 1

anonymous user login


~8h ago

systray27: @Udo2013> Wow that's beautiful!

~6d ago

mediadog: @tonfilm Thanks! Need to kill a specific vvvv instance, so that enables "taskkill /FI "WINDOWTITLE eq (title)"

~6d ago

tonfilm: @mediadog you can use the VVVV (VVVV) node for that

~7d ago

mediadog: Wasn't there a commandline switch to set the window title instead of the random characters? Can't find it

~8d ago

synth: @tonfilm Awesome, thanks!

~8d ago

tonfilm: @synth yes, if you have a valid ticket for #node20 you will have access to all workshops and their recordings: https://20.nodeforum.org/tickets/

~9d ago

synth: Is there a recording of the Procedural Graphics , and can one buy it somewhere?

~10d ago

david: And finally.... Realtime graphics with Stride 3D – The Fundamentals with the developers https://tinyurl.com/y4utxhyv

~10d ago

david: @sebescudie teaches us: Machine Learning with RunwayML and vvvv. https://tinyurl.com/y66zn3h7