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

Custom GUI Method Collection

This page is rather outdated!

If you're looking for UI options for vvvv try these related contributions.

Table of Contents

Introduction

VVVV users experience a reoccuring demand for a graphical user interface, that is: a means of easily controlling the parameters of a patch. Native elements of this nature within VVVV (like the iobox (value) advanced|IOBox)? have one drawback: modifying them constitutes a change in the program graph itself - which can not be calculated when missing values - and causes freezing or stutter in the render windows.
Several users have already found a solution in building their own GUIs, outsourcing the display and modification of parameters to separate render windows, avoiding any intervention with the render process. As useful as their solutions are, they are sometimes complex, hard to understand, or intensive on resources. As such, their use is often limited to the specific tasks they were designed for and hard to accomodate to other patches.

Motivation

This method collection aims to cover some of the topics and problems most often faced when building a custom GUI. It is supposed to deliver small, separate solutions to specific issues that are easy to understand and adapt. It should empower even unexperienced users to build appropriate interfaces without having to rely on prefabricated solutions that may be unfit for their needs.

State Of The Art

Following is a collection of things that have already been done in the field of GUI-development on this wiki: some of the projects, a set of forum discussions and other pages concerned with the topic. This should reflect the current discourse.

Projects

Gui2D Plugin convenient and fast plugins to build a GUI in a EX9 Renderer
Remote (VVVV) Remote control vvvv with different interfaces.
inside vvvv Buttons (3D) (see your ./modules - folder)
user modules? Buttons (2D), Gestures (2D), Dragging (3D), Keyboard & Device Input, Text Display (3D), Camera Control
WestTricks Assorted tips & tricks compiled by west and others
GUI modular o_0! Modular GUI by majortom
Overlay Interface On-Screen GUI by david development stopped.->now: Remote (VVVV)
sanch modules Spreadable GUI by sanch
woei GUI elements by woei
diki patches multipatch GUI by diki
dh basic GDI GUI by dh

Forum Threads

Wiki Pages

DX 9 GUI Modules

The Method Collection

Prelude: Definition of GUI

(As tonfilm suggests:) GUI being short for 'Graphical User Interface', a GUI is usually expected to encompass two aspects: First, a structured visual representation of variables of a system. Second, the ability to change these variables through either human (user) interaction or the system itself. For the scope of this page, we will ignore the vast implications of the term 'interface' and focus on the three common devices involved: mouse, keyboard and monitor.

Parameter Input

Getting values inside VVVV is, in the most basic form, as easy as creating a Mouse (System Global) or Keyboard (System Global) node. Both of them deliver values that can then be further modified to fit specific data types. Related issues are bank selection (where a small number of keys is used to control a larger number of parameters by redirecting their inputs according to 'banks'), the storage of values, and relative instead of absolute value input - all of which are adressed in this (first) version of the Value Input demo patch (8.04 Kb Zip).

Parameter Display

(soon)

The Display as Input Device

(soon)

Wishlist

A list of methods other users (you?) would like to see covered here.

anonymous user login

Shoutbox

~4d ago

~7d ago

joreg: The Winter Season of vvvv workshops is now over but all recordings are still available for purchase: https://thenodeinstitute.org/ws23-vvvv-intermediates/

~14d ago

schlonzo: Love the new drag and drop functionality for links in latest previews!

~22d ago

joreg: Workshop on 29 02: Create Sequencers and Precise Clock Based Tools. Signup here: https://thenodeinstitute.org/courses/ws23-vvvv-08-create-sequencers-and-precise-clock-based-tools-in-vvvv-gamma/

~29d ago

joreg: Workshop on 22 02: Unlocking Shader Artistry: A Journey through ‘The Book of Shaders’ with FUSE. Signup here: https://thenodeinstitute.org/courses/ws23-vvvv-12-book-of-shaders/

~1mth ago

joreg: Talk and Workshop on February 15 & 16 in Frankfurt: https://visualprogramming.net/blog/vvvv-at-node-code-frankfurt/

~1mth ago

woei: @Joanie_AntiVJ: think so, looks doable

~1mth ago

xd_nitro: Anyone remember who increased projector brightness by removing some components that product the color?

~1mth ago

Joanie_AntiVJ: This looks super interesting (vectors over network) would anyone here know how to implement this in beta? https://github.com/madmappersoftware/Ponk