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