Latest Entries

thingsVisualizer

thingsVisualizer

With the thingsVisualizer you can turn your toDo-Lists into timeline charts. There will follow more visualizations. Right now it is in a very early state. So lots of bugs to fix. If you have any ideas or wishes on this project please let me know.

How to use:

  1. Download the Zip-File below
  2. Unpack and put it in your things-storage folder
    (User/Library/Application Support/Cultured Code/Things/)
  3. Start using flash-player or drop it on your browser
  4. Select an area from the first dropdown
  5. Select a project from the second dropdown
  6. Then drag tags from the first box into the second
  7. Press update

So far the system is visualizing one row for each tag and shows only todos with a due-date. There will be more options in a later version.

Download thingsVisualizer v0.1

mrmr, iPhone, oscP5 & Processing.org

Throughout the weekend i spend a couple of hours connecting my iPhone with my Processing Applications. This walkthrough should explain the basic steps to get the communication between your iPhone and your Processing Applications going. I am developing my applications from Eclipse and not the Processing-Development-Environment. But it should be quite easy to translate the steps.

Step 1 – the oscP5 Library

First we need to install the oscP5 Library, this will allow us later on to receive Data from the iPhone through the osc protocol. Just add the oscP5.jar to your Java Project and “add it to your build path”.

Step 2 – get the iPhone App

Now install the iPhone App that will send the messages to your processing app. We will use the free mrmr-app, which is part of the mrmr openSource project. For people who are interested in the way the iPhone is using the osc idea, you can download the app source-code from the website above.

Step 3 – run the iPhone App

After installing the iPhone App, open it and manually add a server, the server is the IP-Adress of the machine you are running Eclipse on, plus port number 1337. (For example 192.168.1.42:1337). After entering your IP choose a set of controls.

Step 4 – Accessing the OSC Variables

The iPhone is already sending data to your machine, so we just need to add some code and start our processing app. The basic implementation looks like this:

OscP5 oscP5;
public void setup() {
oscP5 = new OscP5(this,1337);
}

void oscEvent(OscMessage theOscMessage) {
//Do something with theOscMessage…
}

To make handling the incoming OscMessage a lot easier, i have written a couple of classes, just add them directly into your default package and change your project like this:

OscP5 oscP5;
mrmrOscHandler mrmr;
public void setup() {
oscP5 = new OscP5(this,1337);mrmr = new mrmrOscHandler(this);
}
public void draw() {
background(0);
fill(255);
mrmrHolder mrmrVariables = mrmr.getVariables();
ellipse(200,200, mrmrVariables.accelerometer.force*100, mrmrVariables.accelerometer.force*100);
}

void oscEvent(OscMessage theOscMessage) {
mrmr.update(theOscMessage);
}

The mrmrHandler is simply taken care of filtering the incoming messages and putting the values in an organized array that looks like this:

mrmrVariables.accelerometer.angle -> int
mrmrVariables.accelerometer.force -> float
mrmrVariables.accelerometer.direction -> int
mrmrVariables.accelerometerX -> float
mrmrVariables.accelerometerY -> float
mrmrVariables.accelerometerZ -> float
mrmrVariables.objects[cItemNum].x -> float for tactileZones
mrmrVariables.objects[cItemNum].y -> float for tactileZones
mrmrVariables.objects[cItemNum].position -> float for slider
mrmrVariables.objects[cItemNum].pressed -> boolean for buttons

Nearly forgotten about a little security feature i have added. In the mrmr-iPhone-app you can edit the “Player” name. Through the function:

mrmrOscHandler.setUsername(String username)

you can enter a username in eclipse and check it against your “Player”-name to stop other people from sending data to your Application.

In the end it should look like this:



Copyright © 2004–2009. All rights reserved.

RSS Feed. This blog is proudly powered by Wordpress and uses Modern Clix, a theme by Rodrigo Galindez modified by Sebastian Meier.