Source Code. Projects. Nerd Stuff. Art Stuff.

Emerging Processes in Video Art

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

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