openFrameworks workshop - London 2009

made with openFrameworks from openFrameworks on Vimeo.

This weekend saw the second London based openFrameworks workshop. It was kindly organized by Ruiri Glynn who writes the blog Interactive Architecture and hosted by UCL’s MSc Adaptive Architecture and Computation at which Ruiri lectures. Other notable contributors were Memo Akten who seems to be prolific in the area of openFrameworks on the iPhone, Joel Gethin Lewis who is invovled in This Happened and Marek Bereza.

The two day workshop started on Saturday (Day 01) from the very ground up, taking us through the class structure, syntax and implementation of some basic openFrameworks projects. They kindly set up two projectors to cater for those on OS X using Xcode and those on Windows using Code Blocks. The syntax is not different between platforms however there are some minor differences in the IDE experience. Using this setup Memo, Joel and Merek led us through three examples including a simple drawing and interaction demo, a particle system and a very basic sound synthesizer. Using these examples, the workshops leaders demonstrated the basic setup of the three files required to compile our first C++ application. The main.cpp file - which is where the magic happens - is similar in function structure to the basic Processing patch with a setup() & draw() function plus easy interfaces to mouse and keyboard inputs. Throughout the examples were also snippets of advice and information about standard coding concepts and practices (pointers, arrays, etc) plus basic principles of OOP concepts (encapsulation, inheritance, etc).

OpenFrameworks’ ability to leverage some of the more powerful aspects of C++ became evident on Sunday (Day 02) when we went through the addon examples, which are applications with various functionality created by the oF community for reuse. These examples included a 3D rendered model of a squirrel (of course), a client and server app communicating using TCP, UDP or OSC and a threading example. The ability to utilize threading to take full advantage of multi-core systems exemplifies the power you can wield when developing in openFrameworks. One pragmatic example of threads in use would be to enable the efficient use of multiple camera inputs plus computer vision as an interface for an interactive installation; we’re talking about 6 cameras without issue.

Although the demonstrators at this event were advocates of openFrameworks itself, throughout the workshop they were even more evangelical about the community which surrounds and supports it. All the openFrameworks libraries are completely open source and available for the community to amend, update and reuse. Each library has it’s own LGPL license - a version of the GPL which does not extend any further than the original libraries. This balance of (not too) copy-left licensing and open source methodologies, I hope, will help to continue the momentum which seems to have been generated around the openFrameworks project.

As a developer I am easily excited by the ability to use C++ without having to go through the inconvenience of a degree in computer science however the proliferation of frameworks such as these may, hopefully, accelerate the creation of more diverse interfaces to digital media than the keyboard and mouse; which is possible more exciting to the vast majority!

All of the examples which we went through during the workshop are availble from the openFramworks wiki.

Urban mobility

Sunday @ 1pm
Outside Liverpool Street Station (Bishopsgate exit - top of the escalators)

I am aware that most people have no idea what the reasoning behind this little jaunt is. Although I don’t think anyone really needs this knowledge (as i’m just getting to grips with it) to take part I think it would be helpful to look at some of the things which have influenced this.

Lottie Child - Doing Nothing

Doing Nothing is a vital skill that can be developed. In western late capitalist metropolis life most people are working long hours with free time potentially being another form of stressful consumption. Are we stuck in cycles of hyper consumption and production on many levels including our own heads? How do you do nothing?

Last Monday i lay on the pavement near to Habitat on Tottenham Court Road from 5.30pm - 6.00 as the commuters became fewer and the evening light changed - you notice different things when you stop and do close to nothing. I ignored people but occasionally when they caught my eye they smiled and i wonder if doing nothing in public space throws all the speed and activity into contrast i wonder if it makes people reflect differently on all the doing we are doing and the ways we behave in london.

Lottie Child - Urban Climbing

More Urban Climbing.

These activities are influenced by the knowledge that the city is more than just it’s built forms. Urban space and the city are a not just made up of physical but also social and mental structures. We all create our own interpretation of our environment and this is influenced by the often privatised and homogenised built up environment. The idea behind Lottie’s Doing Nothing and here other activities, Street Training and Urban Climbing, is to enable people to have an effect on their surroundings equalling that which our surroundings have on us.

Alex Villar - Upward Mobility

Alex Villar - Upward Mobility

Click image for more detail on Alex Villar - Upward Mobility

Both these projects are also quite simply attempts to break the norms of everyday life. An way of creating new meaning and significations in space which we take for granted as existing for utilitarian purposes only. Villar’s particular flavour of retaliation shuns the everyday horizontal movement in the city, challenging the means by which city planning forces our movement in a particular trajectory. Although it was by no means his aim, any attempt to achieve any practical goals using these methods are futile at best.

It is important to remember that there are no practical goals for Sunday. No research, empirical or theoretical. Despite this there will be guidance because challenging the conventions of usual activity in the city goes against its nature.

Feel free to bring anyone who has an interest or some spare time. Don’t wear your Sunday best, just in case and bring a camera if you can. I’d appreciate it if people could document proceedings.

-> Event page.

Many thanks,

G

Scintillating


SCINTILLATION from Xavier Chassaing on Vimeo.

This combination of stop motion and live projection mapping techniques is the most stunning piece of video I have seen in quite a while. The film is entirely constructed from 35000 still images which enables the supremely detailed and high quality shifts in depth of focus. I personally have no idea about the technical intricacies of live project mapping but the visual effect of multi coloured fire streaming across those orchids is nothing but sensational; in the absolute original meaning of the word as scintillating to the senses!

The ambient, minimal music by Fedaden is also worth a mention.

G

More video from the event

Some wonderful editing from Nico and some great voxpopping from (supposedly shy in front of the public) Brittany.

G

Video from the Coin Laundry Orchestra


