Jul 01 15:40

Quartz Composer project for Apple

apple-logo-dec07.jpg

I've just finished an interactive Quartz Composer project with Moving Brands for Apple. Unfortunately due to the strict nature of Apple PR, I cannot enclose any more information than this, but stay tuned...

Jun 23 17:42

Audio Visual Interactive Installation Teaser for Glastonbury 2008

This is a little teaser for an audio visual interactive installation I'm working on for Glastonbury 2008. It'll be projected around the entire (almost) 65ft interior of a 50ft round tent with multiple channels of audio. Everyone inside will be contributing to the audio/visual experience. Located behind the Laundrettas' crashed plane / laundrette in Trash City, more info at the official site pi.seeper.com


Jun 02 19:40

Webcam Piano with Processing v0.1

This is the beginnings of a Processing / Java port of the webcam-to-osc/midi app I originally did in Quartz Composer. The source code for the processing version is below, and you can watch (or download) the Quartz Composer version here).

Its quite early days yet and doesn't have all the features I want (scales, realtime sizing of grid etc.), but I'm posting posting it because:
a.) it does work on a basic level,
b.) It was requested on the processing forums and I thought it might be useful...

It doesn't transmit midi, but does transmit OSC, and I'm using OSCulator to forward the OSC messages to midi. I prefer doing it this way because I can have another computer on wifi receive the OSC messages and map to midi (and send to Logic), keeping the CPU on both machines lighter... (or just keep the oscTargetIP as 127.0.0.1 to send the OSC to the same machine and have everything running on one machine. Flexibility is always sweet).

May 27 14:05

Psychedelic fluids and particles with Processing

Realtime interactive psychedelic fluid simulation with processing for an upcoming installation. Watch the video below to see it in action, or click here for the interactive version (you will need Java). P.S. it takes a while to load so please be patient!


May 14 05:28

Aldeburgh Music, New Music New Media 2008, Jonathan Harvey & Luigi Nono's Prometeo

nmnm2008.jpg

I just returned from a fantastic week in Aldeburgh courtesy of Aldeburgh Music on the New Music New Media 2008 Workshop, and what a week it was...

Working with 14 amazing contemporary musicians - 6 composers and 8 performers, including cellist Olly Coates and pianist Sarah Nicolls - masters of sound-tech Sound Intermedia; and fellow visualists / interactive tech-geeks at Flat-E we delved into some nice Exploration of Audio Visual Diversity.

May 06 17:19

Controlling Quartz Composer with the Space Navigator

I created a little patch in Quartz Composer 3.0 which allows you to navigate a 3D scene using the 3Dconnexion Space Navigator.


Apr 28 02:07

Webcam Piano with Quartz Composer 3.0

A test in motion detection in Quartz Composer 3.0.

The music is all generated in real-time by me waving my fingers, hands and arms around (or in fact any motion) in front of a standard web-cam. No post-processing was done on the audio or the video.


Apr 18 08:24

WiiToMidi Modes Demonstration

wiimote.jpg

This is a demonstration of the different signal modes I added to the Mac OSX Wiimote midi driver - WiiToMidi.

None of the demonstrated signals use the IR sensor so the user has complete freedom of movement (can swing in 360s), stand pretty faraway from any received, computer etc. - and the Nunchuk also has the same position, velocity, orientation etc.


Apr 09 19:44

Timestretching in Quartz Composer

timestretcher.jpg

I was at the Adobe Air Tour 2008 in London today, and while most of it was very interesting, there were moments which were rather dry... so in my boredom I created this little Quartz Composition.

Last fall I was at Flash on the Beach in Brighton, and a guy called Craig Swann was demonstating some amazing things he'd been doing in Flash and Max MSP/Jitter. I remembered one of them today and decided to try and create something similar in Quartz Composer, the results are quite fun.

Apr 03 21:25

Drawing and exporting SVG from Flash AS3

I recently needed to do a little flash app allowing people to draw using the mouse, and then save the data on a server. The most generic and compatible way of doing this I think is converting the shape data to SVG. Below I've listed the code which does this simple conversion. I've stripped a lot of stuff out here to keep this code quite minimal, eventually it would be much better to draw (and save) as curves (instead of straight lines) and do some curve optimization, but that is not within the scope of this post. Also you can add many drawing/painting features to the app like circles, rectangles, text etc.. and just add the corresponding text to the SVG info. Some good SVG documentation can be found at www.w3.org/TR/SVG.

