Mercurial > hg > movesynth
view HeresyBigBangDone/DrawingStuff.pde @ 50:f4c6999ecfe9 tip
added the files on my computer that aren't aiff s> these shoudl be everything for the big bang fair 2011 - heresy, and tim's file's also here
author | Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk> |
---|---|
date | Sat, 08 Oct 2011 22:12:49 +0100 |
parents | 70dc11487078 |
children |
line wrap: on
line source
//------------------------------------------------------------------------------------------------------------------------------- void drawNotes(){ // places the note display grid into the apropriate screen positions int loopsOnScreen = ((width-playArea) / tracks[trSelected].loopLength) + 1; if (loopsOnScreen > currentPulse / tracks[trSelected].loopLength) loopsOnScreen = currentPulse / tracks[trSelected].loopLength; for (int i = 0; i <= loopsOnScreen; i++) image (imgNotes, (width-playArea-(i*tracks[trSelected].loopLength))-currentPulse%(tracks[trSelected].loopLength),0); } //------------------------------------------------------------------------------------------------------------------------------- public void pulseFrame(int frameNo){ // Draws a pulsing line at left hand side of the input area when loop restarts strokeWeight(3); if (currentPulse % (tracks[trSelected].loopLength) == 0 || (currentPulse-1) % (tracks[trSelected].loopLength) == 0 || (currentPulse-2) % (tracks[trSelected].loopLength) == 0) stroke(255,255,255); else stroke(255,111,111); line (width-playArea+3, 1, width-playArea+3, 300); } //------------------------------------------------------------------------------------------------------------------------------- void drawTempImageGrid(){ // draws the note display image grid imgNotes.stroke(209,137,255); imgNotes.strokeWeight(15); for(int i = 0; i < 16; i++){ if ((tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)] != null && tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)].noteVelocity > 0) || displayNoteOnArray[i]){ imgNotes.beginDraw(); imgNotes.line (currentPulse%(tracks[trSelected].loopLength), i*imageHeight/16+imageHeight/32, currentPulse%(tracks[trSelected].loopLength)+1, i*imageHeight/16+imageHeight/32); imgNotes.endDraw(); displayNoteOnArray[i] = true; } if (tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)] != null && tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)].noteVelocity == 0){ displayNoteOnArray[i] = false; } if(trSelected ==0){ if ((chordsTemp.sequence[i][currentPulse%(chordsTemp.loopLength)] != null && chordsTemp.sequence[i][currentPulse%(chordsTemp.loopLength)].noteVelocity > 0) || displayNoteOnArray[i]){ imgNotes.beginDraw(); imgNotes.line (currentPulse%(chordsTemp.loopLength), i*imageHeight/16+imageHeight/32, currentPulse%(chordsTemp.loopLength)+1, i*imageHeight/16+imageHeight/32); imgNotes.endDraw(); displayNoteOnArray[i] = true; } if (chordsTemp.sequence[i][currentPulse%(chordsTemp.loopLength)] != null && chordsTemp.sequence[i][currentPulse%(chordsTemp.loopLength)].noteVelocity == 0){ displayNoteOnArray[i] = false; } } } } //------------------------------------------------------------------------------------------------------------------------------- public void drawLines(){ // draws beat lines int linePosition = 1; int i = 0; for (; linePosition <= imageWidth;){ linePosition = i * grid; img.beginDraw(); img.stroke(lineColour); img.strokeWeight(2); img.line (linePosition, 0, linePosition, imageHeight); img.endDraw(); i++; } } //------------------------------------------------------------------------------------------------------------------------------- public void drawBarLines(){ // draws bar lines int linePosition = 1; for (int i = 0; linePosition <= imageWidth;){ linePosition = i * grid * beatsPerBar; img.beginDraw(); img.stroke(barLineColour); img.strokeWeight(2); img.line (linePosition, 0, linePosition, imageHeight); img.endDraw(); i++; } } //------------------------------------------------------------------------------------------------------------------------------- public void backgroundColour(){ // sets background colour img.beginDraw(); img.background (backGround); img.endDraw(); } //------------------------------------------------------------------------------------------------------------------------------- public void createNoteFan(){ // creates the input fan if (rpulseup) rpulse++; else rpulse--; if (rpulse == grid) rpulseup = false; if (rpulse < 1) rpulseup = true; imgNoteFan.beginDraw(); imgNoteFan.stroke(rpulse/grid*255,50,50); imgNoteFan.strokeWeight(1); for (int i = 0; i < 16; i++){ if (!chordSelecter) if ((tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)] != null && tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)].noteVelocity > 0) || displayNoteOnArray[i]){ imgNoteFan.fill(209,137,255); } else imgNoteFan.fill(0,0,0); else if (i == 14 || i == 12 || i == 9 || i == 7 || i == 5 || i == 3 || i == 2 || i == 1 || i == 0) imgNoteFan.fill(0,0,0); else imgNoteFan.fill(255,255,255); imgNoteFan.quad(0, i*(imageHeight/16.0), 0, (i+1)*(imageHeight/16.0), fanWidth, (imageHeight/2.0), fanWidth, (imageHeight/2.0)); } imgNoteFan.endDraw(); } //------------------------------------------------------------------------------------------------------------------------------- void calcColours(){ // sets up colour values for background, bar and beat lines if(heresyChordChanged){ if(currentChord == 0){ redC = 0; greenC = 0; blueC = 0; } if(currentChord == 1){ redC = 90; greenC = 76; blueC = 3; } if(currentChord == 2){ redC = 254; greenC = 255; blueC = 18; } if(currentChord == 3){ redC = 0; greenC = 0; blueC = 0; } if(currentChord == 4){ redC = 136; greenC = 245; blueC = 49; } if(currentChord == 5){ redC = 9; greenC = 18; blueC = 232; } if(currentChord == 6){ redC = 99; greenC = 99; blueC = 100; } if(currentChord == 7){ redC = 255; greenC = 166; blueC = 21; } if(currentChord == 8){ redC = 13; greenC = 79; blueC = 147; } if(currentChord == 9){ redC = 255; greenC = 165; blueC = 165; } if(currentChord == 10){ redC = 89; greenC = 110; blueC = 134; } if(currentChord == 11){ redC = 68; greenC = 242; blueC = 250; } backGround = color(redC, greenC, blueC); lineColour = color((redC + 100) % 255,(greenC + 69) % 255,(blueC + 214) % 255); barLineColour = color((redC + 205) % 255, (greenC + 174) % 255, (blueC + 159) % 255); backgroundColour(); drawLines(); drawBarLines(); } }