annotate HeresyBigBangDone/application.macosx/source/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
children
rev   line source
andrew@50 1 //-------------------------------------------------------------------------------------------------------------------------------
andrew@50 2
andrew@50 3 void drawNotes(){ // places the note display grid into the apropriate screen positions
andrew@50 4 int loopsOnScreen = ((width-playArea) / tracks[trSelected].loopLength) + 1;
andrew@50 5 if (loopsOnScreen > currentPulse / tracks[trSelected].loopLength)
andrew@50 6 loopsOnScreen = currentPulse / tracks[trSelected].loopLength;
andrew@50 7 for (int i = 0; i <= loopsOnScreen; i++)
andrew@50 8 image (imgNotes, (width-playArea-(i*tracks[trSelected].loopLength))-currentPulse%(tracks[trSelected].loopLength),0);
andrew@50 9 }
andrew@50 10
andrew@50 11
andrew@50 12
andrew@50 13 //-------------------------------------------------------------------------------------------------------------------------------
andrew@50 14
andrew@50 15 public void pulseFrame(int frameNo){ // Draws a pulsing line at left hand side of the input area when loop restarts
andrew@50 16 strokeWeight(3);
andrew@50 17 if (currentPulse % (tracks[trSelected].loopLength) == 0 || (currentPulse-1) % (tracks[trSelected].loopLength) == 0 || (currentPulse-2) % (tracks[trSelected].loopLength) == 0)
andrew@50 18 stroke(255,255,255);
andrew@50 19 else
andrew@50 20 stroke(255,111,111);
andrew@50 21 line (width-playArea+3, 1, width-playArea+3, 300);
andrew@50 22 }
andrew@50 23
andrew@50 24
andrew@50 25 //-------------------------------------------------------------------------------------------------------------------------------
andrew@50 26
andrew@50 27 void drawTempImageGrid(){ // draws the note display image grid
andrew@50 28 imgNotes.stroke(209,137,255);
andrew@50 29 imgNotes.strokeWeight(15);
andrew@50 30 for(int i = 0; i < 16; i++){
andrew@50 31 if ((tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)] != null && tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)].noteVelocity > 0) || displayNoteOnArray[i]){
andrew@50 32 imgNotes.beginDraw();
andrew@50 33 imgNotes.line (currentPulse%(tracks[trSelected].loopLength), i*imageHeight/16+imageHeight/32, currentPulse%(tracks[trSelected].loopLength)+1, i*imageHeight/16+imageHeight/32);
andrew@50 34 imgNotes.endDraw();
andrew@50 35 displayNoteOnArray[i] = true;
andrew@50 36 }
andrew@50 37 if (tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)] != null && tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)].noteVelocity == 0){
andrew@50 38 displayNoteOnArray[i] = false;
andrew@50 39 }
andrew@50 40
andrew@50 41 if(trSelected ==0){
andrew@50 42 if ((chordsTemp.sequence[i][currentPulse%(chordsTemp.loopLength)] != null && chordsTemp.sequence[i][currentPulse%(chordsTemp.loopLength)].noteVelocity > 0) || displayNoteOnArray[i]){
andrew@50 43 imgNotes.beginDraw();
andrew@50 44 imgNotes.line (currentPulse%(chordsTemp.loopLength), i*imageHeight/16+imageHeight/32, currentPulse%(chordsTemp.loopLength)+1, i*imageHeight/16+imageHeight/32);
andrew@50 45 imgNotes.endDraw();
andrew@50 46 displayNoteOnArray[i] = true;
andrew@50 47 }
andrew@50 48 if (chordsTemp.sequence[i][currentPulse%(chordsTemp.loopLength)] != null && chordsTemp.sequence[i][currentPulse%(chordsTemp.loopLength)].noteVelocity == 0){
andrew@50 49 displayNoteOnArray[i] = false;
andrew@50 50 }
andrew@50 51 }
andrew@50 52 }
andrew@50 53 }
andrew@50 54
andrew@50 55
andrew@50 56 //-------------------------------------------------------------------------------------------------------------------------------
andrew@50 57
andrew@50 58 public void drawLines(){ // draws beat lines
andrew@50 59 int linePosition = 1;
andrew@50 60 int i = 0;
andrew@50 61 for (; linePosition <= imageWidth;){
andrew@50 62 linePosition = i * grid;
andrew@50 63 img.beginDraw();
andrew@50 64 img.stroke(lineColour);
andrew@50 65 img.strokeWeight(2);
andrew@50 66 img.line (linePosition, 0, linePosition, imageHeight);
andrew@50 67 img.endDraw();
andrew@50 68 i++;
andrew@50 69 }
andrew@50 70 }
andrew@50 71
andrew@50 72
andrew@50 73 //-------------------------------------------------------------------------------------------------------------------------------
andrew@50 74
andrew@50 75 public void drawBarLines(){ // draws bar lines
andrew@50 76 int linePosition = 1;
andrew@50 77 for (int i = 0; linePosition <= imageWidth;){
andrew@50 78 linePosition = i * grid * beatsPerBar;
andrew@50 79 img.beginDraw();
andrew@50 80 img.stroke(barLineColour);
andrew@50 81 img.strokeWeight(2);
andrew@50 82 img.line (linePosition, 0, linePosition, imageHeight);
andrew@50 83 img.endDraw();
andrew@50 84 i++;
andrew@50 85 }
andrew@50 86 }
andrew@50 87
andrew@50 88
andrew@50 89 //-------------------------------------------------------------------------------------------------------------------------------
andrew@50 90
andrew@50 91 public void backgroundColour(){ // sets background colour
andrew@50 92 img.beginDraw();
andrew@50 93 img.background (backGround);
andrew@50 94 img.endDraw();
andrew@50 95 }
andrew@50 96
andrew@50 97
andrew@50 98
andrew@50 99 //-------------------------------------------------------------------------------------------------------------------------------
andrew@50 100
andrew@50 101 public void createNoteFan(){ // creates the input fan
andrew@50 102 if (rpulseup)
andrew@50 103 rpulse++;
andrew@50 104 else rpulse--;
andrew@50 105 if (rpulse == grid)
andrew@50 106 rpulseup = false;
andrew@50 107 if (rpulse < 1)
andrew@50 108 rpulseup = true;
andrew@50 109 imgNoteFan.beginDraw();
andrew@50 110 imgNoteFan.stroke(rpulse/grid*255,50,50);
andrew@50 111 imgNoteFan.strokeWeight(1);
andrew@50 112 for (int i = 0; i < 16; i++){
andrew@50 113 if (!chordSelecter)
andrew@50 114 if ((tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)] != null && tracks[trSelected].sequence[i][currentPulse%(tracks[trSelected].loopLength)].noteVelocity > 0) || displayNoteOnArray[i]){
andrew@50 115 imgNoteFan.fill(209,137,255);
andrew@50 116 }
andrew@50 117 else
andrew@50 118 imgNoteFan.fill(0,0,0);
andrew@50 119 else
andrew@50 120 if (i == 14 || i == 12 || i == 9 || i == 7 || i == 5 || i == 3 || i == 2 || i == 1 || i == 0)
andrew@50 121 imgNoteFan.fill(0,0,0);
andrew@50 122 else
andrew@50 123 imgNoteFan.fill(255,255,255);
andrew@50 124 imgNoteFan.quad(0, i*(imageHeight/16.0), 0, (i+1)*(imageHeight/16.0), fanWidth, (imageHeight/2.0), fanWidth, (imageHeight/2.0));
andrew@50 125 }
andrew@50 126
andrew@50 127 imgNoteFan.endDraw();
andrew@50 128
andrew@50 129 }
andrew@50 130
andrew@50 131 //-------------------------------------------------------------------------------------------------------------------------------
andrew@50 132
andrew@50 133 void calcColours(){ // sets up colour values for background, bar and beat lines
andrew@50 134
andrew@50 135 if(heresyChordChanged){
andrew@50 136
andrew@50 137 if(currentChord == 0){
andrew@50 138 redC = 0;
andrew@50 139 greenC = 0;
andrew@50 140 blueC = 0;
andrew@50 141 }
andrew@50 142
andrew@50 143 if(currentChord == 1){
andrew@50 144 redC = 90;
andrew@50 145 greenC = 76;
andrew@50 146 blueC = 3;
andrew@50 147 }
andrew@50 148
andrew@50 149 if(currentChord == 2){
andrew@50 150 redC = 254;
andrew@50 151 greenC = 255;
andrew@50 152 blueC = 18;
andrew@50 153 }
andrew@50 154
andrew@50 155 if(currentChord == 3){
andrew@50 156 redC = 0;
andrew@50 157 greenC = 0;
andrew@50 158 blueC = 0;
andrew@50 159 }
andrew@50 160
andrew@50 161 if(currentChord == 4){
andrew@50 162 redC = 136;
andrew@50 163 greenC = 245;
andrew@50 164 blueC = 49;
andrew@50 165 }
andrew@50 166
andrew@50 167 if(currentChord == 5){
andrew@50 168 redC = 9;
andrew@50 169 greenC = 18;
andrew@50 170 blueC = 232;
andrew@50 171 }
andrew@50 172
andrew@50 173 if(currentChord == 6){
andrew@50 174 redC = 99;
andrew@50 175 greenC = 99;
andrew@50 176 blueC = 100;
andrew@50 177 }
andrew@50 178
andrew@50 179 if(currentChord == 7){
andrew@50 180 redC = 255;
andrew@50 181 greenC = 166;
andrew@50 182 blueC = 21;
andrew@50 183 }
andrew@50 184
andrew@50 185 if(currentChord == 8){
andrew@50 186 redC = 13;
andrew@50 187 greenC = 79;
andrew@50 188 blueC = 147;
andrew@50 189 }
andrew@50 190
andrew@50 191 if(currentChord == 9){
andrew@50 192 redC = 255;
andrew@50 193 greenC = 165;
andrew@50 194 blueC = 165;
andrew@50 195 }
andrew@50 196
andrew@50 197 if(currentChord == 10){
andrew@50 198 redC = 89;
andrew@50 199 greenC = 110;
andrew@50 200 blueC = 134;
andrew@50 201 }
andrew@50 202
andrew@50 203 if(currentChord == 11){
andrew@50 204 redC = 68;
andrew@50 205 greenC = 242;
andrew@50 206 blueC = 250;
andrew@50 207 }
andrew@50 208
andrew@50 209 backGround = color(redC, greenC, blueC);
andrew@50 210 lineColour = color((redC + 100) % 255,(greenC + 69) % 255,(blueC + 214) % 255);
andrew@50 211 barLineColour = color((redC + 205) % 255, (greenC + 174) % 255, (blueC + 159) % 255);
andrew@50 212
andrew@50 213 backgroundColour();
andrew@50 214 drawLines();
andrew@50 215 drawBarLines();
andrew@50 216 }
andrew@50 217 }
andrew@50 218
andrew@50 219
andrew@50 220
andrew@50 221