SketchPad

Some web space to sketch, doodle and make notes. Made using these tools. See more of my work here.

Sketch 2015-10-09a

        void ofApp::setup(){
    _template.setup(10, 90, 2);
    manager = _template.getAudioUnitManager();
    mixer = manager->getMixer();

    synth1.setup("Massive 1", AUDIOUNIT_MASSIVE);
    manager->createChain(&chain1)
        .link(&synth1)
        .toMixer();

    synth2.setup("Massive 2", AUDIOUNIT_MASSIVE);
    manager->createChain(&chain2)
        .link(&synth2)
        .toMixer();

    timeline = _template.getTimeline();
    timeline->addCurves("filter cutoff");
    timeline->addCurves("fx2 chorus wet");
    timeline->addCurves("noise synth volume");
}

void ofApp::update(){
    synth1.set(Massive_filter1_cut_prm_1, timeline->getValue("filter cutoff"));
    synth1.set(Massive_master_fx2_dry_wet, timeline->getValue("fx2 chorus wet"));
    synth2.set(Massive_master_volume, timeline->getValue("noise synth volume"));
}

void ofApp::draw(){
    
}
    

Amplitude and filter envelopes

Sketch 2015-10-09a

Sketch 2015-09-14

        void ofApp::setup(){
    ofSetWindowShape(500, 500);
    gif.setup(50);
    gif.fadeInOut(2, 3, ofColor::darkGray);
    gif.enableTextOverlay();
    numLayers = 5;
    masker.setup(numLayers + 1);
    rectSize = 400;
    rectThickness = 300;
    speed = 0.02;
    
    img.setup("road.png", 1.0, TEXTURE_OFFSET__MIDDLE__LEFT_TO_CENTER);
    for(int i = 0; i < numLayers; i++) {
        scale = ofMap(i, 0, numLayers-1, 0.125, 1.0);
        img.setTextureScale(scale);
        img.setTextureOffsetY(ofRandom(2));
        textures.push_back(img);
    }
    
    img.setup("pcb2.png", 1.0, TEXTURE_OFFSET__MIDDLE__RIGHT_TO_CENTER);
    for(int i = 0; i < numLayers; i++) {
        scale = ofMap(i, 0, numLayers-1, 1.0, 0.35);
        img.setTextureScale(scale);
        img.setTextureOffsetY(ofRandom(2));
        masks.push_back(img);
    }

    ofSetWindowShape(1200, 1200);
    masker.toggleOverlay();
}

void ofApp::update(){
    for(int i = 0; i < numLayers; i++) {
        masker.beginLayer(i);
        {
            textures.at(i).incrementTextureOffsetY(ofMap(i, 0, numLayers-1, -speed, speed));
            textures.at(i).draw();
        }
        masker.endLayer(i);
        
        masker.beginMask(i);
        {
            masks.at(i).incrementTextureOffsetY(ofMap(i, 0, numLayers-1, speed * 0.25, -speed * 0.25));
            masks.at(i).draw();
        }
        masker.endMask(i);
    }

    masker.beginLayer(numLayers);
    {
        ofBackground(ofColor::white);
        masker.drawLayers(0, numLayers-1);
    }
    masker.endLayer(numLayers);

    masker.beginMask(numLayers);
    {
        ofSetRectMode(OF_RECTMODE_CENTER);
        ofSetColor(ofColor::white);
        ofRect(gif.halfWidth, gif.halfHeight, rectSize, rectSize);
        ofSetRectMode(OF_RECTMODE_CORNER);
    }
    masker.endMask(numLayers);
}

