//This receives the button presses while the function button is held down.****************

    //depending on which button pressed, different functions are carried out on the pitch grid

    private void functionPress(int x, int y, int value){

    if (value ==0){

    sendOSCNoteOff(x,y);

    }

    if (value ==1){

    if (x==0 && y==0){

    rotateAllCCW();

    }

    else if(x==7 && y==0){

    rotateAllCW();

    }

    else if (x==3 && y==0){

    flipAllHorizontal();

    }

    else if (x==4 && y==0){

    flipAllVertical();

    }

    else if (x==0 && y==7){

    updatePreferences();

    }

    //operations on all numerators, here: -----------******

    //addition and subtraction operations

    else if (x==0 && y==2){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(1, 0, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(1, 0, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==1 && y==2){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(2, 0, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(2, 0, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==2 && y==2){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(3, 0, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(3, 0, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==3 && y==2){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(4, 0, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(4, 0, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==0 && y==3){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(-1, 0, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(-1, 0, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==1 && y==3){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(-2, 0, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(-2, 0, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==2 && y==3){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(-3, 0, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(-3, 0, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==3 && y==3){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(-4, 0, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(-4, 0, Configuration.mainPitches.rGrid);  

    }

    }

    //multiplication operations on numerator

    else if (x==1 && y==4){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.multiplyRatio(2, 1, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.multiplyRatio(2,1, Configuration.mainPitches.rGrid);

    }

    }

    else if (x==2 && y==4){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.multiplyRatio(3, 1, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.multiplyRatio(3,1, Configuration.mainPitches.rGrid);

    }

    }

    else if (x==3 && y==4){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.multiplyRatio(4, 1, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.multiplyRatio(4,1, Configuration.mainPitches.rGrid);

    }

    }

    //integer division operations on numerator

    else if (x==1 && y==5){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.divideRatio(2, 1, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.divideRatio(2, 1, Configuration.mainPitches.rGrid);

    }

    }

    else if (x==2 && y==5){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.divideRatio(3, 1, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.divideRatio(3, 1, Configuration.mainPitches.rGrid);

    }

    }

    else if (x==2 && y==5){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.divideRatio(4, 1, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.divideRatio(4, 1, Configuration.mainPitches.rGrid);

    }

    }

    //operations on Denominator, here: -----------------************************************

    //addition and subtraction

    else if (x==4 && y==2){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(0, 1, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(0, 1, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==5 && y==2){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(0, 2, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(0, 2, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==6 && y==2){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(0, 3, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(0, 3, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==7 && y==2){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(0, 4, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(0, 4, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==4 && y==3){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(0, -1, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(0, -1, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==5 && y==3){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(0, -2, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(0, -2, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==6 && y==3){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(0, -3, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(0, -3, Configuration.mainPitches.rGrid);  

    }

    }

    else if (x==7 && y==3){

    if (Configuration.mainPitches.getPitchSetType() == 0){

    Configuration.mainPitches.addToRatio(0, -4, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() == 1){

    Configuration.mainPitches.addToRatio(0, -4, Configuration.mainPitches.rGrid);  

    }

    }

    //multiplicatin operations on denominator------------------

    else if (x==5 && y==4){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.multiplyRatio(1, 2, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.multiplyRatio(1, 2, Configuration.mainPitches.rGrid);

    }

    }

    else if (x==6 && y==4){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.multiplyRatio(1, 3, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.multiplyRatio(1, 3, Configuration.mainPitches.rGrid);

    }

    }

    else if (x==7 && y==4){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.multiplyRatio(1, 4, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.multiplyRatio(1, 4, Configuration.mainPitches.rGrid);

    }

    }

    //integer division operations on denominators-------------------

    else if (x==5 && y==5){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.divideRatio(1, 2, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.divideRatio(1, 2, Configuration.mainPitches.rGrid);

    }

    }

    else if (x==6 && y==5){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.divideRatio(1, 3, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.divideRatio(1, 3, Configuration.mainPitches.rGrid);

    }

    }

    else if (x==7 && y==5){

    if (Configuration.mainPitches.getPitchSetType() ==0){

    Configuration.mainPitches.divideRatio(1, 4, Configuration.mainPitches.rLattice);    

    }

    else if (Configuration.mainPitches.getPitchSetType() ==1){

    Configuration.mainPitches.divideRatio(1, 4, Configuration.mainPitches.rGrid);

    }

    }    

    }

    }