Apr 02 09:26

VDMX Springy Plugin

springy.jpg

In this previous post I mention creating data-source plugins or processing existing data-sources for VDMX using Quartz Composer. Well the specific example I've given in that post isn't that useful, simply does 1-x^2.

I've just created something which may be a bit more useful, its a springy smoothing patch. So you can attach springlike behaviour to data-sources and modify spring stiffness and damping. Here's the JavaScript:

Mar 31 21:56

Amoeba Dance v1.5

I showed the VDMX / QC setup used in 'Amoeba Dance - Caliper Remote' to my girlfriend and some her friends and this is what they came up with.

Who needs Autechre when you have a bunch of mad girls!!


Mar 29 00:25

Amoeba Dance - Caliper Remote

amoeba_dance_1.jpg

This is a little test using GLSL in Quartz Composer 3.0, and controlling via VDMX. The potential is humongous and very exciting!!


Mar 28 22:11

Using Quartz Composer to create VDMX plugins to process VDMX Data Sources

The current latest version of VDMX5 (0.6.2.7) now has the brilliant (undocumented) capability of using Quartz Composer patches as plugins (in addition to clips, effects and text sources).

What you need to do is:

  1. Create a Quartz Composer patch with a published input, and a published output... with JavaScript or Maths nodes inbetween.
  2. Plop your QTZ in your VDMX/plugins folder
  3. Create an instance of your plugin from the Plugin Manager (at the moment you need to restart VDMX for the plugin to appear I think, I'm sure this will be addressed quite soon).
  4. Assign any VDMX data source to the input of your QTZ plugin.
  5. Assign the ouput of your QTZ plugin as a data source to and slider.

et voila! beautiful. I've attached my sample files...

Mar 09 13:01

3D Particle System ActionScript 3 source code

stars.jpg

Here is the source code for the previous example of 3D Sprite (billboard) particle system Starry Trails. The source code is by no means generic enough to be considered an engine or library, but is work in progress. I will extend the Node3D, SpringyNode3D classes to use Papervision3D and the Billboards for the rendering, and will definitely carry on working on the particle systems. I've also been converting a lot of noise functions to AS3 and will post them soon... its all getting quite exciting in the flash world! :P

This app is made of quite a few classes so Ill start from the top (application) downwards.

/***********************************************************************
MAIN DOCUMENT CLASS
make sure you have 2 sprites in your library exported for actionscript with linkage identifiers set to RedStar and BlueStar
 

Feb 23 04:34

3D Particle System with ActionScript 3 - Starry Trails

stars.jpg

Another example of an AS3 3D Sprite based particle system. This one is using my 3D sprite engine but will port this to papervision asap. Can post the source if anyone is interested.

Feb 23 00:37

Papervision3D Flies

ClusterFly.jpg

I've been using papervision for a short while now and have been very impressed so far (hopefully soon I"ll upload some demos and code), but in the meantime I wanted to look at the performance of the new Billboard rendering and see how much (if any) overhead there was.

Feb 20 23:58

3D Particle System with ActionScript 3 - Flies

ClusterFly.jpg

A 3D particles system using Action Script 3. This does not use Papervision 3D or any other 3D engine but just a simple custom 3D sprite based engine. Not sure whether I should spend time enhancing this or just use Papervision for this kind of stuff. I've used it a bit and it looks great (will post some stuff soon), but I don't know if there is any unnessecary overheads for just 3D sprite stuff. When I get a chance I"ll recreate this demo in Papervision and compare the results.

P.S. They are my babies!

Click attachment below to view.

Feb 07 23:15

Riva Commercial Spot

riva2.jpg

Onset assistant director and visual effects supervisor, also responsible for post production on 60second commercial for clothing brand Riva. 3-day shoot in studio (mainly greenscreen shoot) in south France. Post production work involved keying, tracking, virtual set building, stabilizing, compositing, particles, cloth simulations and motion graphics.

Feb 07 23:12

Texas Instrument Making Wireless Conference 2008

ti_mwc08.jpg

Responsible for post production, motion graphics and visual effects on a 45 second video promoting ‘Texas
Instruments Making Wireless’ Technology. Shot on HD in greenscreen
studio. Video will be shown at the Making Wireless World Congress in Barcelona.

Jan 16 02:08

Bits, bytes, nibbles, binary and hex.

binary.jpg

This article will start with the basic definitions of bits, bytes etc, go through how data is stored in bits and bytes, and eventually discuss how the binary and hexadecimal number systems work, how to convert between the two and decimal and how that can be useful. Lays a foundation for later articles...

 

Jan 11 00:18

janelaurie.com

janelaurie.com.jpg

Created full flash portfolio website for illustrator and designer Jane Laurie - www.janelaurie.com. Site is entirely data driven via a PHP/MySQL backend. Front end is fully object oriented and written in AS3. Client can login and add/edit/remove images and text.

Dec 25 00:08

The Mega Super Awesome Volleyball Game Xmas 2007 Special

msav2007.jpg

A volleyball derivative flash game posing as a christmas card. Fully themeable and currently includes 2 skins, main skin by Dirk van Dijk, 2nd skin by Jane Laurie.

Play the game HERE.

P.S. Turn the snow off via the menu if its a bit slow.

P.P.S. Instructions on how to create a theme can be found here if you are interested.

Dec 06 11:32

Adidas Techfit Promo

techfit.jpg

Keyed, rotoscoped and cleaned greenscreen footage of top Adidas sportsman (tennis player Novak Djokovic, footballer Kaka, track athlete Jeremy Wariner, sprinter Tyson Gay, and basketball player Dwight Howard) to be used in promoting their Techfit brand. Images and video will be online shortly

Nov 12 15:27

Major fire at Olympic Games site

DSCF0014.jpg

You might have heard on the news about this fire, more details at the BBC. Well this fire was a 5 minute walk down the road from me. I know this doesn't really fit in the 'lab' section, but I thought I'd post it anyway. I must say it did look eerily gorgeous. I don't want to undermine the horrific nature of this event, but seeing that massive black pillar of smoke twist its way into the sky made me pickup some old books on chaos theory. Here are some photos from my flat.

Nov 12 11:45

Sphere Grid Quartz Composer patch

spheregrid.jpg

Messing about with replicators in Quartz Composer 2. Click here to see it (you will need at least Mac OSX Tiger - 10.4).

Nov 11 15:37

Eerie and Drippy (processing particles)

scary-and-drippy.jpg

Continuation of the particle system evolved into branch-like structures. Few parameters tweakable in runtime. Click here to view (you will need a java enabled browser to run this applet).

/************************************* CONSTANTS ****************************************/
int CLEAR_MODE   = 0;
int CLEAR_NONE   = CLEAR_MODE++;
int CLEAR_CLEAR  = CLEAR_MODE++;
int CLEAR_FADE   = CLEAR_MODE++;
//char[][] ClearStates = ["Clear:None", "Clear: Clear", "Clear:Fade"]
 
 
int BRANCH_MODE   = 0;
int BRANCH_NONE   = BRANCH_MODE++;
int BRANCH_BRANCH = BRANCH_MODE++;
int BRANCH_DRIP   = BRANCH_MODE++;
 
int BGCOLOR = 255;
int MAX_CIRCLE_SIZE = 15;
 
 
/************************************* VARS ****************************************/
boolean bMouseMode = false;
float fHeadSpeed = 2;

Nov 10 19:11

Processing bubbles particles system

bubbles.png

First test of the Processing language. Pretty basic particle system. Click here to view (you will need a java enabled browser to run this applet).
The code is quite object oriented so should be pretty straight forward to follow, any questions just ask...

import noc.*;
 
 
 
/************************************* VECTORFIELD ****************************************/
class VECTORFIELD {
  private float fNoiseMin, fNoiseMax;    // used for scaling values to white and black
  private float fScaleMult, fSpeedMult;
  private int iOctaves;
  private float fFallOff;
 
  VECTORFIELD(int to, float tf, float ts1, float ts2) {
    init( to, tf, ts1, ts2);
  }
 
  void init(int to, float tf, float ts1, float ts2) {
    float w = 500, h = 500;
    iOctaves = to;
    fFallOff = tf;

Nov 10 09:50

Space Invaders

spaceinv.png

Early flash game from many many years ago. Click here to see it (you will need at least flash player 6).

Nov 10 09:46

Dynamic Poetry

future.png

Dynamic poetry. Click here to see it (you will need at least flash player 7).