» IOBoxes
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.



Patching pages

Creating IOBoxes

IOBoxes can be used to input (edit) and output (display) data.

There are 3 ways to create an IOBox:

  • via the Node Browser (open it and type IOBox)
  • via a double right-click in a patch
  • via a middle-click while making a connection

IOBox flavors

There is an IOBox for each of the 4 primitive data-types:

All other data-types (like Transform, Texture,...) share one IOBox:

Configuring IOBoxes

All IOBoxes have some settings available via config-pins in the Inspektor in common:

Name, Pin Visibility
  • Descriptive Name
  • Pin Visibility

are used when creating SubPatches.

  • Tag

is a string that is not used by vvvv but users can write plugins that access this information.

  • SliceCount Mode
  • Columns
  • Rows
  • Pages

are for spreading IOBoxes.

Depending on the SliceCount Mode setting the IOBox has its SliceCount determined by:

  • Input: whatever is connected to its input
  • ColsRowsPages: the product of Columns, Rows and Pages
  • Maximum: whatever of the above is more

If set to ColsRowsPages the product of Columns by Rows determines how many slices are visible in the IOBox.

The actual number of slices represented by the IOBox is further determined by the number of visible slices taken by the number of Pages.

If there is more than one page you can use the SliceOffset to "scroll" through all the available slices.

Visual properties
  • Font
  • Size
  • Show Grid
  • Show SliceIndex

are used for modifying the display.

Displaying Data

In order to display the current value of any output pin in a patch, connect it to an IOBox.

Editing Data

In order to specify a constant value for a pin that can easily be tweaked, connect it to an IOBox.


  • Left-doubleclick to enter a new value (also try math formulas).
  • Alt+Rightclick to reset to default value.

Real and Integer Values

Right-drag in the IOBox vertically to change its value and optionally modify the stepsize by pressing:

  • SHIFT to divide by 10
  • CTRL to divide by 10
  • CTRL+SHIFT to divide by 100
  • ALT+SHIFT to multiply by 10
  • ALT+CTRL to multiply by 10
  • ALT+CTRL+SHIFT to multiply by 100

Boolean values

  • 'Toggle': right-click to switch between 0 and 1.
  • 'Bang': right-click to set 1 for one frame, else 0.
  • 'Press': right-press to set 1 as long as mouse is pressed, else 0.


  • Right-drag to change it.

Press F1 on an IOBox to get different readily configured options that you can copy-paste into your patches as needed.



  • horizontally to change hue
  • vertically to change brightness
  • vertically and press CTRL to change saturation
  • vertically and press SHIFT to change alpha

The Color IOBox has several 'Chooser Styles', see Inspektor:

  • HSVA Field (default)
  • RGBA Slider
  • HSVA Slider


Right click in the IOBox to invoke the operation according to its subtype, see Inspektor:

  • most cases simply open a field to enter text
  • filename - open dialog will pop up
  • directory - open dialog will pop up

Note that no matter what subtype the string is if you press CTRL while right clicking the file-open dialog will appear. Pressing SHIFT will invoke the directory-open dialog.


Right-click in the IOBox to open up the pull-down menu, choose an item with a left- or right-click.

The enumeration IOBox can also be switched into a 'List' mode. Open the Inspektor and change the Style configuration pin.

Green IOBoxes

IOBoxes tinted green are exposed for being controlled from the outside. Use CTRL+K to toggle exposing. See Kontrolleur for more information.

anonymous user login


~19h ago

h99: Moon, dammit

~19h ago

h99: NASA's CGI Monn kit https://svs.gsfc.nasa.gov/4720

~2d ago

~4d ago

joreg: Two #vvvv workshops this week in #berlin: Friday: Physical Computing, Saturday: Computer Vision. Tickets: upcoming-full-day-vvvv-gamma-workshops-in-berlin

~4d ago

joreg: @cznickesz also feel free to join our chat for such questions: chat

~4d ago

cznickesz: @joreg: Yeah, I´ll give it a try! Thx

~4d ago

joreg: @cznickesz: we're hoping this week. but depends on feedback. please test your project and let us know if it works.

~4d ago

cznickesz: @joreg: I should stop asking my questions so cryptic ;-) So right away: is final Beta39 hours, days or weeks away?

~4d ago

joreg: @cznickesz: the idea of an RC is exactly to make sure your projects will work with it. your last chance to report problems with b39.

~5d ago

cznickesz: So how "RC" is the "RC3"? I have to update an old project soon and I´m wondering if I should wait and directly update to Beta39