Source Code. Projects. Nerd Stuff. Art Stuff.

Category: classes

Four Seasons

Posted on April 4th, by amoeboar in classes, emerging processes. No Comments

[gn_media url="https://vimeo.com/63330150" width="600" height="400"]
My year long film is a performance that spans the time of four seasons. Read more


A Light Grafitti Effect

Posted on March 3rd, by amoeboar in classes, emerging processes. No Comments

Start here for an overview. Granjow explains his process for writing a light graffiti effect for an open source video editing software called Kdenlive (pronounced “kay-den-live”). Read more


Projection Mapping Resources

Posted on February 27th, by amoeboar in classes, spatial media. No Comments

Stand-alone tools

Mapamok:
* Great tool developed at YCAM for projecting onto a scene you have modeled in 3D
A long list of video-based mapping tools:
* (very VJ focused)
LPMT:
* (not free to download, but free if you compile from source in OF!)
MadMapper (not free!):
* But free to try out. Read more


The Three Sisters

Posted on February 27th, by amoeboar in classes, spatial media. No Comments

I wanted to continue to experiment with computer vision and motion detection. I used TSPS to track blobs and openFrameworks to draw and rotate meshes. Read more


Book Mapping

Posted on February 27th, by amoeboar in classes, spatial media. No Comments

Spatial Media first assignment, design an interaction for the Strand Bookstore.
We approached this project as an opportunity to experiment with techniques that were interesting to us, including computer vision and projection mapping. Read more


Alice Among Others

Posted on February 4th, by amoeboar in classes, emerging processes. No Comments

Playing with time, tripping myself out.
[gn_media url="http://www.youtube.com/watch?v=dscijse4KjE" width="600" height="400"]

[gn_spoiler title="Source Code:" open="0" style="1"]
[gn_tabs style="3"]
[gn_tab title="testApp.h"]

12345678910111213141516171819202122232425#pragma once

#include "ofMain.h"

class testApp : public ofBaseApp{
   
public:
    void setup();
    void update();
    void draw();
   
    void keyPressed  (int key);
    void keyReleased(int key);
    void mouseMoved(int x, int y );
    void mouseDragged(int x, int y, int button);
    void mousePressed(int x, int y, int button);
    void mouseReleased(int x, int y, int button);
    void windowResized(int w, int h);
    void dragEvent(ofDragInfo dragInfo);
    void gotMessage(ofMessage msg);
   
    ofVideoPlayer mov;
   
    int x, y;
};

[/gn_tab]
[gn_tab title="testApp.cpp"]

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889#include "testApp.h"

//————————————————————–
void testApp::setup(){
//  mov.loadMovie("alice.mov");
//  mov.loadMovie("falls.mov");    
    mov.loadMovie("gumbasia.mov");    
//  mov.loadMovie("usa.mov");    

    mov.play();
   
    ofSetBackgroundAuto(false);
    ofSetFrameRate(240);
    x = 0;
    y = 0;
}

//————————————————————–
void testApp::update(){
    mov.update();
}

//————————————————————–
void testApp::draw(){
    mov.draw(x, y);
//  mov.draw(x, y, mouseX, mouseY);
   
    if (mov.isFrameNew()) {
        x = x + mov.getWidth();
       
        if (x>ofGetWidth()) {
            x = 0;
            y = y + mov.getHeight();
        }
       
        if (y>ofGetHeight()) {
            x = 0;
            y = 0;
        }
    }
}

//————————————————————–
void testApp::keyPressed(int key){
   
}

//————————————————————–
void testApp::keyReleased(int key){
   
}

//————————————————————–
void testApp::mouseMoved(int x, int y ){
    float width = ofGetWidth();
    float speed = ofMap(mouseX, 0, width * 2, 0.0, 5.0, true);  
   
    mov.setSpeed(speed);
}

//————————————————————–
void testApp::mouseDragged(int x, int y, int button){
   
}

//————————————————————–
void testApp::mousePressed(int x, int y, int button){
   
}

//————————————————————–
void testApp::mouseReleased(int x, int y, int button){
   
}

//————————————————————–
void testApp::windowResized(int w, int h){
   
}

//————————————————————–
void testApp::gotMessage(ofMessage msg){
   
}

//————————————————————–
void testApp::dragEvent(ofDragInfo dragInfo){
   
}

[/gn_tab]
[/gn_tabs]
[/gn_spoiler] Read more


Spacebrew: Up and Running

Posted on February 1st, by amoeboar in classes, spatial media. No Comments

Spacebrew works.
[gn_media url="http://www.youtube.com/watch?v=SO1VjiEoum4" width="600" height="400"] Read more


Echos of Footsteps

Posted on January 13th, by amoeboar in classes, cookingwithsound. No Comments

[gn_media url="https://vimeo.com/57192681" width="600" height="400"]
Made in collaboration with Louise Foo, Echoes of Footprints is an interactive sonic installation that uses echolocation to manipulate sound. Read more


Jellyschool Production

Posted on December 5th, by amoeboar in classes, pcomp. No Comments

The concept for this project can be found in an earlier blog post. It features a sound-to-light color organ circuit, an LED daisy-chain and force-sensing resistor circuit, Max-based logic and sound created with Ableton Live. Read more


Music Visualizer

Posted on December 3rd, by amoeboar in classes, icm. No Comments

For my ICM final, I elaborated on last week’s assignment, by working with the minim library to turn it into a music visualizer. Read more