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

Blog

new post

Blog-posts are sorted by the tags you see below. You can filter the listing by checking/unchecking individual tags. Doubleclick or Shift-click a tag to see only its entries. For more informations see: About the Blog.

  reset tags

addon-release core-release date devvvv gallery news screenshot stuff
delicious flickr vimeo
Order by post date popularity

Who joreg, tonfilm
When Thu, May 5th 2016 - 10:00 until Thu, May 5th 2016 - 18:00
Where BAC - Le Commun, Rue des Bains 28, 1205 Geneva, Switzerland

Horray,

we've been invited to join this years Mapping Festival in Geneva where we'll be doing a full day projectionmapping masterclass. as i understood access to that will be free for everyone. we'll demo different techniques all day long and hope to get anyone who is interested in mapping with vvvv involved.

i see also see Paul Prudence who usually comes with some vvvv in his bag if i'm not mistaken..

verymuch looking forward to this and hope to see some of you there!

joreg, Thursday, Apr 21st 2016 Digg | Tweet | Delicious 1 comments  

Who you
When Wed, Sep 14th 2016 - 12:00 until Sun, Sep 25th 2016 - 12:00
Where Schmiede, Pernerinsel, Hallein, Austria

Every year in late September an abandoned industrial salt refinery on an island in Hallein, Austria opens up to around 300 Smiths and their ideas. We physically gather in order to get inspired, network, create, present and share. Schmiede provides a basic cooperative prototyping environment and an infrastructure full of impulses and passionate people.

  • Do you have a project in mind, but don't have the space, people or tools to realize it?
  • Do you want to take time to develop yourself and your projects engulfed in a large group of peers?
  • Do you want to meet like minded creatives to collaborate, exchange ideas or just get inspired?
  • Do you want to present your project or idea in front of your peers and get feedback?

Then Schmiede is the right place for you:

Cost Participation: 50Eur
Application closes: May 31st
Application confirmation: June 15th
Age limit: 18+

Apply here

Application details
Schmiede home: www.schmiede.ca

tonfilm, Tuesday, Apr 19th 2016 Digg | Tweet | Delicious 0 comments  

We are looking for a vvvv developer to join our team in Cologne for a project that will start within the next two weeks and run until the beginning of June.

The project comprises realtime visuals for a launch event (automotive sector).

Key qualifications:

  • audio reactive aesthetic / sound visualization
  • particle systems
  • DX 11

We would prefer if you could work at our office space in Cologne.

If you're interested please send us an email as soon as possible to stephan@grosse8.de so we can give you more details. Please also include samples of previous work, your availability and expected daily rate.

Looking forward to hearing from you!

vehenn, Thursday, Apr 14th 2016 Digg | Tweet | Delicious 1 comments  

When Thu, Apr 21st 2016 until Sun, Apr 24th 2016
Where Gray Area / Grand Theater, 2665 Mission Street, San Francisco, United States

helo bay area again,

i'll be workshopping and talking some vvvv on the Gray Area Festival later in april. go see their schedule! they have a verynaice lineup of talks, performances, workshops and an exhibition. i for one will go see all of it..

then my talk "An Ode to Visual Programming" will be on april 22nd 14:15 and my workshop "Getting things done with vvvv" is on april 24th 11:00. if you're new to vvvv and curious to give it a try this 3h overview introduction is right for you.

hope to see some of you there...

joreg, Wednesday, Apr 13th 2016 Digg | Tweet | Delicious 1 comments  

Hi everybody.

thought this would be a nice job - read more:http://www.ufg.at/Jobs-Detail.2144+M5f57eabd259.0.html

An der Universität für künstlerische und industrielle Gestaltung Linz gelangt am Institut für Medien in der Abteilung für Zeitbasierte und Interaktive Medien ab 01. August 2016 die Stelle einer Universitätsassistentin / eines Universitätsassistenten für den Schwerpunkt Interaktive Medien / Interfacegestaltung im halben Beschäftigungsausmaß befristet auf 5 Jahre zur Besetzung.