void ofApp::draw(){
    gif.begin();
    {
        ofSetColor(ofColor::red);
        ofRect(0, 0, gif.width, gif.height);
        masker.drawLayer(2);
        
        ofSetRectMode(OF_RECTMODE_CENTER);
        ofSetColor(ofColor::white);
        ofRect(gif.halfWidth, gif.halfHeight, gif.width - rectThickness, gif.height - rectThickness);
        ofSetRectMode(OF_RECTMODE_CORNER);
        
        ofSetRectMode(OF_RECTMODE_CENTER);
        ofSetColor(ofColor::black);
        ofRect(gif.halfWidth, gif.halfHeight, rectSize, rectSize);
        ofSetRectMode(OF_RECTMODE_CORNER);
        ofSetColor(ofColor::white);
        masker.drawLayer(numLayers);
        
        ofSetRectMode(OF_RECTMODE_CENTER);
        ofSetColor(ofColor::white);
        ofRect(gif.halfWidth, gif.halfHeight, rectSize - rectThickness, rectSize - rectThickness);
        ofSetRectMode(OF_RECTMODE_CORNER);
    }
    gif.endCaptureDraw();
    masker.drawOverlay();
}
    

That doesn't matter.

Daily sketch

Sketch 2015-09-13

        void ofApp::setup(){
    ofSetWindowShape(500, 500);
    gif.setup(50);
    gif.fadeInOut(2, 3, ofColor::darkGray);
    gif.enableTextOverlay();
    numLayers = 8;
    masker.setup(numLayers + 1);
    rectSize = 200;
    rectThickness = 2;
    speed = 0.1;
    
    img.setup("road.png", 1.0, TEXTURE_OFFSET__MIDDLE__LEFT_TO_CENTER);
    for(int i = 0; i < numLayers; i++) {
        scale = ofMap(i, 0, numLayers-1, 0.25, 0.7);
        img.setTextureScale(scale);
        img.setTextureOffsetY(ofRandom(2));
        textures.push_back(img);
    }
    
    img.setup("pcb2.png", 1.0, TEXTURE_OFFSET__MIDDLE__RIGHT_TO_CENTER);
    for(int i = 0; i < numLayers; i++) {
        scale = ofMap(i, 0, numLayers-1, 1.4, 0.75);
        img.setTextureScale(scale);
        img.setTextureOffsetY(ofRandom(2));
        masks.push_back(img);
    }

    ofSetWindowShape(1200, 1200);
    masker.toggleOverlay();
}

void ofApp::update(){
    for(int i = 0; i < numLayers; i++) {
        masker.beginLayer(i);
        {
            textures.at(i).incrementTextureOffsetY(ofMap(i, 0, numLayers-1, -speed, speed));
            textures.at(i).draw();
        }
        masker.endLayer(i);
        
        masker.beginMask(i);
        {
            masks.at(i).incrementTextureOffsetY(ofMap(i, 0, numLayers-1, speed * 0.125, -speed * 0.125));
            masks.at(i).draw();
        }
        masker.endMask(i);
    }

    masker.beginLayer(numLayers);
    {
        ofBackground(ofColor::white);
        masker.drawLayers(0, numLayers-1);
    }
    masker.endLayer(numLayers);

    masker.beginMask(numLayers);
    {
        //ofBackground(ofColor::black);
        ofSetRectMode(OF_RECTMODE_CENTER);
        ofSetColor(ofColor::white);
        ofRect(gif.halfWidth, gif.halfHeight, rectSize, rectSize);
        ofSetRectMode(OF_RECTMODE_CORNER);
    }
    masker.endMask(numLayers);
}

void ofApp::draw(){
    gif.begin();
    {
        ofSetColor(ofColor::red);
        ofRect(0, 0, gif.width, gif.height);
        masker.drawLayer(2);
        ofSetRectMode(OF_RECTMODE_CENTER);
        ofSetColor(ofColor::black);
        ofRect(gif.halfWidth, gif.halfHeight, rectSize, rectSize);
        ofSetRectMode(OF_RECTMODE_CORNER);
        ofSetColor(ofColor::white);
        masker.drawLayer(numLayers);
    }
    gif.endCaptureDraw();
    masker.drawOverlay();
}
    

