Interface Engineering

Our project (step by step) :

When the application is lauched, it go to the FullScreen (Library Full Screen in Processing), we can see a picture of our glove and a timer for take all necessary informations, the user should not move.

Begin

When the timer is done, we can play with a cube, all data come from a thread class, this thread retrieves in a while loop all data from the sensor.

Cube

The user can push down and the cube explode.

Cube explode

It’s for going to the next panel and choose two themes, it’s a kind of subway map.

Themes

After the user has chosen two themes, the map explode when the user push down.

Subway Explode

After that the program sends OSC messages with Processing (OscP5) for play the first video of the two themes and with the glove, it’s an example of OSC message (for rotate x) :

String rotationX(float value){
byte[] valeur = this.GetBytes(value);

position =”/layer”+layer+”/clip”+clip+”/video/rotatex/values” + (char)0 + (char)0 + “,f” + (char)0 + (char)0 + (char)abs(valeur[0]) + (char)abs(valeur[1]) + (char)abs(valeur[2]) + (char)abs(valeur[3]);
return position;
}

private byte[] GetBytes(float value) {

ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
DataOutputStream stream = new DataOutputStream(byteStream);
try {
stream.writeFloat(value);
} catch (IOException e) {
return new byte[4];
}
return byteStream.toByteArray();
}

We must convert float number to a bytes array and after that, we can build the OSC message (here the name is “position”).

We use XML file for know where are all the videos in Resolume Avenue and wich audio is affected to a video, like that:

if you look the “rotationX”, you can see “layer” and “position”, the content of these variables are taken from the XML file.

With our program, the user can :

  • change the opacity (for watching the first or the second video);
  • zooming;
  • rotate x.

in Resolume Avenue (Only three effects for the moment).

When the user selected a video with the glove, Processing launch the audio attached to the video (librairy Minim) !

All we have 4 themes of our videos (Atomium, Night Club, EU (Europeen Union), ISIB (Institut Supérieur Industriel de Bruxelles)).

All is programming in Java with Processing (interface, the data acquisition and the sending of OSC messages), we don’t have used Prototyping Tools and all backgrounds are made by us.