Content

tagged: mac os

SPK-RectPack

a screenrunner client wanted an animating tiled layout. it’s surprisingly non-trivial to code, at least if you want to go beyond hard-coding a few grid layouts. thankfully, the problem is academically interesting too, and lo! there’s a paper on spatial packing of rectangles, complete with MaxBinRectPack algorithm and c++ implementation. respect to jukka jylänki.

getting this working for me was time worth investing, and i’ve released the results: a quartz composer patch and animation technique. it’s up on github, and is something best seen in action, so check the quick demo video on vimeo.

diary | 18 nov 2013 | tagged: code · mac os · quartz composer · titler · vj

hospitality » gig-e vision test

friends who made a cinema camera out of industrial cameras are getting excited about gig-e vision for live video work. as am i.

more on this will come. in the meantime, hospitality at brixton academy was round the corner, had a friend running visuals, and i’d just got our plug-in running at 60fps.

  • soak test with d’n’b frequencies: check.
  • flexibility of just dropping in the tiny camera on it’s single cable: check.
  • image quality: check, the cheap-ass lens i used was surprisingly good, and i have a high-quality prime lined up.

while i’m here, justin has done a fine job with the hospitality staging - the massive ‘h’ fixture is proper class, and the visuals were perfectly designed for a judicious minimum of LED panels.

diary | 27 sep 2013 | tagged: code · mac os · video-in · quartz composer · gev · vj

forked: video annotation app

a major part of the analysis for comedy lab is manually labelling what is happening when in the recordings. for instance, whether an audience member is laughing or not – for each audience member, throughout the performance. all in all, this adds up to a lot of work.

for this labelling to be accurate, let alone simply to get through it all, the interface of the video annotation software needs to be responsive - you are playing with time, in realtime. i was having such a bad time with elan[1] that the least bad option got to be writing my own simple annotator: all it need be is a responsive video player and a bag of keyboard shortcuts that generates a text document of annotations and times. luckily, there was an open-source objective-c / cocoa annotator out there, and so instead i’ve forked the code and hacked in the features i needed. never have i been so glad to be able to write native os x applications.

if you need features such as annotations coming from a controlled vocabulary and are continuous, ie. non-overlapping over time or workflow such as annotation can be done in one-pass with one hand on keyboard and one on scroll-gesture mouse/trackpad, the application is zipped and attached to this post (tested on 10.8, should work on earlier).

if you are a cocoa developer with similar needs, the code is now on github and i can give some pointers if needed.


  1. to be clear, elan is a powerful tool for which the developers deserve respect, and through it’s import and export is still the marshalling depot of my data. the underlying issue i suspect is the java runtime, as trying alternatives such as anvil didn’t work out either. ↩︎

diary | 20 aug 2013 | tagged: code · mac os · comedy lab · phd · research | downloads: vcodevdata.zip

festival of ideas » channeled through *spark screenrunner

at the heart of the brain was the increasingly inappropriately named *spark titler, collating all the media and channelling it to the screen. it runs the screen, and gives just what you need to be responsive to the moment without breaking the visual illusion. so… *spark screenrunner?

whatever its grown-up name is, it monitored a fileshare for photos incoming from the caption-shot camera, illustrations and data-vis from ciaran and caroline’s laptops, listened to twitter accounts and hashtags, and, wonderfully, got updates in real-time from convotate, stef’s conversation annotation web-app. a technical shout-out here to pusher, the HTML5 websocket powered realtime messaging service, and to luke redpath’s objective-c library. and via the venue’s many-input HD vision mixer and a quartz composer patch or so more, we had treated feeds from above ciaran’s illustration pad, photoshop screen and whatnot.

it might be that you have to do this kind of job to grok the need, but i really think there’s something in *spark screenrunner, whether its just titling and transitioning between two presenters’ powerpoints or this kind of high-end craziness.

diary | 09 feb 2012 | tagged: code · mac os · quartz composer · titler · *spark · vj · festival of ideas · video-out · engaging audiences

*spark titler v3: live brand video [out]

sane control of the media and scenography needs to be partnered with the animation mechanics to handle it all gracefully. luckily, thats what i do – and what tools like quartz composer enable – and i had the best materials to work with in the form of made-by’s brand video. it’s great. watch it, and you’ll also see how perfect it was to be remade into a never-ending animation with dynamic content interspersed with the hand-animated elements.

best of all, now i have the interface and back-end largely worked out i can concentrate on creating bespoke animation for future gigs: everybody wins.

diary | 14 oct 2011 | tagged: code · mac os · quartz composer · titler · *spark · vj · MADE-BY

*spark titler v3: live brand video [in]

