creative code

creative code shares ian grant's experiences learning cocoa, objective-c, opengl, quartz composer and other apple technologies. I will share and open source any work that I develop and write about it here.

PhD Website Announcement » read article

posted by ian grant on July 29, 2010 at 6:26 pm | in announcement, creative code, digital puppetry, graphics, installation, performance, physical computing | 1 comment

After some time off blogging, I am back with an announcement of a major piece of ongoing work in the form of a PhD!

PhD Website

Link: http://www.daisyrust.com/phd/

PhD Title

Expressivity and the Digital Puppet:
Mechanical, Digital and Virtual Objects
in Games, Art and Performance

PhD Summary: The aims of the investigation

The current PhD study explores the interface between traditional puppetry and emerging computer technologies, through historical, theoretical enquiry, case studies and practical experiments. The thesis will evaluate and test with users (puppeteers, audiences, animators and programmers) the expressive qualities of innovative interactive systems.

shadows_and_surfaces_phd_poster_small_thumb.png

In this context ‘innovative’ means both emerging, new, technology or established technologies that are being re-defined by their communities of use and are finding new applications within the performing arts, particularly puppetry performance.

(1) I aim to explore the related contexts of digital puppetry, real-time animation, mimetic and non-mimetic kinetic objects, automata, ‘cybernetic sculpture’, performance systems and the technological interfaces to such phenomena.

(2) I aim to create evaluate and create puppet/object theatre performances/installations that use original software and hardware systems that are designed to explore ‘performance expressivity’, with reference to relevant historical, art, entertainment and technological precedents.

(3) I wish to theorise and form a taxonomy of ‘expressivity’ in relationship to digital domains and puppetry. By ‘expressivity’, I refer to different domains of action including: voice, face, body, hands and gesture.

Controlling Quartz Composer with Speech Commands » read article

posted by ian grant on October 11, 2006 at 10:44 am | in creative code, digital art hacks, general, quartz composer, speech | no comments

First draft:

Here we go! I did this once then failed to remember how I did it – and I’m not surprised – because the functionality to attach a speech command to an application specific key-press can only be accessed by SPEAKING the command “Define a Keyboard Command” – highlighted below in the Speech Commands window. (more…)

tiger reflections – quartz composer patch » read article

posted by ian grant on February 10, 2006 at 9:14 am | in creative code, graphics, quartz composer | 2 comments

tiger reflections icon

Download: tiger_reflections.qtz.zip

A Quartz Composer patch that will automatically produce a cool, adjustable reflection from an image, text or video input. The style is familiar from Tiger applications, particularly “Front Row” and Keynote. It is a visual style echoed across Apple’s branding and is slightly cooler than a simple drop shadow.

Control Parameters

reflection parameters

Most are self explanatory but here are some notes:

Color: this controls the background, the ‘fade to color’ of the reflection gradient and the ‘fade to color’ of the block that fades the reflections
Gradient Point 1 and 2: This numbers control the falloff / distance of the reflection The numbers relate to the size of the image measured in pixels. To get recommendations on what values to use select Gradient Advice.

Currently the recommended values are calculated like so:

Gradient Point 1: image height (px) / 1.7
Gradient Point 2: image height (px) * 1.5

Gradient point 1 should be smaller then Gradient point 2. Gradient point 2 should be around the height of the image – but different effects can be achieved by varying it. Likewise, increasing Gradient point 1 from 0 increases the brightness of the first part of the reflection – creating a nice controllable reflection fall-off.

In a cocoa application the reflection gradient parameters could be more usefully mapped to a couple of sliders. If a simpler interface is needed, you could hard wire the ‘recommended’ values into the relevant inputs.

Gap: Makes a gap between the reflection and the image. This improves the illusion that the image is sitting on a surface.

To Do
- with a little effort the patch could be used in a cocoa application or, I think, converted to an image unit for use in other applications.

- thorough testing of how images with alpha channels work.

Key Quartz Composer Techniques
- mask and alpha manipulations.
- blending modes

qc stereoscopic recorder 0.1 » read article

posted by ian grant on February 5, 2006 at 9:31 pm | in cocoa, creative code, quartz composer, software | 1 comment

qcstereoscopic recorder icon

Download Application: QCStereoscopicRecorder 0.1 (Universal Binary) OS 10.4 required

Download Source: QCStereoscopicRecorder 0.1 Source (4.0mb)

QC Stereoscopic Recorder is my first Cocoa app! It is part of my work towards an MA in Computer Arts. The app is a component of a larger project called “Anamorphica” in a class called “Experimental Digital Media”. Further documentation of this project will appear over the next few weeks. Basically, I am aiming to make a low-cost open source anaglyph recording and ‘performance’ system.

To use it you will need two firewire cameras.

Performance is improved if each camera comes in on a separate firewire bus. To effect this, I use a Lacie firewire PCMCIA card in my G4 laptop.

I needed a simple application that would capture dual camera input, export to quicktime and make an anaglyph.

I have included “stereo-pair” generation. Stereo-pair generation will come into it’s own when the application can handle full-screen and dual monitor support. Then I may create a ‘Wheatstone’ device (see http://www.stereoscopy.com/library/wheatstone-paper1838.html).

QCStereoscopic Recorder would not have happened if it wasn’t for the wonderful “Quartz Composer”. Easy and a joy to use. As I am learning Cocoa and Objective-C, the project is indebted to sample code and open source initiatives.

  • demo code from Apple – QCTV / Pierre-Olivier Latour
  • the wonderful “Sparkle” by Andy Matuschak (www.andymatuschak.org) handles software updates from within the applications.

To Do

  • full screen mode
  • improve image contrast quality
  • fully implement Apple help
  • export print resolution single frames
  • implement VJing style performance control

Notes

  • Built as a universal binary – untested on Intel
  • tested on PPC – 10.4.4

Have fun!

early recursive anaglyph experiment made with qc stereoscopic recorder
early recursive anaglyph experiment made with qc stereoscopic recorder

safari2delicious » read article

posted by ian grant on October 28, 2005 at 8:04 pm | in creative code, mac, safari, web 2.0 | no comments

safari2delicious logo

visit: www.daisyrust.com/dev/safari2delicious/

transfer bookmarks from safari to delicious

a personal hack gone public. a web based step-through to transfer safari bookmarks to a named delicious account. you have full control over tags and what urls are uploaded. it is not necessarily designed for large collections and it benefits from having named urls already organised in folders in the safari bookmark manager. For me it was very useful to generate tags from nested folders. safari2delicious will apply tag to all imports to allow management of imports in the delicious environment. I hope this hack gets outmoded by a more elegant service from delicious.

(cc) ian grant some rights reserved