danwinckler.com/programming


First things first: Open Emu v1.0.0b2 is now available, featuring a massively refactored architecture, refined user interface, several new emulator cores (GBA, Genesis and SNES), and the first public release of the Quartz Composer plugins. Go get it at openemu.sf.net. :D Let us know how you like it and please do send us video, screenshots, bug reports, and tag your stuff on other sites with “openemu” so we can find it.

Open Video Conference

Although I missed most of the conference, what I did experience at OVC on Saturday and Sunday was great: met many interesting people, ingested tasty ideas and saw some great demos. More on this soon. :)

Here’s a rough demo video of Open Emu I whipped up for the conference despite intense sleep deprivation.

<br/>

Open Emu demo from Dan Winckler on Vimeo.


Open Emu: video-glitching with unintended consequences from Dan Winckler on Vimeo.

In this brief screencast, I show some of the video-glitching you can do with the Open Emu NES plugin (for Quartz Composer), resulting in some intriguing unintended consequences. In a nutshell, the video glitches can be physical, i.e., Mario and Luigi can step on the random blocks we’re writing to the screen. This opens up interesting possibilities for on-the-fly level-editing, cheats, and tormenting NES sprites.

Sorry about the somewhat crunchy audio — I accidentally captured it at a low sample rate.

Jan
14

Update: June 22, 2009

Open Emu version 1.0.0b2 is now available, featuring a massively refactored architecture and several new emulator cores. Go get it!

the Open Emu logo

Open Emu, an application I helped develop, is now available for download at SourceForge.net. Here’s my part of the story.

image: a screenshot from my visuals

At the first Blip Festival in 2006, I generated some of the visuals with jit.atari2600, a plugin for Max/MSP/Jitter (my platform at the time) that encapsulated an open source Atari emulator. Jit.atari2600 was buggy so I quit using it in performance, but the idea of encapsulating an emulator and ‘bending’ it in software — as my friends noTendo and No Carrier do with hardware — stuck with me. Early last year, I began looking for an open source Nintendo emulator and learning Objective-C/Cocoa in order to try making an emulator plugin myself. I found Open Nestopia, an open source, Cocoa-based port of the fearsomely thorough and accurate Nestopia emulator by Martin Freij, and started work on the plugin during my residency at the Experimental Television Center. I contacted Open Nestopia’s developer Josh Weinberg who generously, patiently and kindly helped me get the app to build and get a sense of his code and what to do with it. Then I got really, really busy with other things and shelved the project until August when, with the help of Josh and Anton, I got the plugin to build and run in QC.

Anton joined the project — which in the meantime Josh had transformed into Open Emu, a framework for multiple emulators (NES, Atari, Sega, Gameboy) — and development really took off. Now, five months later, our first beta release of Open Emu is live on SourceForge and the Quartz Composer plugins are in private beta and soon will be public. I couldn’t have learned this much and brought the plugin this far this quickly without the overwhelmingly generous help of Josh and Anton especially, as well as all the other friends and developers who’ve patiently answered my noob questions these many months. Thank you Josh, Anton, Eric, Ben and everyone else.

Gamers! If you’d like to play your favorite old school games on Mac OS X, download the beta and give it a whirl. It’s still got some bugs so we’d very much appreciate your feedback.

Visualists and hackers! Stay tuned to the Open Emu site for our Quartz Composer plugins, coming soon.

**Oh, and if you’d like to see me use Open Emu in a show, come out to 8static in Philly next month.

p.s. We’re having a private beta on the plugins right now. If you’d like to try them, let me know. Note: you must have the Leopard Developer Tools (and thus Quartz Composer) installed for these to be useful.

Since vade went ahead and spilled (some of) the beans, I might as well post a little teaser of the open source project I mentioned in my last post. Essentially we have wrapped a game emulator in a Quartz Composer plugin, with the goal of enabling virtual console bending, so to speak. Here’s a little video of some of our latest developments in deliberately glitching the graphics of a NES game.

castlevania-nst_rom_glitch (click to watch)

More to come…

Jan
3

Happy New Year! It’s been almost two months since I last posted so I thought I would wrap up 2008 with a quick update of what I’ve been doing lately.

Work. The autumn was tough. Plenty of gigs dropped off my calendar as the economic freakout affected my clients. As a result, I found myself having to hustle for more work and new clients. That sort of business development doesn’t come naturally for me so it was, at times, a painful learning process. Thankfully I had Emily by my side, goading me on when I needed a prod and giving me good advice.

Programming. I invested a lot of my copious free time in professional development by digging into learning Objective-C (and Cocoa), which, for the 98% of the planet that knows nothing about programming, is a programming language that is, basically, the preferred language for writing applications for Mac OS X. I had tons of help from several generous friends — you know who you are and I can’t thank you enough. I got involved in one big open source project that we’ll be announcing fairly soon. For me, 2008 was The Year I Became a Real Programmer. It feels good.

Super++ Family Times FTW. Thanksgiving and Christmas holidays with my family and Emily’s, respectively, were delightful.

