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();
    }
}