It arrives with more force.

Daily sketch

Sketch 2015-09-12

        void ofApp::setup(){
    ofSetWindowShape(500, 500);
    gif.setup(50);
    gif.fadeInOut(2, 3, ofColor::darkGray);
    gif.enableTextOverlay();
    numLayers = 8;
    masker.setup(numLayers + 1);
    rectSize = 200;
    rectThickness = 2;
    speed = 0.1;
    
    img.setup("road.png", 1.0, TEXTURE_OFFSET__MIDDLE__LEFT_TO_CENTER);
    for(int i = 0; i < numLayers; i++) {
        scale = ofMap(i, 0, numLayers-1, 0.25, 0.7);
        img.setTextureScale(scale);
        img.setTextureOffsetY(ofRandom(2));
        textures.push_back(img);
    }
    
    img.setup("pcb2.png", 1.0, TEXTURE_OFFSET__MIDDLE__RIGHT_TO_CENTER);
    for(int i = 0; i < numLayers; i++) {
        scale = ofMap(i, 0, numLayers-1, 1.4, 0.75);
        img.setTextureScale(scale);
        img.setTextureOffsetY(ofRandom(2));
        masks.push_back(img);
    }

    ofSetWindowShape(1200, 1200);
    masker.toggleOverlay();
}

void ofApp::update(){
    for(int i = 0; i < numLayers; i++) {
        masker.beginLayer(i);
        {
            textures.at(i).incrementTextureOffsetY(ofMap(i, 0, numLayers-1, -speed, speed));
            textures.at(i).draw();
        }
        masker.endLayer(i);
        
        masker.beginMask(i);
        {
            masks.at(i).incrementTextureOffsetY(ofMap(i, 0, numLayers-1, speed * 0.125, -speed * 0.125));
            masks.at(i).draw();
        }
        masker.endMask(i);
    }

    masker.beginLayer(numLayers);
    {
        ofBackground(ofColor::white);
        masker.drawLayers(0, numLayers-1);
    }
    masker.endLayer(numLayers);

    masker.beginMask(numLayers);
    {
        ofBackground(ofColor::black);
        ofSetRectMode(OF_RECTMODE_CENTER);
        ofSetColor(ofColor::white);
        ofRect(gif.halfWidth, gif.halfHeight, rectSize, rectSize);
        ofSetRectMode(OF_RECTMODE_CORNER);
    }
    masker.endMask(numLayers);
}

void ofApp::draw(){
    gif.begin();
    {
        ofSetColor(ofColor::red);
        ofRect(0, 0, gif.width, gif.height);
        masker.drawLayer(2);
        ofSetRectMode(OF_RECTMODE_CENTER);
        ofSetColor(ofColor::black);
        ofRect(gif.halfWidth, gif.halfHeight, rectSize, rectSize);
        ofSetRectMode(OF_RECTMODE_CORNER);
        ofSetColor(ofColor::white);
        masker.drawLayer(numLayers);
    }
    gif.endCaptureDraw();
    masker.drawOverlay();
}
    

X-ray.

Daily sketch

Sketch 2015-09-11

        void ofApp::setup(){
    ofSetWindowShape(500, 500);
    gif.setup(50);
    gif.fadeInOut(2, 3, ofColor::darkGray);
    gif.enableTextOverlay();
    numLayers = 8;
    masker.setup(numLayers + 1);
    rectSize = 200;
    rectThickness = 2;
    speed = 0.1;
    
    img.setup("pcb2.png", 1.0, TEXTURE_OFFSET__MIDDLE__LEFT_TO_CENTER);
    for(int i = 0; i < numLayers; i++) {
        scale = ofMap(i, 0, numLayers-1, 0.25, 0.7);
        img.setTextureScale(scale);
        img.setTextureOffsetY(ofRandom(2));
        textures.push_back(img);
    }
    
    img.setup("road.png", 1.0, TEXTURE_OFFSET__MIDDLE__RIGHT_TO_CENTER);
    for(int i = 0; i < numLayers; i++) {
        scale = ofMap(i, 0, numLayers-1, 1.4, 0.75);
        img.setTextureScale(scale);
        img.setTextureOffsetY(ofRandom(2));
        masks.push_back(img);
    }

    ofSetWindowShape(1200, 1200);
    masker.toggleOverlay();
}