Bewerbungen sind unter Angabe der Telefonnummer bis spätestens 20. Mai 2016 an ufg.bewerbung241@ufg.at ,an die Zentrale Verwaltung, Hauptplatz 8, 4020 Linz zu richten.

all the best, kathi.

kathi, Wednesday, Apr 6th 2016 Digg | Tweet | Delicious 0 comments  

previously on vvvv: vvvvhat happened in February 2016


winter's come to an end but still apparently everyone was very busy vvvvinging away, because here is what we got this time:

Contributions

two completely new addons:

and a couple of updates:

Gallery

SOMAPHONY an audiovisual composition by zeos performed by Katharina Köller:

Also the two won a prize with their 10ve installation we saw at NODE15.

There is a new 000.graphics showrweel by tekcor. And don't miss the Digital Forest Dome documentation about a recent project by colorsound and aka-visuals and the Interactive dance show with crowd genereated stickman documentation about a recent project by zepi.

Meso added two documentations about two of their last years projects to vimeo: BMW Carbon Core - IAA 2015 and BMW Plugin-In Hybrid Electric Vehicle - IAA 2015.

Here is a list of flickr users who recently added some of their stuff to the vvvv group:

And Quadrature are in the news: http://www.aec.at/aeblog/2016/03/15/artandscience-quadrature/

Education

microdee is unstoppable. he organized and streamed another 2 workshops. one with vux on how to write DX11 Plugins, the other with some of his friends on integrating LambdaCube (a functional gpu-language)) with vvvv. see them and all the previous ones on the vveekend vvorkshops youtube channel.

if you're keen on meeting other patchers in person have a look at these creative coding meetups around the world. i can specifically recommend the berlin one which i've enjoyed myself some of already..

Upcoming workshops

Because there are so many in april i thought i'd list them for you:

what the VL?

If you care to read some more about the future of programming please check our two recent posts:
Integer and Primitive Types in VL
VL Winter Update


whoa i think that should do.. if i forgot anything please add it in the comments. and show us what you're patching with in april.

joreg, Monday, Apr 4th 2016 Digg | Tweet | Delicious 0 comments  

previously on VL: VL Autumn Update


WHY DOES THAT TAKE SO LONG? Glad you're still with us to ask that question. Well, good things take a while... not good enough? naa, i know you deserve better. so please read on below after the "what the vl" blurb to learn more.

What the VL?

VL is a general purpose visual programming language that combines dataflow with features known from object-oriented programming. It comes with a compiler that builds to the .net intermediate language and as such produces executables and libraries compatible to .net/mono.

Language features include but are not limited to:

  • datatypes and operations
  • loops
  • delegates
  • generics
  • observables
  • interfaces

As a proof of concept VL is now embedded into vvvv before it will later be available in a standalone development environment. Also we're planning for VL to be embeddable in other software products allowing it to become a dynamic plugin provider for various applications. More on that later..

Where its at

Here is how we like to think about VLs current state: a few month after our initial public release at node15 we found that there are a few things that we can radically improve. Mostly under the hood. And we decided to give it a go now rather than running into problems later. So at the moment we're finishing a branch that has all those changes in it with the goal that when merging it back to our main branch we're at a stage where we've been around 5 month ago and what will look quite similar to what is available with the vvvv-alpha download at the moment. Not too uplifting, eh? Well, there will also be a few notable changes:

No more Utility patches

The biggest change comes in the fact that VL now no longer distinguishes between datatype and utility patches. Utility operations can now simply be patched anywhere, inside or outside a datatype-patch. And they can now call operations that are defined on the same canvas. You're therefore no longer forced to split up utilities into "MyUtils2, MyUtils3..." to only call one operation from the other.

Document Canvas

This one is quite something though it is in a very simple state only at the moment. As you already know, a .vl document can hold any number of patches. Only so far you didn't get a good overview of all those. The document canvas now provides such an overview in that it shows you a (freely arrangable) listing of all patches in a document. Later this canvas may be used to visualize dependencies between types or references to interfaces or documents. Nothing promised, but just to give you an idea that with the document canvas we're establishing a new view that will help you organize your projects.

