#include "ofApp.h"
void ofApp::setup(){
ofSetOrientation(OF_ORIENTATION_90_LEFT);
synth.loadSound("sounds/synth.wav");
beats.loadSound("sounds/1085.mp3");
vocals.loadSound("sounds/Violet.mp3");
synth.setVolume(0.75f);
beats.setVolume(0.75f);
vocals.setVolume(0.5f);
font.load("Sudbury_Basin_3D.ttf", 32);
beats.setMultiPlay(false);
vocals.setMultiPlay(true);
}
void ofApp::update(){
ofSoundUpdate();
}
void ofApp::draw(){
ofBackground(255,255,255);
string tempStr;
float widthDiv = ofGetWidth() / 3.0f;
ofSetHexColor(0xeeeeee);
ofDrawRectangle(0,0,widthDiv,ofGetHeight());
ofSetHexColor(0xffffff);
ofDrawRectangle(widthDiv,0,widthDiv,ofGetHeight());
ofSetHexColor(0xdddddd);
ofDrawRectangle(widthDiv*2,0,widthDiv,ofGetHeight());
if (synth.getIsPlaying()) ofSetHexColor(0xFF0000);
else ofSetHexColor(0x000000);
font.drawString("synth !!", 50,50);
ofSetHexColor(0x000000);
tempStr = "click to play\npct done: " + ofToString(synth.getPosition()) + "\nspeed: " + ofToString(synth.getSpeed()) + "\npan: " + ofToString(synth.getPan());
ofDrawBitmapString(tempStr, 50,ofGetHeight()-50);
if (beats.getIsPlaying()) ofSetHexColor(0xFF0000);
else ofSetHexColor(0x000000);
font.drawString("beats !!", widthDiv+50,50);
ofSetHexColor(0x000000);
tempStr = "click and drag\npct done: " + ofToString(beats.getPosition()) + "\nspeed: " + ofToString(beats.getSpeed());
ofDrawBitmapString(tempStr, widthDiv+50,ofGetHeight()-50);
if (vocals.getIsPlaying()) ofSetHexColor(0xFF0000);
else ofSetHexColor(0x000000);
font.drawString("vocals !!", widthDiv*2+50,50);
ofSetHexColor(0x000000);
tempStr = "click to play (multiplay)\npct done: " + ofToString(vocals.getPosition()) + "\nspeed: " + ofToString(vocals.getSpeed()) + "\npan: " + ofToString(vocals.getPan());
ofDrawBitmapString(tempStr, widthDiv*2+50,ofGetHeight()-50);
}
void ofApp::keyPressed (int key){
}
void ofApp::keyReleased(int key){
}
void ofApp::windowResized(int w, int h){
}
void ofApp::touchDown(int x, int y, int id){
float widthStep = ofGetWidth() / 3.0f;
if (x < widthStep){
float pct = x / widthStep;
synth.play();
synth.setSpeed( 0.1f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*2.0f);
synth.setPan(2.0*pct-1.0);
} else if (x >= widthStep && x < widthStep*2){
beats.play();
} else {
vocals.play();
vocals.setSpeed( 0.1f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*2.0f);
vocals.setPan(2.0*(float)(x - widthStep*2) / (float)widthStep-1.0);
}
}
void ofApp::touchMoved(int x, int y, int id){
float widthStep = ofGetWidth() / 3.0f;
if (x >= widthStep && x < widthStep*2){
beats.setSpeed( 0.5f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*1.0f);
}
}
void ofApp::touchUp(int x, int y, int id){
}
void ofApp::touchDoubleTap(int x, int y, int id){
}
void ofApp::touchCancelled(int x, int y, int id){
}
void ofApp::swipe(ofxAndroidSwipeDir swipeDir, int id){
}
void ofApp::pause(){
}
void ofApp::stop(){
}
void ofApp::resume(){
}
void ofApp::reloadTextures(){
}
bool ofApp::backPressed(){
return false;
}
void ofApp::okPressed(){
}
void ofApp::cancelPressed(){
}
Comments