
| Artist | Track (Remix) | Label | Year |
|---|---|---|---|
| District One | Handsome | 100% Pure | 2008 |
| Paolo Mojo | Nightlaw | Toolroom | 2008 |
| Frankie | Salute! | Faste Music | 2008 |
| Hauswerks and Gaz James | Odyssey | Hauswerks | 2008 |
| Gabe | Amnesia | Sprout | 2008 |
| Koen Groeneveld | Wake Turbulence | Abzolut | 2008 |
| Sebastien Leger | Bambou | Mistakes Music | 2008 |
| Tiger Stripes | Sthlm Hustle | Audio Therapy | 2008 |
| Lutzenkirchen | Paperboy (D-nox and Beckers mix) | Great Stuff | 2008 |
| Sunshine Jones | If You Wouldn’t Mind (Tiger Stripes mix) | King Street Sounds | 2008 |
| Marshall | Keep It Real | 303Lovers | 2008 |
| Butch | Mushroom Man | AFU Limited | 2008 |
| Lucio Aquilina | Magic M | Cocoon | 2007 |
// VJamm PS2 script by Jeff Mission – http://beatfix.com
// keymap joystick (or PS2 controller) to control VJamm demo version
// change “Joystick2″ to your joystick # as needed
// optimised for Naki DDR handheld pad
debug=Joystick2.x
if (!Joystick2.Button9) && (!Joystick2.Button10) then {
Key.LeftBracket=Joystick2.Button7
Key.RightBracket=Joystick2.Button5
Key.Backspace=Joystick2.Button7+Joystick2.Button5
key.left=Joystick2.Button6
key.right=Joystick2.Button8
}
if (Joystick2.Button10) {
Key.2=Joystick2.Button7
Key.4=Joystick2.Button5
key.6=Joystick2.Button6
key.8=Joystick2.Button8
key.0=Joystick2.Button9
}
key.P=doubleclicked(Joystick2.Button10)
if (Joystick2.Button9) {
if Joystick2.Button7 then var.mode=0
if Joystick2.Button5 then var.mode=1
key.C=Joystick2.Button6
key.L=Joystick2.Button8
}
key.X=doubleclicked(Joystick2.Button9)
if (var.mode=0) {
Key.Q=Joystick2.Button3
Key.W = (Joystick2.y=-1)
Key.E=Joystick2.Button2
Key.R = (Joystick2.x=-1)
Key.T = (Joystick2.x=1)
Key.Y=Joystick2.Button1
Key.U = (Joystick2.y=1)
Key.I=Joystick2.Button4
}
if (var.mode=1) {
Key.A=Joystick2.Button3
Key.S = (Joystick2.y=-1)
Key.D=Joystick2.Button2
Key.F = (Joystick2.x=-1)
Key.G = (Joystick2.x=1)
Key.H=Joystick2.Button1
Key.J = (Joystick2.y=1)
Key.K=Joystick2.Button4
}
if (var.mode=2) {
Key.LeftBracket=Joystick2.Button3
Key.Backspace = (Joystick2.y=-1)
Key.RightBracket=Joystick2.Button2
Key.left = (Joystick2.x=-1)
Key.right = (Joystick2.x=1)
Key.2=Joystick2.Button1
Key.0 = (Joystick2.y=1)
Key.7=Joystick2.Button4
}
/* — Fractice – Wiimote — */
var.x = (Wiimote.gx + 1) / 2
var.y = (Wiimote.gy + 1) / 2
var.z = (Wiimote.gz + 1) / 2
midi.ByteControl4 = 1
midi.ByteControl11 = 1
midi.ByteControl3 = var.z // color cycling rate A
midi.ByteControl17 = 1-var.y // lissajous speed A
midi.ByteControl22 = 1
midi.ByteControl29 = 1
midi.ByteControl21 = var.z // color cycling rate B
midi.ByteControl35 = 1-var.y // lissajous speed B
var.damping = .9 // ranges from 0 (infinite) to 1 (none)
var.delta = var.x – (1-midi.ByteControl37) // calculate delta from input
var.x = var.x – (var.delta * var.damping) // apply damping and update position
midi.ByteControl37 = 1-var.x // xfader position
debug=var.x
midi.ByteControl42 = .1
/* — Fractice – Buttons — */
if clicked(wiimote.A) then {
if midi.ByteControl41<.5 then midi.ByteControl41=1 else midi.ByteControl41=0
} // mirror
if (var.x>.5)+clicked(wiimote.Plus) then midi.ByteControl5=midi.ByteControl5+1 // zoom in A
if (var.x>.5)+clicked(wiimote.Minus) then midi.ByteControl6=midi.ByteControl6+1 // zoom out A
if (var.x>.5)+clicked(wiimote.up) then midi.ByteControl7=midi.ByteControl7+1 // scroll up A
if (var.x>.5)+clicked(wiimote.down) then midi.ByteControl8=midi.ByteControl8+1 // scroll down A
if (var.x>.5)+clicked(wiimote.left) then midi.ByteControl9=midi.ByteControl9+1 // scroll left A
if (var.x>.5)+clicked(wiimote.right) then midi.ByteControl10=midi.ByteControl10+1 // scroll right A
if (var.x<.5)+clicked(wiimote.Plus) then midi.ByteControl23=midi.ByteControl23+1 // zoom in B
if (var.x<.5)+clicked(wiimote.Minus) then midi.ByteControl24=midi.ByteControl24+1 // zoom out B
if (var.x<.5)+clicked(wiimote.up) then midi.ByteControl25=midi.ByteControl25+1 // scroll up B
if (var.x<.5)+clicked(wiimote.down) then midi.ByteControl26=midi.ByteControl26+1 // scroll down B
if (var.x<.5)+clicked(wiimote.left) then midi.ByteControl27=midi.ByteControl27+1 // scroll left B
if (var.x<.5)+clicked(wiimote.right) then midi.ByteControl28=midi.ByteControl28+1 // scroll right B
// ParticleView by Jeff Matson
// Uses WiiMouse 0.1 by WiiScript.co.nr (sbraidley@yahoo.co.uk)
wiimote.Leds=0
Shift=Equals = wiimote.Up
minus = wiimote.Down
Left = wiimote.Left
Right = wiimote.Right
Mouse.LeftButton = Wiimote.minus
Mouse.RightButton = Wiimote.plus
Mouse.LeftButton= Wiimote.A
//D = wiimote.home
E = wiimote.Two
if doubleclicked(wiimote.A) then {
if var.latch!=1 then var.latch=1 else var.latch=0
}
//(var.latch=1) = Mouse.LeftButton
//(var.latch=0) = Release(Mouse.LeftButton)
//if (var.latch=1) then Mouse.LeftButton=1 else Mouse.LeftButton=0
// Key.B = KeepDown(Mouse.LeftButton = )
if (Wiimote.B || Wiimote.A || var.latch==1) { // begin mouse conditional
var.trimx = 6
var.trimy = -31
var.trimz = 6
var.x = Wiimote.RawForceX + var.trimx
var.y = Wiimote.RawForceY + var.trimy
var.z = Wiimote.RawForceZ + var.trimz
var.sense0 = 1000
var.thresh0x = 2
var.thresh0y = 1
var.sense = 300
var.threshx = 10
var.threshy = 5
var.sense2 = 100
var.thresh2x = 15
var.thresh2y = 8
var.sense3 = 50
var.thresh3x = 20
var.thresh3y = 12
if var.x > var.thresh0x then mouse.x = mouse.x – 1/var.sense0
if var.x < -var.thresh0x then mouse.x = mouse.x + 1/var.sense0
if var.z > var.thresh0y then mouse.y = mouse.y – 1/var.sense0
if var.z < -var.thresh0y then mouse.y = mouse.y + 1/var.sense0
if var.x > var.threshx then mouse.x = mouse.x – 1/var.sense
if var.x < -var.threshx then mouse.x = mouse.x + 1/var.sense
if var.z > var.threshy then mouse.y = mouse.y – 1/var.sense
if var.z < -var.threshy then mouse.y = mouse.y + 1/var.sense
if var.x > var.thresh2x then mouse.x = mouse.x – 1/var.sense2
if var.x < -var.thresh2x then mouse.x = mouse.x + 1/var.sense2
//yaxis
if var.z > var.thresh2y then mouse.y = mouse.y – 1/var.sense2
if var.z < -var.thresh2y then mouse.y = mouse.y + 1/var.sense2
if var.x > var.thresh3x then mouse.x = mouse.x – 1/var.sense3
if var.x < -var.thresh3x then mouse.x = mouse.x + 1/var.sense3
if var.z > var.thresh3y then mouse.y = mouse.y – 1/var.sense3
if var.z < -var.thresh3y then mouse.y = mouse.y + 1/var.sense3
}
end if
debug = var.x + ” ” + var.y + ” ” + var.z