how did joanna run the screen? with *spark titler v3: no longer a now-and-next titler, more the means for a live brand video. into an animation template go tweets, titles and all sorts of media, and the user is presented with a sane way of wrangling that media and controlling the output.

the app as a whole is mac-native in the best of ways, with the behaviours a naive user might expect. i’m especially proud of the interface, which takes the standard elements and extends them where necessary[1], all to be used without fear of killing the output or screwing up the content.


  1. suffice to say i now know a lot more about subclassing cocoa views than i used to: say hello SPKTableView and SPKArrayController ↩︎

diary | 14 oct 2011 | tagged: code · mac os · quartz composer · titler · *spark · vj · MADE-BY

*spark titler v2

and how did those live graphics make it to the screen? i sat down and took the idea of *spark titler from sheep music and remade it as a fully fledged cocoa+quartz composer application. the idea being it can’t muck up: animation designed to gracefully transfer from state to state, participant names pre-filled in a drop-down menu, no mouse cursors on the output, text fields that commit their edits on pressing take… the little details that make-or-break a live application. oh - and it exports its title animations as quicktimes for integration with playback pro.

diary | 04 sep 2011 | tagged: code · mac os · video-out · quartz composer · titler · *spark · just tell the truth · vj

DFD [d-fuse/dynamic]

there is now a mac pro in china running DFD, something that has been consuming my time for a while now. the roadshow d-fuse have been developing is our first big foray into automated dynamic content, lighting and audience interaction, and so without us being there for every gig holding it down with a hacked-up vj setup we needed something that you could just power on and the show would start. and so d-fuse/dynamic was hatched, a quicktime and quartz composer sequencer which reads in presets and its input/output functionality from a folder we can remotely update, and essentially just presents a “next” button to the on-site crew.

what i think is particularly novel about DFD is it was designed to output a consistent framerate, rendering slightly ahead of time so the fluctuations in QC and QT frame rendering are buffered out. i’m not sure is the effort/reward of this was worth it, but it will be an interesting code base to come back to and re-evaluate.

for the roadshow, it is playing out any number of four sources at 1280x576, including the generative, controlled by iPads in the audience and LED balls on stage, audio-reactive core of the show, sending the central 1024x576 to the main screen, driving 10 LED 72x1px strips from the remaining 576x128px on either side, and sending DMX back out to the stage lighting and LED balls.

big thanks to vade, luma beamerz, and memo for helping me one way or the other grok anti-aliased framebuffer rendering.

having spent much time i didn’t have trying to get 64bit QTX giving me openGL frames at QuickTime 7 efficiencies, life saving thanks also to vade and tom for v002 movie player 2.0, for which there is patch back with them giving it the ability to play the QT audio to a specific output.

lastly, a perennial thanks to kineme, couldn’t have gone this direction without knowing their DMX, Axis Camera, and audio patches were out there.

i’m not sure what to do with the code at the moment. it was made as a generic platform, but its current state is still very much tied to that specific project. or rather, the inevitable last minute hacking as it hit china needs to be straightened out. it has been made and funded as a tool for d-fuse to build on, so that needs to be taken into account too. in short, if anybody has a concrete need for such a thing, get in touch and we’ll see what could be done.

diary | 27 oct 2010 | tagged: quartz composer · vj · video-out · code · mac os · dfuse

SPK-LEDBall

happiness is twelve hex bytes, generated by a pocketable custom LED fixture on detecting a bounce, transmitting that via xBee, receiving into the computer via RS232, being parsed correctly, outputting into a QC comp, doing a dance, and commanding back to the fixtures via Artnet via DMX via xBee.

diary | 16 oct 2010 | tagged: quartz composer · vj · code · mac os · i/o · dfuse · embedded

audience—screens

there is a big d-fuse production in the works, where the brief rather wonderfully was emphasising interaction with and within the audience. as briefs often do, things have changed a lot since the heady time of working on and winning the pitch, but the core of it is still generative graphics and punter control from the club floor. and so here, courtesy of dr.mo’s crack team of coders is an in-development iPad app talking over WiFi to a QC plugin, where my two fingers-as-proxies-for-collaborating-audience-members are sketching locally and that is being incorporated on the club’s screens.

diary | 06 oct 2010 | tagged: quartz composer · liveness · dfuse · vj · code · ios · mac os · engaging audiences

vbfest » here+now final compile

tresor backstage, 1am, get to the final compile of here+now for the 3am performance. there is never enough time in this world, and for experimental projects on the side doubly so. the dream of just hanging out at a festival…

diary | 11 jun 2010 | tagged: *spark · quartz composer · vj · code · mac os · video-in · visual berlin · herenow

moving brands » -------------