Excerpt of the VL.CoreLib.vl document canvas

New file format

The .vl fileformat has changed. Still .xml only with a different layout. Nothing to worry for you though since we have a converter in place that loads old .vl files and saves them in the new format.

Library

The good news: our work on the VL library continues steadily and is not set back by the mentioned restructuring of the core. work is going on in parallel here.
The bad news: none

Our work on all things library is going on on two front lines:

  1. building the VL.CoreLib
  2. learning about importing miscellaneous .net libraries

ad 1)
here our latest work was regarding integer-and-primitive-types-in-vl

ad 2)
we're now in the process of preparing a chapter for The Gray Book where we're trying to answer all your questions before you can even ask them.

Basically our idea is that as soon as the chapter is finished (which may still take a while) we'll release it to you. Independent of the rest of the state of VL as we're starting to get confident enough with the language that we believe there should not be any hard breaking changes coming up anymore (for a while at least).

In practice we've had a go at importing SkiaSharp, the blazingly fast 2d drawing library (that powers chrome and firefox) then SharpFont which is a wrapper around freetype and gives us access to any type of fonts curves and VerbalExpressions which is a convenient alternative to ordinary regular expressions.

All three libraries imported nicely and had their own quirks which we documented. We can now also say that almost all libraries will need some kind of a wrapper (patched in VL and/or written in C#) to be conveniently usable in visualprogramming because after all they were not made for that. Still those wrappers are easy to realize and most of the work goes into wrapper-design, which is actually all the fun.

Just recently we announced the editing framework and also in the works and the next to land in the public alpha builds is a complete implementation of the arduino/firmata protocoll in VL. Because we can!

Next Steps

On our road to beta35 which will be the first vvvversion that includes VL as a first-class patching language we'll first release a new series of alpha-versions including our new work described above and probably some of the libraries mentioned. Then beta35, then the world. So you may want to get started now. If you don't have time to come to the 3 days introduction workshop on VL in april, here is how you can help yourself:

Diving into VL

joreg, Tuesday, Mar 29th 2016 Digg | Tweet | Delicious 7 comments  

Who joreg
When Mon, Apr 11th 2016 - 18:00 until Fri, Apr 15th 2016 - 21:00
Where Gray Area / Grand Theater, 2665 Mission Street, San Francisco, United States

helo again,

i'm happy to announce the following workshop that i'll be hosting at San Francisco's Gray Area. it will be 9 hours streched over 3 days and the idea is to give an easy introduction to vvvv alongside an introduction to projection mapping techniques. so if you've been interested in either or even both, this workshop is for you:

In this 3 part workshop we'll cover various topics and techniques relevant for projection mapping.

After a quick general introduction to the wide range of use cases vvvv covers, we'll explore different features of vvvv that help with the creation of custom tools for interactive content creation and mapping.

We'll cover topics like video effects and compositing, homography based mapping, re-projection based mapping, projector calibration, working with point and curve-editors for animation and more. Bring your questions and ideas and we'll elaborate on those as our time permits.

Enrollment for this workshop is $270 ($30 per hour x 9)

For complete schedule, requirements and enrollment please visit:

http://grayarea.org/event/vvvv-workshop

hope to see some of you there!


additionally i'll be doing a 3h introduction to vvvv during the Gray Area Festival on Sunday, April 24th + a short talk on Friday, April 22nd. but i'll spend that an extra announcement later...

joreg, Friday, Mar 25th 2016 Digg | Tweet | Delicious 1 comments  

Introduction

The latest VL comes with a revised 'Primitive' category in the nodebrowser. This category holds the most basic data types which the system has build in. As amazing as it sounds all other types are made out of them.

There are:

  • Integer and floating point numeric types for calculations
  • Boolean for logic
  • Char and String for text
  • A few system types like Exception and Object

In this article we will focus on the numeric types and which operations VL ships for them.

Overview

Primitive numeric types come in two flavors: integer and floating point. The number after the type name is the size of the type in bits. The number of bits also defines the value range that the type can hold.

The VL default types are Integer32 and Float32.

Operators and Types

Numeric Unary Numeric Binary Bit Unary Bit Binary Bit Shift Bool Unary Bool Binary
+
-
+
-
*
/
%
<
>
<=
>=
==
!=
~ &
^
|
<<
>>
! ==
!=
&&
||
&
|
^

You should know most of them from math class but there are a few computer specific ones:

Division for integers is called DIV and it outputs an integer again. The "/" operator on integer types returns a floating point number.

The "%" operator is called MOD in VL and returns the remainder of a division.

For integers there is a combination of DIV and MOD called DIVMOD which outputs both the result of the division and the remainder. A practical usage is 2D column/row index calculation.

"~" is the ones complement, it inverts all bits of a value.

">>", "<<" are the bit shift operators, they move all bits of a type to the left or right. New bits are padded with zeroes.

The following table gives an overview of all types and their operators:

VL Name Bits Unary Binary C# Name
Integer8 8 num/bit num/bit/shift sbyte
Byte 8 num/bit num/bit/shift byte
Char 16 num/bit num/bit/shift char
Integer16 16 num/bit num/bit/shift short
Integer16 (Unsigned) 16 num/bit num/bit/shift ushort
Integer32 32 num/bit num/bit/shift int
Integer32 (Unsigned) 32 num/bit num/bit/shift uint
Integer64 64 num/bit num/bit/shift long
Integer64 (Unsigned) 64 +, ~ num/bit/shift ulong
Float32 32 num num float
Float64 64 num num double
Boolean 1 bool bool bool

Value Range

Integer types

Type Range Size
Integer8 -128 to 127 Signed 8-bit integer
Byte 0 to 255 Unsigned 8-bit integer
Char U+0000 to U+ffff Unicode 16-bit character
Integer16 -32,768 to 32,767 Signed 16-bit integer
Integer16 (Unsigned) 0 to 65,535 Unsigned 16-bit integer
Integer32 -2,147,483,648 to 2,147,483,647 Signed 32-bit integer
Integer32 (Unsigned) 0 to 4,294,967,295 Unsigned 32-bit integer
Integer64 -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 Signed 64-bit integer
Integer64 (Unsigned) 0 to 18,446,744,073,709,551,615 Unsigned 64-bit integer

Floating point types

Type Approximate range Precision Size
Float32 ±1.5 * E45 to ±3.4 * E38 7 digits 32-bit float
Float64 ±5.0 * E−324 to ±1.7 * E308 15-16 digits 64-bit float
Floating point numbers have an insane value range, but its important to understand that there is only a certain number of digits of precision.
This also means that the maximum consecutive integer that can be represented is 2^24 = 16,777,216 for Float32 and 2^54 = 9,007,199,254,740,992 for Float64, keep that in mind when connecting integers to float inputs.

Conversions

Between Numeric Types

Smaller integer types can directly be connected to bigger integer types that can hold the range of the smaller type and to floating point types.
For all other conversions a node is required since information might get lost.
However, sometimes you want to trick the VL type inference system or you explicitly want a specific type and therefore the complete list of conversion nodes are available.

Checked

Checked conversions throw an error if the value to convert exceeds the range of the target type. This can be helpful if you want to make sure to assign correct values to bytes.

The naming scheme of the nodes is ToTargetType and they are located in the category of the source type. For example a conversion from Integer32 to Byte is called ToByte (Integer32). Unsigned types are abbreviated with an 'U', so a conversion from Float32 to Integer32 (Unsigned) is called ToUInt32 (Float32).

Unchecked

Unchecked conversions do not throw errors and just copy appropriate bits from the source type to the target type. This results in value wrapping. For example converting an Integer32 with value 256 to a Byte will result in a value of 0, an integer with value 257 in a value of 1 and so on...

Because they directly copy the bits, the naming scheme of the nodes is BitsToTargetType in the category of the source type. For example a conversion from Integer32 to Integer64 (Unsigned) is called BitsToUint64 (Integer32) or a Byte to Char BitsToChar (Byte).

Type -> String

The conversion form machine representation to human readable string is of course essential for programming. There is a general node ToString (Object) which tries to convert everything plugged in to it to a string. This node works for all numeric types and Char because the system knows what to do.

However if you want your value in a specific string representation you have three more advanced nodes for all numeric types:

ToString (Format)

This is the most powerful node. It allows to input a format string which acts as template for the output string of the value. See these two documentation pages for the vast amount of possibilities (thanks microsoft!).
Standard Format Strings
Custom Format Strings

ToString (Binary)

Quite helpful when working with low level device protocols and other bitwise operations. Nerds ahoi!

ToString (Hex)

Hexadecimal is a compact representation of the bits where one digit can represent 16 values from '0' to 'F' which is 4 bits. You know this probably from html colors. Medium nerdy.

String -> Type

Parsing strings to a numeric type is also often required. When getting user input from or reading data from a text file for example. Since the parsing can go wrong quite easily the nodes are called TryParse and have a boolean output 'Success' which indicates whether the input string could be parsed into a numeric value that makes sense.

TryParse (Hex)

Version to parse hexadecimal strings into a numeric type.

TryParse (Binary)

My personal favorite, parsing binary strings. (Didn't you ever want to just type ones and zeroes into your computer?).

Conclusion

This might be some heavy detailed stuff for the average user, but it gives us a solid core library that is ready for all tasks and can solve even the problems on the lowest level.

And rest assured, most of the time you will just deal with the standard types Integer32 and Float32 and don't have to worry about the others. But in the 1% case when you need to shuffle the bits its all there for you.

yours,
devvvvs

tonfilm, Wednesday, Mar 23rd 2016 Digg | Tweet | Delicious 1 comments  

Who azeno gregsn
When Thu, Apr 14th 2016 until Sat, Apr 16th 2016

VVVV will be present at resonate again. There'll be several workshops:


Elias Holzer and Sebastian Gregor doing a 3day workshop:
Next Generation Visual Programming with VL
We'll try to identify the sort of problems that can be tackled best with VL and show how to use VL within vvvv.
(Parobrod, 11th-13th April, 10AM-6PM Daily)


Elliot Woods doing a 1day workshop:
Projection Mapping on People
This workshop will introduce methods for projecting onto dancers, actors, or your audience.
(Kinoteka, 14th April, 10AM-6PM)

Belgrade

EDIT: "Manipulating Light to Transform Reality" is not happening this year.

gregsn, Tuesday, Mar 22nd 2016 Digg | Tweet | Delicious 2 comments  

anonymous user login

Shoutbox

~2d ago

evvvvil: @blausand: spread filename input of writer node to 2 slices: L.wav & R.wav or use "+(vaudio spectral)" before writer node audio in

~3d ago

evvvvil: @manuel: use ass-imp and fbx (works with collada too) but use ASS-imp.

~3d ago

blausand: Is there a way to create stereo/multitrack sound files using VVVV? VAudio's Writer is mono only…

~3d ago

antokhio: @julian you have to use FXAA

~4d ago

manuel: cant use a collada exported from sketchup... any hint ? In the past i was able to do it

~5d ago

julian: hi, how can I put anti aliasing on deferred shadow? any suggestions? deferred-shadow-dx11 thanks a lot!

~5d ago

evvvvil: Push all logic through compute shaders until framedelays sheer existence is being crushed by the gpu's rhetorical question solving.

~5d ago

nerezumijem: Driver to install? I do not recognize the enntec usb promk2

~6d ago

joreg: vvvv bughunt with chance to win a #lattepanda running for 10 more days: find-a-bug-win-a-panda-(latte)

~6d ago

vasilis: Does Speech Node ( vux plugins speech ) work with windows XP?