This felt like it was shaping up to to be a full Year in Review post but now I can’t think of what else to say and I have stuff to do. Maybe I’ll add to this later.

Last couple thoughts for the night:

  • i’ve finally got time to play around with a media-textured avatar (think video skin)
  • i want to make an avatar (in SL) that moves like Duchamp’s Nu qui descend un escalier #2 (nude descending a staircase #2)
  • I learned a lot about texturing from the SL fora today. Check the end of the GIMPshop texturing tutorial I wrote last week for some illuminating reading on the subject.
  • i made a couple ringtones last week — one of the tiny projects I squeezed in to entertain myself after long hours of teaching — in GarageBand and easybeat was very handy in the mastering stage*. Recommended.

* that is, playing it on my phone and transposing it in nudges until it sounded good.

Jun
17

Josh Ott invited me to draw with him last night at Galapagos Art Space in Williamsburg. Josh has written a phenomenal live visual drawing program called superDraw which, surprisingly, I’ve never posted about before. At base it’s a drawing program: the performer draws with a Wacom tablet and the lines are transformed with beautiful effects, the list of which keeps growing and growing as Josh adds to the program. For some time now, it’s been capable of two performers drawing simultaneously, which is what we did last night, playing along with a phenomenal DJ (whose name I didn’t catch) and Mad EP — of Psychasthenia Society — who (dammit) I haven’t posted about before, either. It was thoroughly engaging and fun, like every time I’ve played superDraw with Josh. After much persuasion, it looks like I’ve talked him into considering porting superDraw to Max/MSP/Jitter. Anton discovered a relatively easy way to port Processing code to Jitter and we’re going to do a test port with part (all?) of superDraw — so clean up that code and send it over, Josh. :D

The ever-engaging and delightful Chika played with the reggae/dance group after our set, with her increasingly engrossing textural, psychedelic visuals. Bravo, Chika. ;)

One of the new features in the latest version of Second Life is flexible prims — basically, now objects can bend — so I searched the Second Life fora to see what people are doing with them. The new version’s only been out for a week and a half and already there are some beautiful new flexible objects — some guy flew by me yesterday with a fantastic cape. :D nand Nerd had posted about his work so I went to check it out (visit his work, see some videos). nand showed me how it worked and lent me one of his objects for us to display on the Kids Connect island. Thanks to his and other residents’ generosity, we’ll have some great work to show our students the potential for creative building and scripting in SL. Check out the youTube videos linked above: I have a feeling Second Life is going to look a lot more organic pretty soon.

If all goes well, Eric, Anton and I will be doing some live machinima at Share tomorrow night. The plan is very lo-tech: Eric and I will move and look around Second Life at interesting things (nand’s work and others as well as the glitchy goodness you can find by zooming in very closely to things). Our fullscreen outputs will go to a Radio Shack video switcher, the output of which will go into a capture device into Anton’s machine, where he’ll manipulate it with vade, sending his output to Share’s screens and our live stream at share.dj. Check the left-hand side of the Share page around 8 pm EST tomorrow or watch the stream on my land in SL.

Some things I’m planning to get or build or get built in Second Life, in no particular order, some of them for Kids Connect and some not:

  • very easy-to-use picture and video viewers so the kids can just upload some images — or link to some video files — and chuck them onto an object to be shown immediately.
  • an area densely filled with pretty things to be used in a live visual performance, whether by inworld snapshots or just going fullscreen and closing all the onscreen windows
  • a (probably blog-based) system that will take emailed snapshots and pull them into a live visual performance. This one’s specifically for use at SHARE. Example of how this would go:
    • SL Residents read about SHARE and the SHARE SL project on my land
    • on a Sunday night, they login to SL, go to their favorite places and take snapshots, emailing them to secondlife at share dot dj OR a Flickr post-by-email address.
    • Visualist(s) at SHARE runs a Max/MSP/Jitter patch that grabs these snapshots (from email or RSS — this might be easiest to demo by using a feedreader like NetNewsWire that can auto-download images to a specific folder that Max can poll) and incorporates them into their visual performance.
  • a few buildings that are conducive to group meetings and classes
  • a dark building with winding corridors that lead the visitor to various rooms with video art/live visual displays

I would love to get help with these — I’m a novice with Linden Scripting Language and I don’t want to spend time and effort making something that someone’s already made much better. If you know some good builders and coders in SL, please let them know about Kids Connect and Share. They can get some info on my land inworld.

Tonight, I’ll be performing at Bunker at SubTonic, the 2nd show of a developing performance called Idle in the Saved Night, inspired by the writings of Deborah Levitt. It’s a mixed piece for live visuals and acting. In a nutshell, I’ll be playing video (of mental patients from the 40s) from my laptop to the projector, standing in front of the projection screen …acting funny… and capturing my strange behavior and gestures with a live camera, which’ll then get chopped up and spit back out to the screen on top of me. It will be divine. And since the music at SubTonic is curated separately from the visuals, I’ll be doing it mute. Instead of speaking the texts I’ve gathered for the videos, I’ll run them on the screen as text. ‘Twill be an interesting challenge.