and if chase & status wasn’t enough to be getting on with, there was also a long awaited project with moving brands, of which neither i nor they can talk about beyond saying i sat behind a mac and xcode for a week.

diary | 22 sep 2009 | tagged: vj · code · mac os · moving brands

SPK-Calligraphy v1.2

…and now having used it in anger, here we have

  • Added bounds feature, to give you all the sizing information you need to block out your calligraphy renderers.
  • Fixed a crashing bug triggered by sending a clear all lines signal mid-stroke
  • Added an advanced example derived from KineTXT development. Use space to send chunks of calligraphy to the screen, as if you were writing on a horizontal scroll.

diary | 11 may 2009 | tagged: quartz composer · live illustration · vj · code · mac os · kinetxt · release | downloads: SPK-Calligraphy-v1.2.zip

SPK-Calligraphy v1.1

…and here is the bugfix release.

  • fixed purge last object exception
  • removed unused boilerplate methods
  • added zPos to animator
  • ordered ports (arrange in @dynamic line)
  • fixed x,y mis-patch in sample qtz file

diary | 07 may 2009 | tagged: *spark · quartz composer · live illustration · vj · code · mac os · release | downloads: SPK-Calligraphy-v1.1.zip

SPK-Calligraphy v1.0

KineTXT has spurred many custom plug-ins, generally either esoteric or usurped by kineme or the next major release of QC. the latest however probably deserves to see the wider light of day, and so here is a snap-shot of it having just passed a notional ‘v1.0’. its two patches designed to capture and render handwriting and doodles from a tablet, but they should be pretty useful to anyone who wishes for some form of digital graffiti in their QC compositions.

if you want anti-aliasing, you’ll need to leave the QC app behind unfortunately, but if you can run without the patching editor window its just three lines of code to add to the qc player sample application and voila: this plugin and all 3D geometry become anti-aliased. vade worked it all out and outlines the territory here: http://abstrakt.vade.info/?p=186.

if you want different nibs, pen-on-paper-like textures or suchlike… well i have my needs and ideas, but the source is there. share and share alike!

the plug-in is released under gplv3, and is attached below.

diary | 28 apr 2009 | tagged: *spark · quartz composer · mac os · vj · code · release | downloads: SPK-Calligraphy-v1.0.zip

kinetxt handwriting dev

a little sneak peek of a quartz composer plug-in in development: spk-calligraphy, a set of patches for recording and playing back 2d strokes. the basic patch is equivalent to the kineme GL line structure patch, but draws the line as if it were a chisel nib at 45° and with a flow fade-out. the other two are what is going to enable a big part of the next kinetxt development: handwriting to go alongside the rendered text.

diary | 27 mar 2009 | tagged: *spark · quartz composer · live illustration · vj · code · mac os · kinetxt

mpc screen: sofa edition

and here’s another, in a slightly less formal environment. suffice to say, the tv feature is used a lot more here!

diary | 21 mar 2009 | tagged: quartz composer · code · mac os · mpc screen

mpc screen: tick

i’ve been somewhat remiss in not posting up the finished mpc screen, but thanks to a little cover work there i had the chance to go round and take some photos of it out in the wild. so here is the one i’ll always remember most as it was the first screen to be was deployed in the wild.

in its menu it has around thirty 1080P showreels and vfx breakdowns of the various film and commercial work, along with the ability to browse documentation pdfs and the mpc client and public facing web sites, and 15 channels of tv to flick between. for anything that isn’t suited to that branded, full screen environment, the last option flips the screen into a mac desktop with finder etc., complete with apple-store style desktop buttons giving quick access to all the apps that might be wanted in a meeting room. best of all, it will time out back to the full screen carousel menu, and then time out to its own screensaver, so as you walk around the building the screens always showing something visually pleasing and branded into the building.

its been quite a project, and that doesn’t even touch the system administration side.

diary | 21 mar 2009 | tagged: code · mac os · quartz composer · mpc screen

cocoa, mac minis and 50” plasmas

it might not be the most exciting photo, but this desk has seen three weeks coding a big project for a soho production house. “would you like to make something akin to “front row” to aggregate the content and services at this facility, to fit on all the 50” plasmas we’re about to get in the building?” “yes please.”

diary | 10 oct 2008 | tagged: code · mac os · quartz composer · mpc screen

qc model view controller

being able to code custom plug-ins is really making quartz composer so much better: not just giving the ability to make different types of ‘teh pretty’, but letting qc’s patching world do what its best at - fiddling with views - and leaving the coordination and control aspects to a dedicated lump of code, like a brain sitting in the middle of the patch.
long story short, this kinetxt installation is seeming like a case study in the object-orientated / model-view-controller way.

diary | 25 feb 2008 | tagged: *spark · quartz composer · vj · code · mac os

1

2