void ofApp::update(){
    for(int i = 0; i < numLayers; i++) {
        masker.beginLayer(i);
        {
            textures.at(i).incrementTextureOffsetY(ofMap(i, 0, numLayers-1, -speed, speed));
            textures.at(i).draw();
        }
        masker.endLayer(i);
        
        masker.beginMask(i);
        {
            masks.at(i).incrementTextureOffsetY(ofMap(i, 0, numLayers-1, speed * 0.125, -speed * 0.125));
            masks.at(i).draw();
        }
        masker.endMask(i);
    }

    masker.beginLayer(numLayers);
    {
        ofBackground(ofColor::white);
        masker.drawLayers(0, numLayers-1);
    }
    masker.endLayer(numLayers);

    masker.beginMask(numLayers);
    {
        ofBackground(ofColor::black);
        ofSetRectMode(OF_RECTMODE_CENTER);
        ofSetColor(ofColor::white);
        ofRect(gif.halfWidth, gif.halfHeight, rectSize, rectSize);
        ofSetRectMode(OF_RECTMODE_CORNER);
    }
    masker.endMask(numLayers);
}

void ofApp::draw(){
    gif.begin();
    {
        ofSetColor(ofColor::red);
        ofRect(0, 0, gif.width, gif.height);
        masker.drawLayer(2);
        ofSetRectMode(OF_RECTMODE_CENTER);
        ofSetColor(ofColor::black);
        ofRect(gif.halfWidth, gif.halfHeight, rectSize, rectSize);
        ofSetRectMode(OF_RECTMODE_CORNER);
        ofSetColor(ofColor::white);
        masker.drawLayer(numLayers);
    }
    gif.endCaptureDraw();
    masker.drawOverlay();
}
    

Unspirited.

Daily sketch

Sketch 2015-09-10

        void ofApp::setup(){
    ofSetWindowShape(500, 500);
    gif.setup(50);
    gif.fadeInOut(2, 3, ofColor::darkGray);
    gif.enableTextOverlay();
    numLayers = 4;
    numRects = gif.width * 0.5;
    masker.setup(numLayers);
    
    img.setup("road.png", 1.0, TEXTURE_OFFSET__MIDDLE__RIGHT_TO_CENTER);
    for(int i = 0; i < numLayers; i++) {
        scale = ofMap(i, 0, numLayers-1, -3, 16);
        img.setTextureScale(scale);
        img.setTextureOffsetY(ofRandom(2));
        textures.push_back(img);
    }
    
    img.setup("pcb2.png", 1.0, TEXTURE_OFFSET__MIDDLE__LEFT_TO_CENTER);
    for(int i = 0; i < numLayers; i++) {
        scale = ofMap(i, 0, numLayers-1, 2, 1);
        img.setTextureScale(scale);
        img.setTextureOffsetY(ofRandom(2));
        masks.push_back(img);
    }

    for(int i = 0; i < numRects; i++) {
        rectAlphaMultipliers.push_back(ofRandom(0.1, 0.5));
    }
    rectWidth = gif.width / numRects;
    
    ofSetWindowShape(1200, 1200);
    masker.toggleOverlay();
}

void ofApp::update(){
    for(int i = 0; i < numLayers; i++) {
        masker.beginLayer(i);
        {
            textures.at(i).incrementTextureOffsetY(ofMap(i, 0, numLayers-1, -0.002, 0.002));
            textures.at(i).draw();
        }
        masker.endLayer(i);
        
        masker.beginMask(i);
        {
            masks.at(i).incrementTextureOffsetY(ofMap(i, 0, numLayers-1, -0.002, 0.002));
            masks.at(i).draw();
        }
        masker.endMask(i);
    }
}