By the way, I highly recommend EyeWash tonight. Most of the visual acts will be getting physical: from performance art to burlesque to unique interfaces. This is good. For did John not say, let’s get into physical/ Let me hear your body talk? Should be swell. I’ll be there if I get my patch ready in time.

This just in, a great show to see Saturday night featuring my Gunshow-mate Ryan Sturt:

Have you ever seen Showgirls? Pretty crappy right? What would make it better you ask? If it were done with sockpuppets! Yup. I’m in a sockpuppet version of Showgirls. It’s been running for a few years in Chicago and played in New York in 2002, and now it’s back in our city with fresh jokes and extra filth. It’s every Saturday night at 8pm until the end of June.

It’s super raunchy. The puppets will dance your face off! I’m playing a couple different characters in it, and the character voice stuff has been a lot of fun.

Come if you can!

For more info, directions, and tickets, here’s the flyer and the ticket link:

http://www.theatermania.com/content/show.cfm/show/115654

vade// will play at the Bunker as well — he has been absolutely tearing it up lately with his visuals — just brilliant work. He played at {R} A K E at Monkeytown with Larry 7 on Wednesday, an unusual pairing that kept them both on their toes. It was gorgeous. The entire evening was, to be precise, ecstatic. Now you know I am often accused of hyperbole and over-enthusiasm and to this I would retort: wake up! The world is full of beauty and interest and commonality if you’re paying attention. I pay attention. Hence, I enjoy things more fully, perhaps, than the next human.

Joyful details of which I speak, of {R} A K E, the evening of electro-acoustic music and visuals run by Satoshi Takeishi, Shoko Nagai and Adam Kendall:

  • the first act was Kato Hideki (solo bass guitar) and Giles Hendrix* (video). Kato was exceptionally sensitive to his instrument and the sound in the room. He drew unusual sounds out of the bass, from the lightest of touches with a bow to heavy slams of his fist against the body, punctuated with long, deliberate silences. Giles’ visuals were equally slow and exploratory. I must admit I went into a trance/fell asleep at some points, which sounds bad but felt great: I drifted lightly in and out of the sound and light. As I suspected, Kato uses a custom tuning system based on prime numbers. I suspected it was different — not that it was prime. ;)
  • How can I describe Vortex’s music? Words fail me. It was an ecstatic experience. Satoshi is a percussionist but not limited to struck instruments — he also played the waterphone with a bow that night. Shoko plays keyboards and (what I can only describe as) Pan pipes. They both do some Max/MSP manipulation and layering of the sound, which seems to run on auto-pilot mostly. Each time I’ve heard them play it’s been a unique performance, an environment of sound created entirely of the moment. Unlike many musicians, they respond to your visuals when you play with them; I feel honored that my first visual gig was with them at {R} A K E. Wednesday they played with visuals by Shimpei Takeda, who used only a video camera, a flashlight and a jar of water to make a truly beautiful light show. Chika whispered to me that it reminded her of my work with live camera, which is quite a flattering comparison. Seeing it gave me a shove to do a similar work with water and bubbles I’ve had in mind for a while.

  • It was an evening of synaesthesia, the visuals and the music combined – to use the oft-abused word — in synergy. The last act was no exception. Anton (vade//) and Larry 7 played the room like a drum. Monkeytown’s back room, if you haven’t seen it, is a hard-walled cube with projections on each wall. A visualist can easily blind the audience and break the mood with the combined light from the four projectors and I’ve been thankful for my earplugs on several occasions when the audio artists have found the resonant frequency of the room and made it ring how I imagine the inside of the fuel chamber of the Space Shuttle must sound. (Alright, that last was definitely hyperbole.) However, Larry 7 and vade// did no such thing. Larry, who I’m told used to work for Andy Warhol, played with a bunch of analogue electronics, tube amps, a multi-stringed instrument with mics on it, and four mics arranged in a cross on a rotating turntable. Also quite difficult to describe. Let’s just say he succeeded in his aim, “to set up situations where he has almost no control over what happens, so he can be entertained along with the audience.” Anton’s setup is as digital as Larry’s is analogue — just a laptop — and he usually doesn’t take his MIDI keyboard along so it’s all controlled with the mouse and keyboard.

Again, beautiful stuff. I almost stayed home to program but I’m so glad I went. Time to program now: the patch for tonight is almost ready. I rebuilt it from scratch to make sure I got the order of operations right.

* note: I am very envious of Giles’ domain name.

Addendum

If you don’t bother to read my del.icio.us links in the spliced feed, you’ll have missed a great listening opportunity: an album of Radiohead covers called Exit Music – Songs with Radio Heads. I particularly recommend the cover of Just by Mark Ronson and Alex Greenwald, which reveals the hidden funk of RH with handclaps, djembe and sexy horn blasts. My Flickr photos are also in the spliced feed and I’m just about to upload a shitload of cameraphone pics featuring the flowers of which I spoke yesterday. Name the purple pom-pom, s’il vous plait.