annotate src/Voice.cpp @ 19:055d7524bae4

Adjusted colours, reduced buffer zone.
author samer
date Tue, 31 Jan 2012 23:44:01 +0000
parents 9a414ea6880d
children 4dcc4312b5fa
rev   line source
hekeus@6 1 /*
hekeus@6 2 * Voice.cpp
hekeus@6 3 * MelodyTriangle
hekeus@6 4 *
hekeus@6 5 * Created by Henrik Ekeus on 12/01/2012.
hekeus@6 6 * Copyright 2012 Queen Mary University of London. All rights reserved.
hekeus@6 7 *
hekeus@6 8 */
hekeus@6 9
hekeus@6 10 #include "Voice.h"
hekeus@6 11
samer@13 12 inline static double min(double x,double y) { return (x<y) ? x : y; }
samer@13 13
hekeus@6 14 Voice::Voice(int id, int x, int y){
hekeus@6 15 this->id=id;
hekeus@6 16 posx=x;
hekeus@6 17 posy=y;
hekeus@6 18 isActive=true;
samer@10 19 radius=12;
hekeus@6 20 inTriangle=false;
hekeus@6 21 octave=0;
hekeus@6 22 highlight=false;
samer@13 23 amplitude=0.6;
samer@18 24 status=clear;
hekeus@6 25 }
hekeus@6 26
hekeus@6 27 void Voice::draw(){
samer@18 28 int r,g,b;
samer@18 29 switch (status) {
samer@18 30 case clear: r=1; g=0; b=0; break;
samer@18 31 default: r=1; g=1; b=0; break;
samer@18 32 // case pending: r=1; g=1; b=0; break;
samer@18 33 // case waiting: r=1; g=0; b=0; break;
samer@18 34 // case moved: r=1; g=0; b=1; break;
samer@18 35 // default: r=0; g=1; b=0;
samer@18 36 }
hekeus@6 37
samer@18 38 if (isActive) { r=2*r; g=2*g; b=2*b; }
samer@19 39 ofSetColor(100*r,60*g,60*b);
samer@18 40 ofFill();
samer@18 41 ofCircle(posx, posy, radius);
samer@18 42 //ofNoFill();
samer@18 43 //ofCircle(posx, posy, radius);
samer@18 44
samer@18 45 if (highlight) {
samer@18 46 ofSetColor(230, 230, 230);
samer@18 47 ofNoFill();
samer@18 48 ofCircle(posx, posy, radius);
samer@10 49 } else {
hekeus@6 50 ofNoFill();
samer@18 51 ofCircle(posx, posy, radius);
hekeus@6 52 }
hekeus@6 53 }
hekeus@6 54
samer@13 55 double Voice::louder() { return amplitude=min(1,amplitude*1.125); }
samer@13 56 double Voice::quieter() { return amplitude/=1.125; }
hekeus@6 57