#include "ofApp.h"
void ofApp::setup(){
synth.load("sounds/synth.wav");
beats.load("sounds/1085.mp3");
vocals.load("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(){
ofBackground(255,255,255);
ofSoundUpdate();
}
void ofApp::draw(){
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.isPlaying()) ofSetHexColor(0xFF0000);
else ofSetHexColor(0x000000);
font.drawString("synth !!", 50,50);
ofSetHexColor(0x000000);
string tempStr = "click to play\npct done: "+ofToString(synth.getPosition())+"\nspeed: " + ofToString(synth.getSpeed()) + "\npan: " + ofToString(synth.getPan()) ;
ofDrawBitmapString(tempStr, 50,ofGetHeight()-50);
if (beats.isPlaying()) 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.isPlaying()) 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());
ofDrawBitmapString(tempStr, widthDiv*2+50,ofGetHeight()-50);
}
void ofApp::keyPressed (int key){
}
void ofApp::keyReleased(int key){
}
void ofApp::mouseMoved(int x, int y ){
}
void ofApp::mouseDragged(int x, int y, int button){
float widthStep = ofGetWidth() / 3.0f;
if (x >= widthStep && x < widthStep*2){
beats.setSpeed( 0.5f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*1.0f);
}
}
void ofApp::mousePressed(int x, int y, int button){
float widthStep = ofGetWidth() / 3.0f;
if (x < widthStep){
synth.play();
synth.setSpeed( 0.1f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*10);
synth.setPan(ofMap(x, 0, widthStep, -1, 1, true));
} else if (x >= widthStep && x < widthStep*2){
beats.play();
} else {
vocals.play();
vocals.setSpeed( 0.1f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*3);
vocals.setPan( ofMap(x, widthStep*2, widthStep*3, -1, 1, true) );
}
}
void ofApp::mouseReleased(int x, int y, int button){
}
void ofApp::mouseEntered(int x, int y){
}
void ofApp::mouseExited(int x, int y){
}
void ofApp::windowResized(int w, int h){
}
void ofApp::gotMessage(ofMessage msg){
}
void ofApp::dragEvent(ofDragInfo dragInfo){
}
Comments