void ofApp::draw(){
    gif.begin();
    {
        masker.draw();
    }
    gif.endCaptureDraw();
    masker.drawOverlay();
}
    

Faces in the soup

Daily sketch

Sketch 2015-09-09

        void ofApp::setup(){
    ofSetWindowShape(500, 500);
    gif.setup(60);
    gif.enableTextOverlay();
    pattern1.setup(&gif);
    masker.setup(1);
    masker.toggleOverlay();
    img1.setup("foil-large.png");
    img2.setup("face-full.png", 2000.0, TEXTURE_OFFSET__TOP__LEFT_TO_CENTER);
    img2.incrementTextureOffsetY(0.27);
    
    ofSetWindowShape(1200, 1200);
}

void ofApp::update(){
    pattern1.update();
    masker.beginLayer(0);
    {
        img2.incrementTextureOffsetY(-0.004);
        img2.incrementTextureScale(-0.15);
        img2.draw();
    }
    masker.endLayer(0);

    masker.beginMask(0);
    {
        pattern1.draw();
    }
    masker.endMask(0);
}

void ofApp::draw(){
    gif.begin();
    {
        masker.draw();
    }
    gif.endCaptureDraw();
    masker.drawOverlay();
}

void Pattern1::setup(ofxGifEncoderTemplate *_gif) {
    gif = _gif;
    numRoads = 2;
    masker.setup(numRoads + 1);
    rectWidth = gif->width / 2;
    halfRectWidth = rectWidth * 0.5;
    
    road.setup("road.png", 1.0, TEXTURE_OFFSET__MIDDLE__RIGHT_TO_CENTER);
    for(int i = 0; i < numRoads; i++) {
        scale = ofMap(i, 0, numRoads-1, 5, 1.3);
        road.setTextureScale(scale);
        road.setTextureOffsetY(ofRandom(2));
        road1s.push_back(road);
    }
    
    road.setup("road.png", 1.0, TEXTURE_OFFSET__MIDDLE__RIGHT_TO_CENTER);
    for(int i = 0; i < numRoads; i++) {
        scale = ofMap(i, 0, numRoads-1, 0.7, 2);
        road.setTextureScale(scale);
        road.setTextureOffsetY(ofRandom(2));
        road2s.push_back(road);
    }
}

void Pattern1::update() {
    for(int i = 0; i < numRoads; i++) {
        masker.beginLayer(i);
        {
            road1s.at(i).incrementTextureOffsetY(ofMap(i, 0, numRoads-1, -0.002, 0.002));
            road1s.at(i).draw();
        }
        masker.endLayer(i);
        
        masker.beginMask(i);
        {
            road2s.at(i).incrementTextureOffsetY(ofMap(i, 0, numRoads-1, -0.002, 0.002));
            road2s.at(i).draw();
        }
        masker.endMask(i);
    }
    
    masker.beginLayer(numRoads);
    {
        masker.drawLayers(0, numRoads - 1);
    }
    masker.endLayer(numRoads);
    
    masker.beginMask(numRoads);
    {
        ofBackground(ofColor::black);
        ofRect(gif->halfWidth - halfRectWidth - 1, 0, rectWidth + 2, gif->height);
    }
    masker.endMask(numRoads);
}

void Pattern1::draw() {
    ofPushMatrix();
    masker.drawLayer(numRoads);
    gif->rotateAroundCenter(180);
    ofTranslate(-rectWidth, 0);
    masker.drawLayer(numRoads);
    ofTranslate(rectWidth*2, 0);
    masker.drawLayer(numRoads);
    ofPopMatrix();
}
    

The relevance of scale

Daily sketch