Coin Laundry Orchestra from Gareth Foote on Vimeo.

I have plenty to say about my experience at the Coin Laundry on Sunday. Overall it went well and was a great experience however there is plenty of room for constructive self criticism.

I will not be getting into the details of this reflection in this post but I have been harranged into putting up some video of the event by my blogging idol, Marc. So above is a stop frame video of half an hour of the event. It contains some people actually doing washing, some people who are there for the event and a man in the bottom right who keeps hitting the payment machine. It took his money once and he got angry, he fed the machine more money and it took it again. Once bitten, twice not so shy.

I’d also like to say a thanks to all my group who are a pleasure to work with and be around. Loipon!

Cheers,

G

Today’s the day

Database Error

After reflection I feel I need to apologise for the pretentious name of our event. It was a snap decision and I resent the fact that I have forced this upon my group.
Sorry guys.

G

…3 days to go.

In my last post I hinted to the beginning of what I thought was impending disaster.

The original planned setup for connecting physical switches to Ableton Live was based around key mapping. Live quite nicely allows you to map a track/channel to any key (the letter ‘a’ in this case) and this key then acts as a switch. This seemed to be coupled nicely to our needs. The next stage was to get Arduino to send the ASCII code representing the key we had mapped through serial communication. This was a foolproof plan………in our minds. The problem occured when I realised we could get the Arduino IDE to print the key we’d mapped however neither I, nor my group, had the expertise to get Live to believe that an actual key had been pressed. I’m sure this is possible however I did not have the time, patience or know how to do it.

To work around this we have introduced some additional elements to the software side of the project; SimpleMessageSystem for Arduino and a custom patch for Max/MSP. SimpleMessageSystem provides the necessary firmware which is loaded onto the Arduino board and allows Max/MSP to access all the digital and analogue inputs of the board. You can see in the image below the visual representation of the analogue(yellow dots in a row) and digital(inside the blue box).

Max Arduino Patch

Max Arduino Patch

This has worked out quite well as Max and Ableton work extremely well together. Yesterday we managed for the first time to create a fully working system, despite it being totally out of the vastly more complex context of the launderette. We have now tested the system with one manual push button switch which has turned on one channel of music from Arduino to Max/MSP and then via MIDI mapping to Ableton Live.

Other members of the group have also today got an infrared sensor working on the Arduino board as well.

Plenty more to do though…….

Coin Laundry as database

Database Error

During our morning seminar with Graham we discussed the concept of databases as a contemporary abstract concept which enables a new cultural perspective in which answers are not as important as asking the correct questions.

Because of the non-linearity and abundance of data sets as structures and systems of information, we are able to investigate the relationships within these in the form of databases. This does not necessarily apply only to predefined databases which are already digitalised and provided to you in tabular format, but also conceiving a database from any circumstance in which you would like to make an investigation.

In the case of our Coin Laundry project we have looked at the data set which we are using within the project. There are the four channels of music and each have potential layers of related information. Each channel has a boolean state (on or off), a volume (between none and full), tempo, pitch, etc. We also have either our four switches/footpads or Infrared receivers. If we assume that we will only use the switches/footpads (which also have an on and off state) then we could create a relationship between the footpads on/off state and the musics on/off state. However the switches will also have a potentially usable value in the amount of time someone is standing on them. Therefore we could create a relationship between the length of time someone stands on the footpad and how loud, fast or distorted the music becomes.

We need to consider the potential data sets which we could make use of within the interaction between people in the CL and the system we are setting up.


I started writing this post a few hours ago and finished it after encountering some major technical barriers with our intended process for communicating between physical switches and our our choosen music program. It is clear to me and the rest of the group that we have left our grand ideas and complex technical aspirations until quite late in the day and I suspect we about to start suffering the consequences. Whoop!! \o/

Depending on how gloomy the situation is tomorrow I may update with the technical details.

Coin Laundry update - add a dash of infrared

Originally we were going to be switching channels of music on and off using manual switches under custom made footpads - fiddly!! After a workshop (An Introduction to Arduino) we have decided to change the switches to infrared sensors. When the infrared beam is broken this will send a signal to switch the music on or off however we will also be able to get the distance away from the sensor that the beam was broken. If we have time we can then give another element of control to the users.

Crisis talks…..new ideas!

Coin Laundry - Old Street, London
Our group went for crisis talks yesterday in order to finalise and specify one of the many ambling and unfocused ideas we have had over the last month or so.

Our problem it seems is that we have a lot of man-power (our group consists of 5) which means a lot of ideas and not a lot of focus. It also means that we should be pushing forward with an extra large project to match our group size. After some uncontrollable sobbing we decided to scrap everything we have done previously and start doing something which excited us all. We wanted to give people the opportunity to see or hear a direct response from the changing media ecology of the coin laundry. Therefore our idea is as follows:

+ We interview customers to get some subjective opinions on the area and the CL itself.
+ We record some environmental sounds/noises from the CL. eg Washers / dryers / coin machines
+ We generate 4 individual sound tracks which when played together create a melody.
+ One track is made from granular synthesis and one track is the interviews recorded previously.
+ Make 4 switches which will be placed around the CL which will turn on/off the four layers of sound.
- The switches will be basic electronic devices positioned under custom made footpads which will allow customers to stand on the footpad to turn channels of music on and off.
- The switches will be attached to an arduino board (a simple circuit board for bridging physical inputs and outputs and software running on computers) and from their into ableton live which will turn the music channels on or off.
+ A webcam will also be in the corner of the room which is using motion detection in Max MSP to detect levels of movement. This movement is creating a MIDI output which feeds into the music being played adjusting pitch/tone/tempo.

This all will allow people in the coin laundry to make music from and in their surroundings.

Hope it works!!

G