» 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

~20h ago

Hadasi: ...classic

~24h ago

Hadasi: @welove the videos are still up there https://www.twitch.tv/wirmachenbunt/videos

~1d ago

welovemedia: Big thanks for the stream, will this stay online or be shared as a download for those who could not watch it live?

~1d ago

CeeYaa: Big THX for the daylong streaming - and amazing Project Insights https://www.twitch.tv/videos/412932722

~2d ago

u7angel: twitch livestream vvvv gamma

~3d ago

u7angel: @domj, sure

~3d ago

domj: @u7angel: nice! How about the talk later at 7?

~3d ago

u7angel: vvvv-gamma-presentation will be streamed on twitch, starts 2pm, channel name is vvvv gamma

~3d ago

joreg: vvvv heads in #hamburg #kiel: if you're bored this thursday, please come join us for a workshop and/or talk: vvvv-gamma-presentation

~4d ago

sebescudie: @teckor: maybe ui-plugin ?