Coder Social home page Coder Social logo

postspectacular / twsu-lightpaint Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 2.67 MB

Lightpainting installation software for Digital Weekend @ Victoria & Albert Museum London, Sep. 2011

License: GNU General Public License v3.0

Java 100.00%
led lightpainting dmx artnet flickr-api atom-feed processing toxiclibs installation london

twsu-lightpaint's Introduction

TWSU Light Paint

This project was originally developed for Technology Will Save Us and was hosted on Bitbucket (before BB removed all Mercurial repos). Only links and formatting in this Readme have been updated from the original version...

About

For the special Web weekend held at the V&A Museum London on 15-17 July 2011, we decided to prepare a little showcase of our custom developed, modular & DMX-capable LED light strip. We create a small app to allow users searching Flickr & Twitter, selecting a result image (or message) and then send it as slit-scanned bitmap to the LED strip, using the Art-Net protocol (basically DMX512 over IP). We then took lots of long exposure shots of people drawing with the light strip and the mapped images. Some amazing results were created. Check them out here on Flickr...

lightpainting

The software

Even though the LED strip is not yet available for purchase, we have made the software already available for your tinkering/learning joy. The app is written in Java (and some Processing) and was developed with Eclipse. It also uses a number of other libraries and therefore might be quite interesting as learning material/project:

Other software concepts & techniques used:

  • XML parsing with JAXB
  • Application states
  • Multi-threading & concurrent data queues
  • Asynchronous event callbacks
  • Atom feed parsing with toxiclibs

Some brief getting started steps are listed below...

Checking out source code

git clone https://github.com/postspectacular/twsu-lightpaint

Importing into Eclipse

In Eclipse, choose File > Import... > Existing projects into workspace

Then browse to the twsu-lightpaint folder you just checked out (or unzipped from the archive). Click Ok and you should see the project listed. Tick the checkbox to select it and then press Finish to complete the import.

You should now see the project listed in the Eclipse Package Explorer.

Configuring the app

Flickr API

Before running the app for the first time, you'll need to configure it with a valid Flickr API key. This is required in order to search Flickr for tagged images. If you haven't got a key yet, create one over here: http://flickr.com/services/apps/create/

Now paste the API key into the XML config file located here: /config/appconfig.xml

<flickr>
    <apikey>YOUR_FLICKR_API_KEY</apikey>
    <maxImages>50</maxImages>
</flickr>

The config file contains a lot more options to tweak the overall behaviour and look & feel, incl. Art-Net settings

Art-Net devices

This step is optional: If you have an Art-Net compatible device connected, insert its IP address into the field below and adjust the number of DMX channels & universe ID

<artnet pollinterval="6000">
    <node id="a" ip="2.66.36.8" universe="0" numchannels="480" port="7770" />
</artnet>

Running the app

Finally, to run the app from within Eclipse: Right click on the file LightPaintApp.launch and choose Run As...

The app will first scan the network for connected Art-Net devices, but gives up after 6 seconds. Once this discovery process is done, a simple GUI is created and you can choose to either trigger a Twitter or Flickr search. For the latter, the app is always using a tag search. Separate multiple tags with spaces.

After the search results have been returned a background thread continues downloading small versions of the found images, which are displayed as soon as they become available. Click on one to select it for slit-scanning and sending its pixel data to the LED strip (if available).

Btw. The slit-scanner is only fully active, if an Art-Net node has been discovered earlier... If that's the case, you can see the currently active pixel column highlighted in magenta.

Btw2. Dragging & dropping images onto the app (e.g. from Finder/Explorer) is another way of importing (supported image formats: gif, png, jpg)

License

The software is released under the GPLv3.

© 2011 Karsten Schmidt

twsu-lightpaint's People

Contributors

postspectacular avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.