| Artist | Track (Remix) | Label | Year |
|---|---|---|---|
| Circunbalation | 5 | Net23 | 2008 |
| Koljah | Antigua | Vidab | 2008 |
| Solomun | No Comment | Dessous | 2008 |
| Hideo Kobayashi and Jerome Sydenham | Gsxr 810 | Apotek | 2008 |
| Martin Eyerer and Oliver Klein | Babylon (Patrick Zigon mix) | Kling Klong | 2008 |
| Corrugated Tunnel | One Night in Barcelona (Chymera remix) | Elevation | 2008 |
| Booka Shade | Charlotte (Dubfire mix) | Get Physical | 2008 |
| Velkro | Dip Stain | Presslab | 2008 |
| John Digweed | Gridlock (Stereo Club mix) | Renaissance | 2007 |
Whorld installation at Fort Point Open Studios, Boston, MA.
midi.DeviceOut = midi.yoke1.DeviceOut
debug=wiimote.gx
wiimote.leds=0
/* — WiiWhorld – Buttons — */
f6 = Wiimote.Down // fill
f7 = Wiimote.Up // outline
backspace = Wiimote.Left // reverse
backslash =Wiimote.Right // convex
f8 = doubleclicked(wiimote.Up) // xray
f5 = doubleclicked(wiimote.Down) // mirror
delete = wiimote.A // clear
esc = wiimote.home + wiimote.A // panic
f3 = Wiimote.One // rotate hue
f2 = doubleclicked(Wiimote.One) // loop hue
f4 = Wiimote.Two // invert color
if (Wiimote.plus) then midi.ByteControl22=midi.ByteControl22+.01 // zoom in
if (Wiimote.minus) then midi.ByteControl22=midi.ByteControl22-.01 // zoom out
if (doubleclicked(wiimote.plus)) then midi.ByteControl22=.8
if (doubleclicked(wiimote.minus)) then midi.ByteControl22=.2
if (doubleclicked(wiimote.home)) then midi.ByteControl25=.2
/* — WiiWhorld – Wiimote — */
var.x = (Wiimote.gx + 1) / 2
var.y = (Wiimote.gy + 1) / 2
var.z = (Wiimote.gz + 1) / 2
if (wiimote.b) then {
midi.ByteControl66 = var.x // global rotate
midi.ByteControl22 = var.z // zoom
} else {
midi.ByteControl5 = var.x // rotate speed
midi.ByteControl13 = var.z // saturation
} end if
/* — WiiWhorld – Nunchuk — */
if (Wiimote.HasNunchuk) {
var.nx = (Wiimote.Nunchuk.gx + 1) / 2
var.ny = (Wiimote.Nunchuk.gy + 1) / 2
var.nz = (Wiimote.Nunchuk.gz + 1) / 2
var.jx = (Wiimote.Nunchuk.JoyX + 1) / 2
var.jy = (Wiimote.Nunchuk.JoyY + 1) / 2
//midi.playback.firstnote = var.jx * 127 // musical joystick
//midi.playback.secondnote = var.jy * 127
if Wiimote.Nunchuk.ZButton {
midi.ByteControl23=.3 // damping
midi.ByteControl24=.8 // trail
midi.ByteControl31 = var.jx // origin x
midi.ByteControl32 = var.jy // origin y
midi.ByteControl9 = var.nx // star factor
midi.ByteControl10 = var.nz // pinwheel
} else if Wiimote.Nunchuk.CButton {
midi.ByteControl72 = var.jx // global even curve
midi.ByteControl73 = var.jy // global odd curve
midi.ByteControl31 = 1-var.nx // origin x
midi.ByteControl32 = 1-var.nz // origin y
} else {
midi.ByteControl70 = var.jx // global star factor
midi.ByteControl71 = var.jy // global pinwheel
midi.ByteControl11 = var.nx
midi.ByteControl21 = var.nz
} end if
} end if
// Speech Commands (requires http://www.ics.forth.gr/uachess/downloads/IE-speech_add-in_v1.zip)
// to activate – hold home button, say “voice” – wait for computer to confirm
if (wiimote.home and said(”voice”)) {
wait 100ms
if var.voice=0 {
say(”voice on”)
var.voice=1
} else {
say(”voice off”)
var.voice=0
}
}
if var.voice==1 {
//right=said(’next’)
backspace=said(’back’)
delete=said(’clear’)
esc=said(’panic’)
spacebar=said(’stop’)
spacebar=said(’go’)
f5=said(’mirror’)
f6=said(’fill’)
f7=said(’outline’)
f8=said(’xray’)
f9=said(’phase’)
f10=said(’new’)
ctrl+f11=said(’vj’)
shift+r=said(’random’)
shift+c=said(’center’)
shift+d=said(’drag’)
ctrl+a=said(’auto’)
backslash=said(’convex’)
alt+f=said(’file’)
ctrl+o=said(’load patch’)
ctrl+shift+o=said(’load playlist’)
ctrl+r=said(’record’)
up=said(’up’)
down=said(’down’)
//left=said(’left’)
//right=said(’right’)
enter=said(’enter’)
} end if
//debug = midi.OutDevName
Jeff Mission and Chris Korda performing live with the visual software tools WiiWhorld and Fractice. Fractice is used to create the background layer, while WiiWhorld is being controlled in the foreground – the two layers were lumakeyed together with an Edirol V4 video mixer.
Chris Korda and I will be doing a live performance of WiiWhorld at the Brattle Theater in Cambridge on Friday, March 6th. The event runs from 10pm – midnight, and also includes performances by Peter Kirn, Joshue Ott, and Morgan Packard.
Complete details of MGFest09 can be found at http://mgfest.com/
The wonderful people (and talented VJs) of Eyewash in New York have been gracious enough to have me out to perform three times over the years. Eyewash is a performance night where VJs take center stage – literally, you stand in the middle of the room, surrounded by four giant screens and audience members on all sides. Here are links to my performances, from the Forward Motion theater website: