#include "HarmonizerLib.h"

void FindStep(int note, int oitava, int Tone, int Scale, int Interval, int Mode, int LowNote, double *s)
{
	float scale[3][12][3][12];
		
/**********Don't change the pitch on notes out of the scale***************/
	
	//Terça acima

	scale[0][0][0][(0+Tone)%12] = 4;
	scale[0][0][0][(1+Tone)%12] = 0;
	scale[0][0][0][(2+Tone)%12] = 3;
	scale[0][0][0][(3+Tone)%12] = 0;
	scale[0][0][0][(4+Tone)%12] = 3;
	scale[0][0][0][(5+Tone)%12] = 4;
	scale[0][0][0][(6+Tone)%12] = 0;
	scale[0][0][0][(7+Tone)%12] = 4;
	scale[0][0][0][(8+Tone)%12] = 0;
	scale[0][0][0][(9+Tone)%12] = 3;
	scale[0][0][0][(10+Tone)%12] = 0;
	scale[0][0][0][(11+Tone)%12] = 3;
		
	scale[0][0][1][(0+Tone)%12] = 3;
	scale[0][0][1][(1+Tone)%12] = 0;
	scale[0][0][1][(2+Tone)%12] = 3;
	scale[0][0][1][(3+Tone)%12] = 4;
	scale[0][0][1][(4+Tone)%12] = 0;
	scale[0][0][1][(5+Tone)%12] = 3;
	scale[0][0][1][(6+Tone)%12] = 0;
	scale[0][0][1][(7+Tone)%12] = 3;
	scale[0][0][1][(8+Tone)%12] = 4;
	scale[0][0][1][(9+Tone)%12] = 0;
	scale[0][0][1][(10+Tone)%12] = 4;
	scale[0][0][1][(11+Tone)%12] = 0;
	
	scale[0][0][2][(0+Tone)%12] = 3;
	scale[0][0][2][(1+Tone)%12] = 0;
	scale[0][0][2][(2+Tone)%12] = 3;
	scale[0][0][2][(3+Tone)%12] = 4;
	scale[0][0][2][(4+Tone)%12] = 0;
	scale[0][0][2][(5+Tone)%12] = 3;
	scale[0][0][2][(6+Tone)%12] = 0;
	scale[0][0][2][(7+Tone)%12] = 4;
	scale[0][0][2][(8+Tone)%12] = 4;
	scale[0][0][2][(9+Tone)%12] = 0;
	scale[0][0][2][(10+Tone)%12] = 0;
	scale[0][0][2][(11+Tone)%12] = 3;
	
	//Quarta acima

	scale[0][1][0][(0+Tone)%12] = 5;
	scale[0][1][0][(1+Tone)%12] = 0;
	scale[0][1][0][(2+Tone)%12] = 5;
	scale[0][1][0][(3+Tone)%12] = 0;
	scale[0][1][0][(4+Tone)%12] = 5;
	scale[0][1][0][(5+Tone)%12] = 6;
	scale[0][1][0][(6+Tone)%12] = 0;
	scale[0][1][0][(7+Tone)%12] = 5;
	scale[0][1][0][(8+Tone)%12] = 0;
	scale[0][1][0][(9+Tone)%12] = 5;
	scale[0][1][0][(10+Tone)%12] = 0;
	scale[0][1][0][(11+Tone)%12] = 5;
	scale[0][1][1][(0+Tone)%12] = 5;
	scale[0][1][1][(1+Tone)%12] = 0;
	scale[0][1][1][(2+Tone)%12] = 5;
	scale[0][1][1][(3+Tone)%12] = 5;
	scale[0][1][1][(4+Tone)%12] = 0;
	scale[0][1][1][(5+Tone)%12] = 5;
	scale[0][1][1][(6+Tone)%12] = 0;
	scale[0][1][1][(7+Tone)%12] = 5;
	scale[0][1][1][(8+Tone)%12] = 6;
	scale[0][1][1][(9+Tone)%12] = 0;
	scale[0][1][1][(10+Tone)%12] = 5;
	scale[0][1][1][(11+Tone)%12] = 0;
	scale[0][1][2][(0+Tone)%12] = 5;
	scale[0][1][2][(1+Tone)%12] = 0;
	scale[0][1][2][(2+Tone)%12] = 5;
	scale[0][1][2][(3+Tone)%12] = 5;
	scale[0][1][2][(4+Tone)%12] = 0;
	scale[0][1][2][(5+Tone)%12] = 6;
	scale[0][1][2][(6+Tone)%12] = 0;
	scale[0][1][2][(7+Tone)%12] = 5;
	scale[0][1][2][(8+Tone)%12] = 6;
	scale[0][1][2][(9+Tone)%12] = 0;
	scale[0][1][2][(10+Tone)%12] = 0;
	scale[0][1][2][(11+Tone)%12] = 4;

	//Quinta acima

	scale[0][2][0][(0+Tone)%12] = 7;
	scale[0][2][0][(1+Tone)%12] = 0;
	scale[0][2][0][(2+Tone)%12] = 7;
	scale[0][2][0][(3+Tone)%12] = 0;
	scale[0][2][0][(4+Tone)%12] = 7;
	scale[0][2][0][(5+Tone)%12] = 7;
	scale[0][2][0][(6+Tone)%12] = 0;
	scale[0][2][0][(7+Tone)%12] = 7;
	scale[0][2][0][(8+Tone)%12] = 0;
	scale[0][2][0][(9+Tone)%12] = 7;
	scale[0][2][0][(10+Tone)%12] = 0;
	scale[0][2][0][(11+Tone)%12] = 6;
	scale[0][2][1][(0+Tone)%12] = 7;
	scale[0][2][1][(1+Tone)%12] = 0;
	scale[0][2][1][(2+Tone)%12] = 6;
	scale[0][2][1][(3+Tone)%12] = 7;
	scale[0][2][1][(4+Tone)%12] = 0;
	scale[0][2][1][(5+Tone)%12] = 7;
	scale[0][2][1][(6+Tone)%12] = 0;
	scale[0][2][1][(7+Tone)%12] = 7;
	scale[0][2][1][(8+Tone)%12] = 7;
	scale[0][2][1][(9+Tone)%12] = 0;
	scale[0][2][1][(10+Tone)%12] = 7;
	scale[0][2][1][(11+Tone)%12] = 0;
	scale[0][2][2][(0+Tone)%12] = 7;
	scale[0][2][2][(1+Tone)%12] = 0;
	scale[0][2][2][(2+Tone)%12] = 6;
	scale[0][2][2][(3+Tone)%12] = 8;
	scale[0][2][2][(4+Tone)%12] = 0;
	scale[0][2][2][(5+Tone)%12] = 7;
	scale[0][2][2][(6+Tone)%12] = 0;
	scale[0][2][2][(7+Tone)%12] = 7;
	scale[0][2][2][(8+Tone)%12] = 7;
	scale[0][2][2][(9+Tone)%12] = 0;
	scale[0][2][2][(10+Tone)%12] = 0;
	scale[0][2][2][(11+Tone)%12] = 6;

	//Sexta acima

	scale[0][3][0][(0+Tone)%12] = 9;
	scale[0][3][0][(1+Tone)%12] = 0;
	scale[0][3][0][(2+Tone)%12] = 9;
	scale[0][3][0][(3+Tone)%12] = 0;
	scale[0][3][0][(4+Tone)%12] = 8;
	scale[0][3][0][(5+Tone)%12] = 9;
	scale[0][3][0][(6+Tone)%12] = 0;
	scale[0][3][0][(7+Tone)%12] = 9;
	scale[0][3][0][(8+Tone)%12] = 0;
	scale[0][3][0][(9+Tone)%12] = 8;
	scale[0][3][0][(10+Tone)%12] = 0;
	scale[0][3][0][(11+Tone)%12] = 8;
	scale[0][3][1][(0+Tone)%12] = 8;
	scale[0][3][1][(1+Tone)%12] = 0;
	scale[0][3][1][(2+Tone)%12] = 8;
	scale[0][3][1][(3+Tone)%12] = 9;
	scale[0][3][1][(4+Tone)%12] = 0;
	scale[0][3][1][(5+Tone)%12] = 9;
	scale[0][3][1][(6+Tone)%12] = 0;
	scale[0][3][1][(7+Tone)%12] = 8;
	scale[0][3][1][(8+Tone)%12] = 9;
	scale[0][3][1][(9+Tone)%12] = 0;
	scale[0][3][1][(10+Tone)%12] = 9;
	scale[0][3][1][(11+Tone)%12] = 0;
	scale[0][3][2][(0+Tone)%12] = 8;
	scale[0][3][2][(1+Tone)%12] = 0;
	scale[0][3][2][(2+Tone)%12] = 9;
	scale[0][3][2][(3+Tone)%12] = 9;
	scale[0][3][2][(4+Tone)%12] = 0;
	scale[0][3][2][(5+Tone)%12] = 9;
	scale[0][3][2][(6+Tone)%12] = 0;
	scale[0][3][2][(7+Tone)%12] = 8;
	scale[0][3][2][(8+Tone)%12] = 9;
	scale[0][3][2][(9+Tone)%12] = 0;
	scale[0][3][2][(10+Tone)%12] = 0;
	scale[0][3][2][(11+Tone)%12] = 8;
	
	//Sétima acima

	scale[0][4][0][(0+Tone)%12] = 11;
	scale[0][4][0][(1+Tone)%12] = 0;
	scale[0][4][0][(2+Tone)%12] = 10;
	scale[0][4][0][(3+Tone)%12] = 0;
	scale[0][4][0][(4+Tone)%12] = 10;
	scale[0][4][0][(5+Tone)%12] = 11;
	scale[0][4][0][(6+Tone)%12] = 0;
	scale[0][4][0][(7+Tone)%12] = 10;
	scale[0][4][0][(8+Tone)%12] = 0;
	scale[0][4][0][(9+Tone)%12] = 10;
	scale[0][4][0][(10+Tone)%12] = 0;
	scale[0][4][0][(11+Tone)%12] = 10;
	scale[0][4][1][(0+Tone)%12] = 10;
	scale[0][4][1][(1+Tone)%12] = 0;
	scale[0][4][1][(2+Tone)%12] = 10;
	scale[0][4][1][(3+Tone)%12] = 11;
	scale[0][4][1][(4+Tone)%12] = 0;
	scale[0][4][1][(5+Tone)%12] = 10;
	scale[0][4][1][(6+Tone)%12] = 0;
	scale[0][4][1][(7+Tone)%12] = 10;
	scale[0][4][1][(8+Tone)%12] = 11;
	scale[0][4][1][(9+Tone)%12] = 0;
	scale[0][4][1][(10+Tone)%12] = 10;
	scale[0][4][1][(11+Tone)%12] = 0;
	scale[0][4][2][(0+Tone)%12] = 11;
	scale[0][4][2][(1+Tone)%12] = 0;
	scale[0][4][2][(2+Tone)%12] = 10;
	scale[0][4][2][(3+Tone)%12] = 11;
	scale[0][4][2][(4+Tone)%12] = 0;
	scale[0][4][2][(5+Tone)%12] = 10;
	scale[0][4][2][(6+Tone)%12] = 0;
	scale[0][4][2][(7+Tone)%12] = 10;
	scale[0][4][2][(8+Tone)%12] = 11;
	scale[0][4][2][(9+Tone)%12] = 0;
	scale[0][4][2][(10+Tone)%12] = 0;
	scale[0][4][2][(11+Tone)%12] = 9;

	//Oitava acima

	scale[0][5][0][(0+Tone)%12] = 12;
	scale[0][5][0][(1+Tone)%12] = 0;
	scale[0][5][0][(2+Tone)%12] = 12;
	scale[0][5][0][(3+Tone)%12] = 0;
	scale[0][5][0][(4+Tone)%12] = 12;
	scale[0][5][0][(5+Tone)%12] = 12;
	scale[0][5][0][(6+Tone)%12] = 0;
	scale[0][5][0][(7+Tone)%12] = 12;
	scale[0][5][0][(8+Tone)%12] = 0;
	scale[0][5][0][(9+Tone)%12] = 12;
	scale[0][5][0][(10+Tone)%12] = 0;
	scale[0][5][0][(11+Tone)%12] = 12;
	scale[0][5][1][(0+Tone)%12] = 12;
	scale[0][5][1][(1+Tone)%12] = 0;
	scale[0][5][1][(2+Tone)%12] = 12;
	scale[0][5][1][(3+Tone)%12] = 12;
	scale[0][5][1][(4+Tone)%12] = 0;
	scale[0][5][1][(5+Tone)%12] = 12;
	scale[0][5][1][(6+Tone)%12] = 0;
	scale[0][5][1][(7+Tone)%12] = 12;
	scale[0][5][1][(8+Tone)%12] = 12;
	scale[0][5][1][(9+Tone)%12] = 0;
	scale[0][5][1][(10+Tone)%12] = 12;
	scale[0][5][1][(11+Tone)%12] = 0;
	scale[0][5][2][(0+Tone)%12] = 12;
	scale[0][5][2][(1+Tone)%12] = 0;
	scale[0][5][2][(2+Tone)%12] = 12;
	scale[0][5][2][(3+Tone)%12] = 12;
	scale[0][5][2][(4+Tone)%12] = 0;
	scale[0][5][2][(5+Tone)%12] = 12;
	scale[0][5][2][(6+Tone)%12] = 0;
	scale[0][5][2][(7+Tone)%12] = 12;
	scale[0][5][2][(8+Tone)%12] = 12;
	scale[0][5][2][(9+Tone)%12] = 0;
	scale[0][5][2][(10+Tone)%12] = 0;
	scale[0][5][2][(11+Tone)%12] = 12;

	//Terça abaixo

	scale[0][6][0][(0+Tone)%12] = -3;
	scale[0][6][0][(1+Tone)%12] = 0;
	scale[0][6][0][(2+Tone)%12] = -3;
	scale[0][6][0][(3+Tone)%12] = 0;
	scale[0][6][0][(4+Tone)%12] = -4;
	scale[0][6][0][(5+Tone)%12] = -3;
	scale[0][6][0][(6+Tone)%12] = 0;
	scale[0][6][0][(7+Tone)%12] = -3;
	scale[0][6][0][(8+Tone)%12] = 0;
	scale[0][6][0][(9+Tone)%12] = -4;
	scale[0][6][0][(10+Tone)%12] = 0;
	scale[0][6][0][(11+Tone)%12] = -4;
	scale[0][6][1][(0+Tone)%12] = -4;
	scale[0][6][1][(1+Tone)%12] = 0;
	scale[0][6][1][(2+Tone)%12] = -4;
	scale[0][6][1][(3+Tone)%12] = -3;
	scale[0][6][1][(4+Tone)%12] = 0;
	scale[0][6][1][(5+Tone)%12] = -3;
	scale[0][6][1][(6+Tone)%12] = 0;
	scale[0][6][1][(7+Tone)%12] = -4;
	scale[0][6][1][(8+Tone)%12] = -3;
	scale[0][6][1][(9+Tone)%12] = 0;
	scale[0][6][1][(10+Tone)%12] = -3;
	scale[0][6][1][(11+Tone)%12] = 0;
	scale[0][6][2][(0+Tone)%12] = -4;
	scale[0][6][2][(1+Tone)%12] = 0;
	scale[0][6][2][(2+Tone)%12] = -3;
	scale[0][6][2][(3+Tone)%12] = -3;
	scale[0][6][2][(4+Tone)%12] = 0;
	scale[0][6][2][(5+Tone)%12] = -3;
	scale[0][6][2][(6+Tone)%12] = 0;
	scale[0][6][2][(7+Tone)%12] = -4;
	scale[0][6][2][(8+Tone)%12] = -3;
	scale[0][6][2][(9+Tone)%12] = 0;
	scale[0][6][2][(10+Tone)%12] = 0;
	scale[0][6][2][(11+Tone)%12] = -4;
	
	//Quarta abaixo

	scale[0][7][0][(0+Tone)%12] = -5;
	scale[0][7][0][(1+Tone)%12] = 0;
	scale[0][7][0][(2+Tone)%12] = -5;
	scale[0][7][0][(3+Tone)%12] = 0;
	scale[0][7][0][(4+Tone)%12] = -5;
	scale[0][7][0][(5+Tone)%12] = -5;
	scale[0][7][0][(6+Tone)%12] = 0;
	scale[0][7][0][(7+Tone)%12] = -5;
	scale[0][7][0][(8+Tone)%12] = 0;
	scale[0][7][0][(9+Tone)%12] = -5;
	scale[0][7][0][(10+Tone)%12] = 0;
	scale[0][7][0][(11+Tone)%12] = -6;
	scale[0][7][1][(0+Tone)%12] = -5;
	scale[0][7][1][(1+Tone)%12] = 0;
	scale[0][7][1][(2+Tone)%12] = -6;
	scale[0][7][1][(3+Tone)%12] = -5;
	scale[0][7][1][(4+Tone)%12] = 0;
	scale[0][7][1][(5+Tone)%12] = -5;
	scale[0][7][1][(6+Tone)%12] = 0;
	scale[0][7][1][(7+Tone)%12] = -5;
	scale[0][7][1][(8+Tone)%12] = -5;
	scale[0][7][1][(9+Tone)%12] = 0;
	scale[0][7][1][(10+Tone)%12] = -5;
	scale[0][7][1][(11+Tone)%12] = 0;
	scale[0][7][2][(0+Tone)%12] = -5;
	scale[0][7][2][(1+Tone)%12] = 0;
	scale[0][7][2][(2+Tone)%12] = -6;
	scale[0][7][2][(3+Tone)%12] = -4;
	scale[0][7][2][(4+Tone)%12] = 0;
	scale[0][7][2][(5+Tone)%12] = -5;
	scale[0][7][2][(6+Tone)%12] = 0;
	scale[0][7][2][(7+Tone)%12] = -5;
	scale[0][7][2][(8+Tone)%12] = -5;
	scale[0][7][2][(9+Tone)%12] = 0;
	scale[0][7][2][(10+Tone)%12] = 0;
	scale[0][7][2][(11+Tone)%12] = -6;

	//Quinta abaixo

	scale[0][8][0][(0+Tone)%12] = -7;
	scale[0][8][0][(1+Tone)%12] = 0;
	scale[0][8][0][(2+Tone)%12] = -7;
	scale[0][8][0][(3+Tone)%12] = 0;
	scale[0][8][0][(4+Tone)%12] = -7;
	scale[0][8][0][(5+Tone)%12] = -6;
	scale[0][8][0][(6+Tone)%12] = 0;
	scale[0][8][0][(7+Tone)%12] = -7;
	scale[0][8][0][(8+Tone)%12] = 0;
	scale[0][8][0][(9+Tone)%12] = -7;
	scale[0][8][0][(10+Tone)%12] = 0;
	scale[0][8][0][(11+Tone)%12] = -7;
	scale[0][8][1][(0+Tone)%12] = -7;
	scale[0][8][1][(1+Tone)%12] = 0;
	scale[0][8][1][(2+Tone)%12] = -7;
	scale[0][8][1][(3+Tone)%12] = -7;
	scale[0][8][1][(4+Tone)%12] = 0;
	scale[0][8][1][(5+Tone)%12] = -7;
	scale[0][8][1][(6+Tone)%12] = 0;
	scale[0][8][1][(7+Tone)%12] = -7;
	scale[0][8][1][(8+Tone)%12] = -6;
	scale[0][8][1][(9+Tone)%12] = 0;
	scale[0][8][1][(10+Tone)%12] = -7;
	scale[0][8][1][(11+Tone)%12] = 0;
	scale[0][8][2][(0+Tone)%12] = -7;
	scale[0][8][2][(1+Tone)%12] = 0;
	scale[0][8][2][(2+Tone)%12] = -7;
	scale[0][8][2][(3+Tone)%12] = -7;
	scale[0][8][2][(4+Tone)%12] = 0;
	scale[0][8][2][(5+Tone)%12] = -6;
	scale[0][8][2][(6+Tone)%12] = 0;
	scale[0][8][2][(7+Tone)%12] = -7;
	scale[0][8][2][(8+Tone)%12] = -6;
	scale[0][8][2][(9+Tone)%12] = 0;
	scale[0][8][2][(10+Tone)%12] = 0;
	scale[0][8][2][(11+Tone)%12] = -8;

	//Sexta abaixo

	scale[0][9][0][(0+Tone)%12] = -8;
	scale[0][9][0][(1+Tone)%12] = 0;
	scale[0][9][0][(2+Tone)%12] = -9;
	scale[0][9][0][(3+Tone)%12] = 0;
	scale[0][9][0][(4+Tone)%12] = -9;
	scale[0][9][0][(5+Tone)%12] = -8;
	scale[0][9][0][(6+Tone)%12] = 0;
	scale[0][9][0][(7+Tone)%12] = -8;
	scale[0][9][0][(8+Tone)%12] = 0;
	scale[0][9][0][(9+Tone)%12] = -9;
	scale[0][9][0][(10+Tone)%12] = 0;
	scale[0][9][0][(11+Tone)%12] = -9;	
	scale[0][9][1][(0+Tone)%12] = -9;
	scale[0][9][1][(1+Tone)%12] = 0;
	scale[0][9][1][(2+Tone)%12] = -9;
	scale[0][9][1][(3+Tone)%12] = -8;
	scale[0][9][1][(4+Tone)%12] = 0;
	scale[0][9][1][(5+Tone)%12] = -9;
	scale[0][9][1][(6+Tone)%12] = 0;
	scale[0][9][1][(7+Tone)%12] = -9;
	scale[0][9][1][(8+Tone)%12] = -8;
	scale[0][9][1][(9+Tone)%12] = 0;
	scale[0][9][1][(10+Tone)%12] = -8;
	scale[0][9][1][(11+Tone)%12] = 0;
	scale[0][9][2][(0+Tone)%12] = -9;
	scale[0][9][2][(1+Tone)%12] = 0;
	scale[0][9][2][(2+Tone)%12] = -9;
	scale[0][9][2][(3+Tone)%12] = -8;
	scale[0][9][2][(4+Tone)%12] = 0;
	scale[0][9][2][(5+Tone)%12] = -9;
	scale[0][9][2][(6+Tone)%12] = 0;
	scale[0][9][2][(7+Tone)%12] = -9;
	scale[0][9][2][(8+Tone)%12] = -8;
	scale[0][9][2][(9+Tone)%12] = 0;
	scale[0][9][2][(10+Tone)%12] = 0;
	scale[0][9][2][(11+Tone)%12] = -9;

	//Sétima abaixo

	scale[0][10][0][(0+Tone)%12] = -10;
	scale[0][10][0][(1+Tone)%12] = 0;
	scale[0][10][0][(2+Tone)%12] = -10;
	scale[0][10][0][(3+Tone)%12] = 0;
	scale[0][10][0][(4+Tone)%12] = -11;
	scale[0][10][0][(5+Tone)%12] = -10;
	scale[0][10][0][(6+Tone)%12] = 0;
	scale[0][10][0][(7+Tone)%12] = -10;
	scale[0][10][0][(8+Tone)%12] = 0;
	scale[0][10][0][(9+Tone)%12] = -10;
	scale[0][10][0][(10+Tone)%12] = 0;
	scale[0][10][0][(11+Tone)%12] = -11;
	scale[0][10][1][(0+Tone)%12] = -10;
	scale[0][10][1][(1+Tone)%12] = 0;
	scale[0][10][1][(2+Tone)%12] = -11;
	scale[0][10][1][(3+Tone)%12] = -10;
	scale[0][10][1][(4+Tone)%12] = 0;
	scale[0][10][1][(5+Tone)%12] = -10;
	scale[0][10][1][(6+Tone)%12] = 0;
	scale[0][10][1][(7+Tone)%12] = -11;
	scale[0][10][1][(8+Tone)%12] = -10;
	scale[0][10][1][(9+Tone)%12] = 0;
	scale[0][10][1][(10+Tone)%12] = -10;
	scale[0][10][1][(11+Tone)%12] = 0;
	scale[0][10][2][(0+Tone)%12] = -10;
	scale[0][10][2][(1+Tone)%12] = 0;
	scale[0][10][2][(2+Tone)%12] = -11;
	scale[0][10][2][(3+Tone)%12] = -10;
	scale[0][10][2][(4+Tone)%12] = 0;
	scale[0][10][2][(5+Tone)%12] = -10;
	scale[0][10][2][(6+Tone)%12] = 0;
	scale[0][10][2][(7+Tone)%12] = -11;
	scale[0][10][2][(8+Tone)%12] = -9;
	scale[0][10][2][(9+Tone)%12] = 0;
	scale[0][10][2][(10+Tone)%12] = 0;
	scale[0][10][2][(11+Tone)%12] = -11;

	//Oitava abaixo

	scale[0][11][0][(0+Tone)%12] = -12;
	scale[0][11][0][(1+Tone)%12] = 0;
	scale[0][11][0][(2+Tone)%12] = -12;
	scale[0][11][0][(3+Tone)%12] = 0;
	scale[0][11][0][(4+Tone)%12] = -12;
	scale[0][11][0][(5+Tone)%12] = -12;
	scale[0][11][0][(6+Tone)%12] = 0;
	scale[0][11][0][(7+Tone)%12] = -12;
	scale[0][11][0][(8+Tone)%12] = 0;
	scale[0][11][0][(9+Tone)%12] = -12;
	scale[0][11][0][(10+Tone)%12] = 0;
	scale[0][11][0][(11+Tone)%12] = -12;
	scale[0][11][1][(0+Tone)%12] = -12;
	scale[0][11][1][(1+Tone)%12] = 0;
	scale[0][11][1][(2+Tone)%12] = -12;
	scale[0][11][1][(3+Tone)%12] = -12;
	scale[0][11][1][(4+Tone)%12] = 0;
	scale[0][11][1][(5+Tone)%12] = -12;
	scale[0][11][1][(6+Tone)%12] = 0;
	scale[0][11][1][(7+Tone)%12] = -12;
	scale[0][11][1][(8+Tone)%12] = -12;
	scale[0][11][1][(9+Tone)%12] = 0;
	scale[0][11][1][(10+Tone)%12] = -12;
	scale[0][11][1][(11+Tone)%12] = 0;
	scale[0][11][2][(0+Tone)%12] = -12;
	scale[0][11][2][(1+Tone)%12] = 0;
	scale[0][11][2][(2+Tone)%12] = -12;
	scale[0][11][2][(3+Tone)%12] = -12;
	scale[0][11][2][(4+Tone)%12] = 0;
	scale[0][11][2][(5+Tone)%12] = -12;
	scale[0][11][2][(6+Tone)%12] = 0;
	scale[0][11][2][(7+Tone)%12] = -12;
	scale[0][11][2][(8+Tone)%12] = -12;
	scale[0][11][2][(9+Tone)%12] = 0;
	scale[0][11][2][(10+Tone)%12] = 0;
	scale[0][11][2][(11+Tone)%12] = -12;

	
	/**********Change the pitch on notes out of the scale to notes on the scale***************/
	
	//Terça acima

	scale[1][0][0][(0+Tone)%12] = 4;
	scale[1][0][0][(1+Tone)%12] = 3;
	scale[1][0][0][(2+Tone)%12] = 3;
	scale[1][0][0][(3+Tone)%12] = 4;
	scale[1][0][0][(4+Tone)%12] = 3;
	scale[1][0][0][(5+Tone)%12] = 4;
	scale[1][0][0][(6+Tone)%12] = 3;
	scale[1][0][0][(7+Tone)%12] = 4;
	scale[1][0][0][(8+Tone)%12] = 3;
	scale[1][0][0][(9+Tone)%12] = 3;
	scale[1][0][0][(10+Tone)%12] = 4;
	scale[1][0][0][(11+Tone)%12] = 3;
	
	scale[1][0][1][(0+Tone)%12] = 3;
	scale[1][0][1][(1+Tone)%12] = 4;
	scale[1][0][1][(2+Tone)%12] = 3;
	scale[1][0][1][(3+Tone)%12] = 4;
	scale[1][0][1][(4+Tone)%12] = 3;
	scale[1][0][1][(5+Tone)%12] = 3;
	scale[1][0][1][(6+Tone)%12] = 4;
	scale[1][0][1][(7+Tone)%12] = 3;
	scale[1][0][1][(8+Tone)%12] = 4;
	scale[1][0][1][(9+Tone)%12] = 3;
	scale[1][0][1][(10+Tone)%12] = 4;
	scale[1][0][1][(11+Tone)%12] = 3;
	
	scale[1][0][2][(0+Tone)%12] = 3;
	scale[1][0][2][(1+Tone)%12] = 4;
	scale[1][0][2][(2+Tone)%12] = 3;
	scale[1][0][2][(3+Tone)%12] = 4;
	scale[1][0][2][(4+Tone)%12] = 3;
	scale[1][0][2][(5+Tone)%12] = 3;
	scale[1][0][2][(6+Tone)%12] = 5;
	scale[1][0][2][(7+Tone)%12] = 4;
	scale[1][0][2][(8+Tone)%12] = 4;
	scale[1][0][2][(9+Tone)%12] = 3;
	scale[1][0][2][(10+Tone)%12] = 4;
	scale[1][0][2][(11+Tone)%12] = 3;
	
	//Quarta acima

	scale[1][1][0][(0+Tone)%12] = 5;
	scale[1][1][0][(1+Tone)%12] = 4;
	scale[1][1][0][(2+Tone)%12] = 5;
	scale[1][1][0][(3+Tone)%12] = 4;
	scale[1][1][0][(4+Tone)%12] = 5;
	scale[1][1][0][(5+Tone)%12] = 6;
	scale[1][1][0][(6+Tone)%12] = 5;
	scale[1][1][0][(7+Tone)%12] = 5;
	scale[1][1][0][(8+Tone)%12] = 4;
	scale[1][1][0][(9+Tone)%12] = 5;
	scale[1][1][0][(10+Tone)%12] = 4;
	scale[1][1][0][(11+Tone)%12] = 5;
	scale[1][1][1][(0+Tone)%12] = 5;
	scale[1][1][1][(1+Tone)%12] = 4;
	scale[1][1][1][(2+Tone)%12] = 5;
	scale[1][1][1][(3+Tone)%12] = 5;
	scale[1][1][1][(4+Tone)%12] = 4;
	scale[1][1][1][(5+Tone)%12] = 5;
	scale[1][1][1][(6+Tone)%12] = 4;
	scale[1][1][1][(7+Tone)%12] = 5;
	scale[1][1][1][(8+Tone)%12] = 6;
	scale[1][1][1][(9+Tone)%12] = 5;
	scale[1][1][1][(10+Tone)%12] = 5;
	scale[1][1][1][(11+Tone)%12] = 4;
	scale[1][1][2][(0+Tone)%12] = 5;
	scale[1][1][2][(1+Tone)%12] = 4;
	scale[1][1][2][(2+Tone)%12] = 5;
	scale[1][1][2][(3+Tone)%12] = 5;
	scale[1][1][2][(4+Tone)%12] = 4;
	scale[1][1][2][(5+Tone)%12] = 6;
	scale[1][1][2][(6+Tone)%12] = 5;
	scale[1][1][2][(7+Tone)%12] = 5;
	scale[1][1][2][(8+Tone)%12] = 6;
	scale[1][1][2][(9+Tone)%12] = 5;
	scale[1][1][2][(11+Tone)%12] = 4;
	scale[1][1][2][(10+Tone)%12] = 4;

	//Quinta acima

	scale[1][2][0][(0+Tone)%12] = 7;
	scale[1][2][0][(1+Tone)%12] = 6;
	scale[1][2][0][(2+Tone)%12] = 7;
	scale[1][2][0][(3+Tone)%12] = 6;
	scale[1][2][0][(4+Tone)%12] = 7;
	scale[1][2][0][(5+Tone)%12] = 7;
	scale[1][2][0][(6+Tone)%12] = 6;
	scale[1][2][0][(7+Tone)%12] = 7;
	scale[1][2][0][(8+Tone)%12] = 6;
	scale[1][2][0][(9+Tone)%12] = 7;
	scale[1][2][0][(10+Tone)%12] = 6;
	scale[1][2][0][(11+Tone)%12] = 6;
	scale[1][2][1][(0+Tone)%12] = 7;
	scale[1][2][1][(1+Tone)%12] = 6;
	scale[1][2][1][(2+Tone)%12] = 6;
	scale[1][2][1][(3+Tone)%12] = 7;
	scale[1][2][1][(4+Tone)%12] = 6;
	scale[1][2][1][(5+Tone)%12] = 7;
	scale[1][2][0][(0+Tone)%12] = 7;
	scale[1][2][1][(6+Tone)%12] = 6;
	scale[1][2][1][(7+Tone)%12] = 7;
	scale[1][2][1][(8+Tone)%12] = 7;
	scale[1][2][1][(9+Tone)%12] = 6;
	scale[1][2][1][(10+Tone)%12] = 7;
	scale[1][2][1][(11+Tone)%12] = 6;
	scale[1][2][2][(0+Tone)%12] = 7;
	scale[1][2][2][(1+Tone)%12] = 6;
	scale[1][2][2][(2+Tone)%12] = 6;
	scale[1][2][2][(3+Tone)%12] = 8;
	scale[1][2][2][(4+Tone)%12] = 7;
	scale[1][2][2][(5+Tone)%12] = 7;
	scale[1][2][2][(6+Tone)%12] = 6;
	scale[1][2][2][(7+Tone)%12] = 7;
	scale[1][2][2][(8+Tone)%12] = 7;
	scale[1][2][2][(9+Tone)%12] = 6;
	scale[1][2][2][(10+Tone)%12] = 5;
	scale[1][2][2][(11+Tone)%12] = 6;

	//Sexta acima

	scale[1][3][0][(0+Tone)%12] = 9;
	scale[1][3][0][(1+Tone)%12] = 8;
	scale[1][3][0][(2+Tone)%12] = 9;
	scale[1][3][0][(3+Tone)%12] = 8;
	scale[1][3][0][(4+Tone)%12] = 8;
	scale[1][3][0][(5+Tone)%12] = 9;
	scale[1][3][0][(6+Tone)%12] = 8;
	scale[1][3][0][(7+Tone)%12] = 9;
	scale[1][3][0][(8+Tone)%12] = 8;
	scale[1][3][0][(9+Tone)%12] = 8;
	scale[1][3][0][(10+Tone)%12] = 9;
	scale[1][3][0][(11+Tone)%12] = 8;
	scale[1][3][1][(0+Tone)%12] = 8;
	scale[1][3][1][(1+Tone)%12] = 9;
	scale[1][3][1][(2+Tone)%12] = 8;
	scale[1][3][1][(3+Tone)%12] = 9;
	scale[1][3][1][(4+Tone)%12] = 8;
	scale[1][3][1][(5+Tone)%12] = 9;
	scale[1][3][1][(6+Tone)%12] = 8;
	scale[1][3][1][(7+Tone)%12] = 8;
	scale[1][3][1][(8+Tone)%12] = 9;
	scale[1][3][1][(9+Tone)%12] = 8;
	scale[1][3][1][(10+Tone)%12] = 9;
	scale[1][3][1][(11+Tone)%12] = 8;
	scale[1][3][2][(0+Tone)%12] = 8;
	scale[1][3][2][(1+Tone)%12] = 10;
	scale[1][3][2][(2+Tone)%12] = 9;
	scale[1][3][2][(3+Tone)%12] = 9;
	scale[1][3][2][(4+Tone)%12] = 8;
	scale[1][3][2][(5+Tone)%12] = 9;
	scale[1][3][2][(6+Tone)%12] = 8;
	scale[1][3][2][(7+Tone)%12] = 8;
	scale[1][3][2][(8+Tone)%12] = 9;
	scale[1][3][2][(9+Tone)%12] = 8;
	scale[1][3][2][(10+Tone)%12] = 9;
	scale[1][3][2][(11+Tone)%12] = 8;
	
	//Sétima acima

	scale[1][4][0][(0+Tone)%12] = 11;
	scale[1][4][0][(1+Tone)%12] = 11;
	scale[1][4][0][(2+Tone)%12] = 10;
	scale[1][4][0][(3+Tone)%12] = 11;
	scale[1][4][0][(4+Tone)%12] = 10;
	scale[1][4][0][(5+Tone)%12] = 11;
	scale[1][4][0][(6+Tone)%12] = 11;
	scale[1][4][0][(7+Tone)%12] = 10;
	scale[1][4][0][(8+Tone)%12] = 11;
	scale[1][4][0][(9+Tone)%12] = 10;
	scale[1][4][0][(10+Tone)%12] = 11;
	scale[1][4][0][(11+Tone)%12] = 10;
	scale[1][4][1][(0+Tone)%12] = 10;
	scale[1][4][1][(1+Tone)%12] = 11;
	scale[1][4][1][(2+Tone)%12] = 10;
	scale[1][4][1][(3+Tone)%12] = 11;
	scale[1][4][1][(4+Tone)%12] = 11;
	scale[1][4][1][(5+Tone)%12] = 10;
	scale[1][4][1][(6+Tone)%12] = 11;
	scale[1][4][1][(7+Tone)%12] = 10;
	scale[1][4][1][(8+Tone)%12] = 11;
	scale[1][4][1][(9+Tone)%12] = 11;
	scale[1][4][1][(10+Tone)%12] = 10;
	scale[1][4][1][(11+Tone)%12] = 11;
	scale[1][4][2][(0+Tone)%12] = 11;
	scale[1][4][2][(1+Tone)%12] = 11;
	scale[1][4][2][(2+Tone)%12] = 10;
	scale[1][4][2][(3+Tone)%12] = 11;
	scale[1][4][2][(4+Tone)%12] = 11;
	scale[1][4][2][(5+Tone)%12] = 10;
	scale[1][4][2][(6+Tone)%12] = 11;
	scale[1][4][2][(7+Tone)%12] = 10;
	scale[1][4][2][(8+Tone)%12] = 11;
	scale[1][4][2][(9+Tone)%12] = 11;
	scale[1][4][2][(10+Tone)%12] = 10;
	scale[1][4][2][(11+Tone)%12] = 9;

	//Oitava acima

	scale[1][5][0][(0+Tone)%12] = 12;
	scale[1][5][0][(1+Tone)%12] = 12;
	scale[1][5][0][(2+Tone)%12] = 12;
	scale[1][5][0][(3+Tone)%12] = 12;
	scale[1][5][0][(4+Tone)%12] = 12;
	scale[1][5][0][(5+Tone)%12] = 12;
	scale[1][5][0][(6+Tone)%12] = 12;
	scale[1][5][0][(7+Tone)%12] = 12;
	scale[1][5][0][(8+Tone)%12] = 12;
	scale[1][5][0][(9+Tone)%12] = 12;
	scale[1][5][0][(10+Tone)%12] = 12;
	scale[1][5][0][(11+Tone)%12] = 12;
	scale[1][5][1][(0+Tone)%12] = 12;
	scale[1][5][1][(1+Tone)%12] = 12;
	scale[1][5][1][(2+Tone)%12] = 12;
	scale[1][5][1][(3+Tone)%12] = 12;
	scale[1][5][1][(4+Tone)%12] = 12;
	scale[1][5][1][(5+Tone)%12] = 12;
	scale[1][5][1][(6+Tone)%12] = 12;
	scale[1][5][1][(7+Tone)%12] = 12;
	scale[1][5][1][(8+Tone)%12] = 12;
	scale[1][5][1][(9+Tone)%12] = 12;
	scale[1][5][1][(10+Tone)%12] = 12;
	scale[1][5][1][(11+Tone)%12] = 12;
	scale[1][5][2][(0+Tone)%12] = 12;
	scale[1][5][2][(1+Tone)%12] = 12;
	scale[1][5][2][(2+Tone)%12] = 12;
	scale[1][5][2][(3+Tone)%12] = 12;
	scale[1][5][2][(4+Tone)%12] = 12;
	scale[1][5][2][(5+Tone)%12] = 12;
	scale[1][5][2][(6+Tone)%12] = 12;
	scale[1][5][2][(7+Tone)%12] = 12;
	scale[1][5][2][(8+Tone)%12] = 12;
	scale[1][5][2][(9+Tone)%12] = 12;
	scale[1][5][2][(10+Tone)%12] = 12;
	scale[1][5][2][(11+Tone)%12] = 12;

	//Terça abaixo

	scale[1][6][0][(0+Tone)%12] = -3;
	scale[1][6][0][(1+Tone)%12] = -4;
	scale[1][6][0][(2+Tone)%12] = -3;
	scale[1][6][0][(3+Tone)%12] = -4;
	scale[1][6][0][(4+Tone)%12] = -4;
	scale[1][6][0][(5+Tone)%12] = -3;
	scale[1][6][0][(6+Tone)%12] = -4;
	scale[1][6][0][(7+Tone)%12] = -3;
	scale[1][6][0][(8+Tone)%12] = -4;
	scale[1][6][0][(9+Tone)%12] = -4;
	scale[1][6][0][(10+Tone)%12] = -3;
	scale[1][6][0][(11+Tone)%12] = -4;
	scale[1][6][1][(0+Tone)%12] = -4;
	scale[1][6][1][(1+Tone)%12] = -3;
	scale[1][6][1][(2+Tone)%12] = -4;
	scale[1][6][1][(3+Tone)%12] = -3;
	scale[1][6][1][(4+Tone)%12] = -4;
	scale[1][6][1][(5+Tone)%12] = -3;
	scale[1][6][1][(6+Tone)%12] = -4;
	scale[1][6][1][(7+Tone)%12] = -4;
	scale[1][6][1][(8+Tone)%12] = -3;
	scale[1][6][1][(9+Tone)%12] = -4;
	scale[1][6][1][(10+Tone)%12] = -3;
	scale[1][6][1][(11+Tone)%12] = -4;
	scale[1][6][2][(0+Tone)%12] = -4;
	scale[1][6][2][(1+Tone)%12] = -5;
	scale[1][6][2][(2+Tone)%12] = -3;
	scale[1][6][2][(3+Tone)%12] = -3;
	scale[1][6][2][(4+Tone)%12] = -4;
	scale[1][6][2][(5+Tone)%12] = -3;
	scale[1][6][2][(6+Tone)%12] = -4;
	scale[1][6][2][(7+Tone)%12] = -4;
	scale[1][6][2][(8+Tone)%12] = -3;
	scale[1][6][2][(9+Tone)%12] = -4;
	scale[1][6][2][(10+Tone)%12] = -3;
	scale[1][6][2][(11+Tone)%12] = -4;
	
	//Quarta abaixo

	scale[1][7][0][(0+Tone)%12] = -5;
	scale[1][7][0][(1+Tone)%12] = -6;
	scale[1][7][0][(2+Tone)%12] = -5;
	scale[1][7][0][(3+Tone)%12] = -6;
	scale[1][7][0][(4+Tone)%12] = -5;
	scale[1][7][0][(5+Tone)%12] = -5;
	scale[1][7][0][(6+Tone)%12] = -6;
	scale[1][7][0][(7+Tone)%12] = -5;
	scale[1][7][0][(8+Tone)%12] = -6;
	scale[1][7][0][(9+Tone)%12] = -5;
	scale[1][7][0][(10+Tone)%12] = -6;
	scale[1][7][0][(11+Tone)%12] = -6;
	scale[1][7][1][(0+Tone)%12] = -5;
	scale[1][7][1][(1+Tone)%12] = -6;
	scale[1][7][1][(2+Tone)%12] = -6;
	scale[1][7][1][(3+Tone)%12] = -5;
	scale[1][7][1][(4+Tone)%12] = -6;
	scale[1][7][1][(5+Tone)%12] = -5;
	scale[1][7][1][(6+Tone)%12] = -6;
	scale[1][7][1][(7+Tone)%12] = -5;
	scale[1][7][1][(8+Tone)%12] = -5;
	scale[1][7][1][(9+Tone)%12] = -6;
	scale[1][7][1][(10+Tone)%12] = -5;
	scale[1][7][1][(11+Tone)%12] = -6;
	scale[1][7][2][(0+Tone)%12] = -5;
	scale[1][7][2][(1+Tone)%12] = -6;
	scale[1][7][2][(2+Tone)%12] = -6;
	scale[1][7][2][(3+Tone)%12] = -4;
	scale[1][7][2][(4+Tone)%12] = -5;
	scale[1][7][2][(5+Tone)%12] = -5;
	scale[1][7][2][(6+Tone)%12] = -6;
	scale[1][7][2][(7+Tone)%12] = -5;
	scale[1][7][2][(8+Tone)%12] = -5;
	scale[1][7][2][(9+Tone)%12] = -6;
	scale[1][7][2][(10+Tone)%12] = -7;
	scale[1][7][2][(11+Tone)%12] = -6;

	//Quinta abaixo

	scale[1][8][0][(0+Tone)%12] = -7;
	scale[1][8][0][(1+Tone)%12] = -8;
	scale[1][8][0][(2+Tone)%12] = -7;
	scale[1][8][0][(3+Tone)%12] = -8;
	scale[1][8][0][(4+Tone)%12] = -7;
	scale[1][8][0][(5+Tone)%12] = -6;
	scale[1][8][0][(6+Tone)%12] = -7;
	scale[1][8][0][(7+Tone)%12] = -7;
	scale[1][8][0][(8+Tone)%12] = -8;
	scale[1][8][0][(9+Tone)%12] = -7;
	scale[1][8][0][(10+Tone)%12] = -8;
	scale[1][8][0][(11+Tone)%12] = -7;
	scale[1][8][1][(0+Tone)%12] = -7;
	scale[1][8][1][(1+Tone)%12] = -8;
	scale[1][8][1][(2+Tone)%12] = -7;
	scale[1][8][1][(3+Tone)%12] = -7;
	scale[1][8][1][(4+Tone)%12] = -8;
	scale[1][8][1][(5+Tone)%12] = -7;
	scale[1][8][1][(6+Tone)%12] = -8;
	scale[1][8][1][(7+Tone)%12] = -7;
	scale[1][8][1][(8+Tone)%12] = -6;
	scale[1][8][1][(9+Tone)%12] = -7;
	scale[1][8][1][(10+Tone)%12] = -7;
	scale[1][8][1][(11+Tone)%12] = -8;
	scale[1][8][2][(0+Tone)%12] = -7;
	scale[1][8][2][(1+Tone)%12] = -8;
	scale[1][8][2][(2+Tone)%12] = -7;
	scale[1][8][2][(3+Tone)%12] = -7;
	scale[1][8][2][(4+Tone)%12] = -8;
	scale[1][8][2][(5+Tone)%12] = -6;
	scale[1][8][2][(6+Tone)%12] = -7;
	scale[1][8][2][(7+Tone)%12] = -7;
	scale[1][8][2][(8+Tone)%12] = -6;
	scale[1][8][2][(9+Tone)%12] = -7;
	scale[1][8][2][(11+Tone)%12] = -8;
	scale[1][8][2][(10+Tone)%12] = -8;

	//Sexta abaixo

	scale[1][9][0][(0+Tone)%12] = -8;
	scale[1][9][0][(1+Tone)%12] = -9;
	scale[1][9][0][(2+Tone)%12] = -9;
	scale[1][9][0][(3+Tone)%12] = -8;
	scale[1][9][0][(4+Tone)%12] = -9;
	scale[1][9][0][(5+Tone)%12] = -8;
	scale[1][9][0][(6+Tone)%12] = -9;
	scale[1][9][0][(7+Tone)%12] = -8;
	scale[1][9][0][(8+Tone)%12] = -9;
	scale[1][9][0][(9+Tone)%12] = -9;
	scale[1][9][0][(10+Tone)%12] = -8;
	scale[1][9][0][(11+Tone)%12] = -9;	
	scale[1][9][1][(0+Tone)%12] = -9;
	scale[1][9][1][(1+Tone)%12] = -8;
	scale[1][9][1][(2+Tone)%12] = -9;
	scale[1][9][1][(3+Tone)%12] = -8;
	scale[1][9][1][(4+Tone)%12] = -9;
	scale[1][9][1][(5+Tone)%12] = -9;
	scale[1][9][1][(6+Tone)%12] = -8;
	scale[1][9][1][(7+Tone)%12] = -9;
	scale[1][9][1][(8+Tone)%12] = -8;
	scale[1][9][1][(9+Tone)%12] = -9;
	scale[1][9][1][(10+Tone)%12] = -8;
	scale[1][9][1][(11+Tone)%12] = -9;
	scale[1][9][2][(0+Tone)%12] = -9;
	scale[1][9][2][(1+Tone)%12] = -8;
	scale[1][9][2][(2+Tone)%12] = -9;
	scale[1][9][2][(3+Tone)%12] = -8;
	scale[1][9][2][(4+Tone)%12] = -9;
	scale[1][9][2][(5+Tone)%12] = -9;
	scale[1][9][2][(6+Tone)%12] = -7;
	scale[1][9][2][(7+Tone)%12] = -8;
	scale[1][9][2][(8+Tone)%12] = -8;
	scale[1][9][2][(9+Tone)%12] = -9;
	scale[1][9][2][(10+Tone)%12] = -8;
	scale[1][9][2][(11+Tone)%12] = -9;

	//Sétima abaixo

	scale[1][10][0][(0+Tone)%12] = -10;
	scale[1][10][0][(1+Tone)%12] = -11;
	scale[1][10][0][(2+Tone)%12] = -10;
	scale[1][10][0][(3+Tone)%12] = -11;
	scale[1][10][0][(4+Tone)%12] = -11;
	scale[1][10][0][(5+Tone)%12] = -10;
	scale[1][10][0][(6+Tone)%12] = -11;
	scale[1][10][0][(7+Tone)%12] = -10;
	scale[1][10][0][(8+Tone)%12] = -11;
	scale[1][10][0][(9+Tone)%12] = -10;
	scale[1][10][0][(10+Tone)%12] = -11;
	scale[1][10][0][(11+Tone)%12] = -11;
	scale[1][10][1][(0+Tone)%12] = -10;
	scale[1][10][1][(1+Tone)%12] = -11;
	scale[1][10][1][(2+Tone)%12] = -11;
	scale[1][10][1][(3+Tone)%12] = -10;
	scale[1][10][1][(4+Tone)%12] = -11;
	scale[1][10][1][(5+Tone)%12] = -10;
	scale[1][10][1][(6+Tone)%12] = -11;
	scale[1][10][1][(7+Tone)%12] = -11;
	scale[1][10][1][(8+Tone)%12] = -10;
	scale[1][10][1][(9+Tone)%12] = -11;
	scale[1][10][1][(10+Tone)%12] = -10;
	scale[1][10][1][(11+Tone)%12] = -11;
	scale[1][10][2][(0+Tone)%12] = -10;
	scale[1][10][2][(1+Tone)%12] = -11;
	scale[1][10][2][(2+Tone)%12] = -11;
	scale[1][10][2][(3+Tone)%12] = -10;
	scale[1][10][2][(4+Tone)%12] = -11;
	scale[1][10][2][(5+Tone)%12] = -10;
	scale[1][10][2][(6+Tone)%12] = -11;
	scale[1][10][2][(7+Tone)%12] = -11;
	scale[1][10][2][(8+Tone)%12] = -9;
	scale[1][10][2][(9+Tone)%12] = -10;
	scale[1][10][2][(10+Tone)%12] = -11;
	scale[1][10][2][(11+Tone)%12] = -11;
	
	//Oitava abaixo

	scale[1][11][0][(0+Tone)%12] = -12;
	scale[1][11][0][(1+Tone)%12] = -12;
	scale[1][11][0][(2+Tone)%12] = -12;
	scale[1][11][0][(3+Tone)%12] = -12;
	scale[1][11][0][(4+Tone)%12] = -12;
	scale[1][11][0][(5+Tone)%12] = -12;
	scale[1][11][0][(6+Tone)%12] = -12;
	scale[1][11][0][(7+Tone)%12] = -12;
	scale[1][11][0][(8+Tone)%12] = -12;
	scale[1][11][0][(9+Tone)%12] = -12;
	scale[1][11][0][(10+Tone)%12] = -12;
	scale[1][11][0][(11+Tone)%12] = -12;
	scale[1][11][1][(0+Tone)%12] = -12;
	scale[1][11][1][(1+Tone)%12] = -12;
	scale[1][11][1][(2+Tone)%12] = -12;
	scale[1][11][1][(3+Tone)%12] = -12;
	scale[1][11][1][(4+Tone)%12] = -12;
	scale[1][11][1][(5+Tone)%12] = -12;
	scale[1][11][1][(6+Tone)%12] = -12;
	scale[1][11][1][(7+Tone)%12] = -12;
	scale[1][11][1][(8+Tone)%12] = -12;
	scale[1][11][1][(9+Tone)%12] = -12;
	scale[1][11][1][(10+Tone)%12] = -12;
	scale[1][11][1][(11+Tone)%12] = -12;
	scale[1][11][2][(0+Tone)%12] = -12;
	scale[1][11][2][(1+Tone)%12] = -12;
	scale[1][11][2][(2+Tone)%12] = -12;
	scale[1][11][2][(3+Tone)%12] = -12;
	scale[1][11][2][(4+Tone)%12] = -12;
	scale[1][11][2][(5+Tone)%12] = -12;
	scale[1][11][2][(6+Tone)%12] = -12;
	scale[1][11][2][(7+Tone)%12] = -12;
	scale[1][11][2][(8+Tone)%12] = -12;
	scale[1][11][2][(9+Tone)%12] = -12;
	scale[1][11][2][(10+Tone)%12] = -12;
	scale[1][11][2][(11+Tone)%12] = -12;

	
	/**********Bend Mode***************/
	
	//Terça acima

	scale[2][0][0][(0+Tone)%12] = 4;
	scale[2][0][0][(1+Tone)%12] = 3.5;
	scale[2][0][0][(2+Tone)%12] = 3;
	scale[2][0][0][(3+Tone)%12] = 3;
	scale[2][0][0][(4+Tone)%12] = 3;
	scale[2][0][0][(5+Tone)%12] = 4;
	scale[2][0][0][(6+Tone)%12] = 4;
	scale[2][0][0][(7+Tone)%12] = 4;
	scale[2][0][0][(8+Tone)%12] = 3.5;
	scale[2][0][0][(9+Tone)%12] = 3;
	scale[2][0][0][(10+Tone)%12] = 3;
	scale[2][0][0][(11+Tone)%12] = 3;
	
	scale[2][0][1][(0+Tone)%12] = 3;
	scale[2][0][1][(1+Tone)%12] = 3;
	scale[2][0][1][(2+Tone)%12] = 3;
	scale[2][0][1][(3+Tone)%12] = 4;
	scale[2][0][1][(4+Tone)%12] = 3.5;
	scale[2][0][1][(5+Tone)%12] = 3;
	scale[2][0][1][(6+Tone)%12] = 3;
	scale[2][0][1][(7+Tone)%12] = 3;
	scale[2][0][1][(8+Tone)%12] = 4;
	scale[2][0][1][(9+Tone)%12] = 4;
	scale[2][0][1][(10+Tone)%12] = 4;
	scale[2][0][1][(11+Tone)%12] = 3.5;
	
	scale[2][0][2][(0+Tone)%12] = 3;
	scale[2][0][2][(1+Tone)%12] = 3;
	scale[2][0][2][(2+Tone)%12] = 3;
	scale[2][0][2][(3+Tone)%12] = 4;
	scale[2][0][2][(4+Tone)%12] = 3.5;
	scale[2][0][2][(5+Tone)%12] = 3;
	scale[2][0][2][(6+Tone)%12] = 3.5;
	scale[2][0][2][(7+Tone)%12] = 4;
	scale[2][0][2][(8+Tone)%12] = 4;
	scale[2][0][2][(9+Tone)%12] = 3.66;
	scale[2][0][2][(10+Tone)%12] = 3.33;
	scale[2][0][2][(11+Tone)%12] = 3;
	
	//Quarta acima

	scale[2][1][0][(0+Tone)%12] = 5;
	scale[2][1][0][(1+Tone)%12] = 5;
	scale[2][1][0][(2+Tone)%12] = 5;
	scale[2][1][0][(3+Tone)%12] = 5;
	scale[2][1][0][(4+Tone)%12] = 5;
	scale[2][1][0][(5+Tone)%12] = 6;
	scale[2][1][0][(6+Tone)%12] = 5.5;
	scale[2][1][0][(7+Tone)%12] = 5;
	scale[2][1][0][(8+Tone)%12] = 5;
	scale[2][1][0][(9+Tone)%12] = 5;
	scale[2][1][0][(10+Tone)%12] = 5;
	scale[2][1][0][(11+Tone)%12] = 5;
	scale[2][1][1][(0+Tone)%12] = 5;
	scale[2][1][1][(1+Tone)%12] = 5;
	scale[2][1][1][(2+Tone)%12] = 5;
	scale[2][1][1][(3+Tone)%12] = 5;
	scale[2][1][1][(4+Tone)%12] = 5;
	scale[2][1][1][(5+Tone)%12] = 5;
	scale[2][1][1][(6+Tone)%12] = 5;
	scale[2][1][1][(7+Tone)%12] = 5;
	scale[2][1][1][(8+Tone)%12] = 6;
	scale[2][1][1][(9+Tone)%12] = 5.5;
	scale[2][1][1][(10+Tone)%12] = 5;
	scale[2][1][1][(11+Tone)%12] = 5;
	scale[2][1][2][(0+Tone)%12] = 5;
	scale[2][1][2][(1+Tone)%12] = 5;
	scale[2][1][2][(2+Tone)%12] = 5;
	scale[2][1][2][(3+Tone)%12] = 5;
	scale[2][1][2][(4+Tone)%12] = 5.5;
	scale[2][1][2][(5+Tone)%12] = 6;
	scale[2][1][2][(6+Tone)%12] = 5.5;
	scale[2][1][2][(7+Tone)%12] = 5;
	scale[2][1][2][(8+Tone)%12] = 6;
	scale[2][1][2][(9+Tone)%12] = 5.33;
	scale[2][1][2][(10+Tone)%12] = 4.66;
	scale[2][1][2][(11+Tone)%12] = 4;

	//Quinta acima

	scale[2][2][0][(0+Tone)%12] = 7;
	scale[2][2][0][(1+Tone)%12] = 7;
	scale[2][2][0][(2+Tone)%12] = 7;
	scale[2][2][0][(3+Tone)%12] = 7;
	scale[2][2][0][(4+Tone)%12] = 7;
	scale[2][2][0][(5+Tone)%12] = 7;
	scale[2][2][0][(6+Tone)%12] = 7;
	scale[2][2][0][(7+Tone)%12] = 7;
	scale[2][2][0][(8+Tone)%12] = 7;
	scale[2][2][0][(9+Tone)%12] = 7;
	scale[2][2][0][(10+Tone)%12] = 6.5;
	scale[2][2][0][(11+Tone)%12] = 6;
	scale[2][2][1][(0+Tone)%12] = 7;
	scale[2][2][1][(1+Tone)%12] = 6.5;
	scale[2][2][1][(2+Tone)%12] = 6;
	scale[2][2][1][(3+Tone)%12] = 7;
	scale[2][2][1][(4+Tone)%12] = 7;
	scale[2][2][1][(5+Tone)%12] = 7;
	scale[2][2][1][(6+Tone)%12] = 7;
	scale[2][2][1][(7+Tone)%12] = 7;
	scale[2][2][1][(8+Tone)%12] = 7;
	scale[2][2][1][(9+Tone)%12] = 7;
	scale[2][2][1][(10+Tone)%12] = 7;
	scale[2][2][1][(11+Tone)%12] = 7;
	scale[2][2][2][(0+Tone)%12] = 7;
	scale[2][2][2][(1+Tone)%12] = 6.5;
	scale[2][2][2][(2+Tone)%12] = 6;
	scale[2][2][2][(3+Tone)%12] = 8;
	scale[2][2][2][(4+Tone)%12] = 7.5;
	scale[2][2][2][(5+Tone)%12] = 7;
	scale[2][2][2][(6+Tone)%12] = 7;
	scale[2][2][2][(7+Tone)%12] = 7;
	scale[2][2][2][(8+Tone)%12] = 7;
	scale[2][2][2][(9+Tone)%12] = 6.66;
	scale[2][2][2][(10+Tone)%12] = 6.33;
	scale[2][2][2][(11+Tone)%12] = 6;

	//Sexta acima

	scale[2][3][0][(0+Tone)%12] = 9;
	scale[2][3][0][(1+Tone)%12] = 9;
	scale[2][3][0][(2+Tone)%12] = 9;
	scale[2][3][0][(3+Tone)%12] = 8.5;
	scale[2][3][0][(4+Tone)%12] = 8;
	scale[2][3][0][(5+Tone)%12] = 9;
	scale[2][3][0][(6+Tone)%12] = 9;
	scale[2][3][0][(7+Tone)%12] = 9;
	scale[2][3][0][(8+Tone)%12] = 8.5;
	scale[2][3][0][(9+Tone)%12] = 8;
	scale[2][3][0][(10+Tone)%12] = 8;
	scale[2][3][0][(11+Tone)%12] = 8;
	scale[2][3][1][(0+Tone)%12] = 8;
	scale[2][3][1][(1+Tone)%12] = 8;
	scale[2][3][1][(2+Tone)%12] = 8;
	scale[2][3][1][(3+Tone)%12] = 9;
	scale[2][3][1][(4+Tone)%12] = 9;
	scale[2][3][1][(5+Tone)%12] = 9;
	scale[2][3][1][(6+Tone)%12] = 8.5;
	scale[2][3][1][(7+Tone)%12] = 8;
	scale[2][3][1][(8+Tone)%12] = 9;
	scale[2][3][1][(9+Tone)%12] = 9;
	scale[2][3][1][(10+Tone)%12] = 9;
	scale[2][3][1][(11+Tone)%12] = 8.5;
	scale[2][3][2][(0+Tone)%12] = 8;
	scale[2][3][2][(1+Tone)%12] = 8.5;
	scale[2][3][2][(2+Tone)%12] = 9;
	scale[2][3][2][(3+Tone)%12] = 9;
	scale[2][3][2][(4+Tone)%12] = 9;
	scale[2][3][2][(5+Tone)%12] = 9;
	scale[2][3][2][(6+Tone)%12] = 8.5;
	scale[2][3][2][(7+Tone)%12] = 8;
	scale[2][3][2][(8+Tone)%12] = 9;
	scale[2][3][2][(9+Tone)%12] = 8.66;
	scale[2][3][2][(10+Tone)%12] = 8.33;
	scale[2][3][2][(11+Tone)%12] = 8;
	
	//Sétima acima

	scale[2][4][0][(0+Tone)%12] = 11;
	scale[2][4][0][(1+Tone)%12] = 10.5;
	scale[2][4][0][(2+Tone)%12] = 10;
	scale[2][4][0][(3+Tone)%12] = 10;
	scale[2][4][0][(4+Tone)%12] = 10;
	scale[2][4][0][(5+Tone)%12] = 11;
	scale[2][4][0][(6+Tone)%12] = 10.5;
	scale[2][4][0][(7+Tone)%12] = 10;
	scale[2][4][0][(8+Tone)%12] = 10;
	scale[2][4][0][(9+Tone)%12] = 10;
	scale[2][4][0][(10+Tone)%12] = 10;
	scale[2][4][0][(11+Tone)%12] = 10;
	scale[2][4][1][(0+Tone)%12] = 10;
	scale[2][4][1][(1+Tone)%12] = 10;
	scale[2][4][1][(2+Tone)%12] = 10;
	scale[2][4][1][(3+Tone)%12] = 11;
	scale[2][4][1][(4+Tone)%12] = 10.5;
	scale[2][4][1][(5+Tone)%12] = 10;
	scale[2][4][1][(6+Tone)%12] = 10;
	scale[2][4][1][(7+Tone)%12] = 10;
	scale[2][4][1][(8+Tone)%12] = 11;
	scale[2][4][1][(9+Tone)%12] = 10.5;
	scale[2][4][1][(10+Tone)%12] = 10;
	scale[2][4][1][(11+Tone)%12] = 10;
	scale[2][4][2][(0+Tone)%12] = 11;
	scale[2][4][2][(1+Tone)%12] = 10.5;
	scale[2][4][2][(2+Tone)%12] = 10;
	scale[2][4][2][(3+Tone)%12] = 11;
	scale[2][4][2][(4+Tone)%12] = 10.5;
	scale[2][4][2][(5+Tone)%12] = 10;
	scale[2][4][2][(6+Tone)%12] = 10;
	scale[2][4][2][(7+Tone)%12] = 10;
	scale[2][4][2][(8+Tone)%12] = 11;
	scale[2][4][2][(9+Tone)%12] = 10.33;
	scale[2][4][2][(10+Tone)%12] = 9.66;
	scale[2][4][2][(11+Tone)%12] = 9;

	//Oitava acima

	scale[2][5][0][(0+Tone)%12] = 12;
	scale[2][5][0][(1+Tone)%12] = 12;
	scale[2][5][0][(2+Tone)%12] = 12;
	scale[2][5][0][(3+Tone)%12] = 12;
	scale[2][5][0][(4+Tone)%12] = 12;
	scale[2][5][0][(5+Tone)%12] = 12;
	scale[2][5][0][(6+Tone)%12] = 12;
	scale[2][5][0][(7+Tone)%12] = 12;
	scale[2][5][0][(8+Tone)%12] = 12;
	scale[2][5][0][(9+Tone)%12] = 12;
	scale[2][5][0][(10+Tone)%12] = 12;
	scale[2][5][0][(11+Tone)%12] = 12;
	scale[2][5][1][(0+Tone)%12] = 12;
	scale[2][5][1][(1+Tone)%12] = 12;
	scale[2][5][1][(2+Tone)%12] = 12;
	scale[2][5][1][(3+Tone)%12] = 12;
	scale[2][5][1][(4+Tone)%12] = 12;
	scale[2][5][1][(5+Tone)%12] = 12;
	scale[2][5][1][(6+Tone)%12] = 12;
	scale[2][5][1][(7+Tone)%12] = 12;
	scale[2][5][1][(8+Tone)%12] = 12;
	scale[2][5][1][(9+Tone)%12] = 12;
	scale[2][5][1][(10+Tone)%12] = 12;
	scale[2][5][1][(11+Tone)%12] = 12;
	scale[2][5][2][(0+Tone)%12] = 12;
	scale[2][5][2][(1+Tone)%12] = 12;
	scale[2][5][2][(2+Tone)%12] = 12;
	scale[2][5][2][(3+Tone)%12] = 12;
	scale[2][5][2][(4+Tone)%12] = 12;
	scale[2][5][2][(5+Tone)%12] = 12;
	scale[2][5][2][(6+Tone)%12] = 12;
	scale[2][5][2][(7+Tone)%12] = 12;
	scale[2][5][2][(8+Tone)%12] = 12;
	scale[2][5][2][(9+Tone)%12] = 12;
	scale[2][5][2][(10+Tone)%12] = 12;
	scale[2][5][2][(11+Tone)%12] = 12;

	//Terça abaixo

	scale[2][6][0][(0+Tone)%12] = -3;
	scale[2][6][0][(1+Tone)%12] = -3;
	scale[2][6][0][(2+Tone)%12] = -3;
	scale[2][6][0][(3+Tone)%12] = -3.5;
	scale[2][6][0][(4+Tone)%12] = -4;
	scale[2][6][0][(5+Tone)%12] = -3;
	scale[2][6][0][(6+Tone)%12] = -3;
	scale[2][6][0][(7+Tone)%12] = -3;
	scale[2][6][0][(8+Tone)%12] = -3.5;
	scale[2][6][0][(9+Tone)%12] = -4;
	scale[2][6][0][(10+Tone)%12] = -4;
	scale[2][6][0][(11+Tone)%12] = -4;
	scale[2][6][1][(0+Tone)%12] = -4;
	scale[2][6][1][(1+Tone)%12] = -4;
	scale[2][6][1][(2+Tone)%12] = -4;
	scale[2][6][1][(3+Tone)%12] = -3;
	scale[2][6][1][(4+Tone)%12] = -3;
	scale[2][6][1][(5+Tone)%12] = -3;
	scale[2][6][1][(6+Tone)%12] = -3.5;
	scale[2][6][1][(7+Tone)%12] = -4;
	scale[2][6][1][(8+Tone)%12] = -3;
	scale[2][6][1][(9+Tone)%12] = -3;
	scale[2][6][1][(10+Tone)%12] = -3;
	scale[2][6][1][(11+Tone)%12] = -3.5;
	scale[2][6][2][(0+Tone)%12] = -4;
	scale[2][6][2][(1+Tone)%12] = -3.5;
	scale[2][6][2][(2+Tone)%12] = -3;
	scale[2][6][2][(3+Tone)%12] = -3;
	scale[2][6][2][(4+Tone)%12] = -3;
	scale[2][6][2][(5+Tone)%12] = -3;
	scale[2][6][2][(6+Tone)%12] = -3.5;
	scale[2][6][2][(7+Tone)%12] = -4;
	scale[2][6][2][(8+Tone)%12] = -3;
	scale[2][6][2][(9+Tone)%12] = -3.33;
	scale[2][6][2][(10+Tone)%12] = -3.66;
	scale[2][6][2][(11+Tone)%12] = -4;
	
	//Quarta abaixo

	scale[2][7][0][(0+Tone)%12] = -5;
	scale[2][7][0][(1+Tone)%12] = -5;
	scale[2][7][0][(2+Tone)%12] = -5;
	scale[2][7][0][(3+Tone)%12] = -5;
	scale[2][7][0][(4+Tone)%12] = -5;
	scale[2][7][0][(5+Tone)%12] = -5;
	scale[2][7][0][(6+Tone)%12] = -5;
	scale[2][7][0][(7+Tone)%12] = -5;
	scale[2][7][0][(8+Tone)%12] = -5;
	scale[2][7][0][(9+Tone)%12] = -5;
	scale[2][7][0][(10+Tone)%12] = -5.5;
	scale[2][7][0][(11+Tone)%12] = -6;
	scale[2][7][1][(0+Tone)%12] = -5;
	scale[2][7][1][(1+Tone)%12] = -5.5;
	scale[2][7][1][(2+Tone)%12] = -6;
	scale[2][7][1][(3+Tone)%12] = -5;
	scale[2][7][1][(4+Tone)%12] = -5;
	scale[2][7][1][(5+Tone)%12] = -5;
	scale[2][7][1][(6+Tone)%12] = -5;
	scale[2][7][1][(7+Tone)%12] = -5;
	scale[2][7][1][(8+Tone)%12] = -5;
	scale[2][7][1][(9+Tone)%12] = -5;
	scale[2][7][1][(10+Tone)%12] = -5;
	scale[2][7][1][(11+Tone)%12] = -5;
	scale[2][7][2][(0+Tone)%12] = -5;
	scale[2][7][2][(1+Tone)%12] = -5.5;
	scale[2][7][2][(2+Tone)%12] = -6;
	scale[2][7][2][(3+Tone)%12] = -4;
	scale[2][7][2][(4+Tone)%12] = -4.5;
	scale[2][7][2][(5+Tone)%12] = -5;
	scale[2][7][2][(6+Tone)%12] = -5;
	scale[2][7][2][(7+Tone)%12] = -5;
	scale[2][7][2][(8+Tone)%12] = -5;
	scale[2][7][2][(9+Tone)%12] = -5.33;
	scale[2][7][2][(10+Tone)%12] = -5.66;
	scale[2][7][2][(11+Tone)%12] = -6;

	//Quinta abaixo

	scale[2][8][0][(0+Tone)%12] = -7;
	scale[2][8][0][(1+Tone)%12] = -7;
	scale[2][8][0][(2+Tone)%12] = -7;
	scale[2][8][0][(3+Tone)%12] = -7;
	scale[2][8][0][(4+Tone)%12] = -7;
	scale[2][8][0][(5+Tone)%12] = -6;
	scale[2][8][0][(6+Tone)%12] = -6.5;
	scale[2][8][0][(7+Tone)%12] = -7;
	scale[2][8][0][(8+Tone)%12] = -7;
	scale[2][8][0][(9+Tone)%12] = -7;
	scale[2][8][0][(10+Tone)%12] = -7;
	scale[2][8][0][(11+Tone)%12] = -7;
	scale[2][8][1][(0+Tone)%12] = -7;
	scale[2][8][1][(1+Tone)%12] = -7;
	scale[2][8][1][(2+Tone)%12] = -7;
	scale[2][8][1][(3+Tone)%12] = -7;
	scale[2][8][1][(4+Tone)%12] = -7;
	scale[2][8][1][(5+Tone)%12] = -7;
	scale[2][8][1][(6+Tone)%12] = -7;
	scale[2][8][1][(7+Tone)%12] = -7;
	scale[2][8][1][(8+Tone)%12] = -6;
	scale[2][8][1][(9+Tone)%12] = -6.5;
	scale[2][8][1][(10+Tone)%12] = -7;
	scale[2][8][1][(11+Tone)%12] = -7;
	scale[2][8][2][(0+Tone)%12] = -7;
	scale[2][8][2][(1+Tone)%12] = -7;
	scale[2][8][2][(2+Tone)%12] = -7;
	scale[2][8][2][(3+Tone)%12] = -7;
	scale[2][8][2][(4+Tone)%12] = -6.5;
	scale[2][8][2][(5+Tone)%12] = -6;
	scale[2][8][2][(6+Tone)%12] = -6.5;
	scale[2][8][2][(7+Tone)%12] = -7;
	scale[2][8][2][(8+Tone)%12] = -6;
	scale[2][8][2][(9+Tone)%12] = -6.66;
	scale[2][8][2][(10+Tone)%12] = -7.33;
	scale[2][8][2][(11+Tone)%12] = -8;

	//Sexta abaixo

	scale[2][9][0][(0+Tone)%12] = -8;
	scale[2][9][0][(1+Tone)%12] = -8.5;
	scale[2][9][0][(2+Tone)%12] = -9;
	scale[2][9][0][(3+Tone)%12] = -9;
	scale[2][9][0][(4+Tone)%12] = -9;
	scale[2][9][0][(5+Tone)%12] = -8;
	scale[2][9][0][(6+Tone)%12] = -8;
	scale[2][9][0][(7+Tone)%12] = -8;
	scale[2][9][0][(8+Tone)%12] = -8.5;
	scale[2][9][0][(9+Tone)%12] = -9;
	scale[2][9][0][(10+Tone)%12] = -9;
	scale[2][9][0][(11+Tone)%12] = -9;	
	scale[2][9][1][(0+Tone)%12] = -9;
	scale[2][9][1][(1+Tone)%12] = -9;
	scale[2][9][1][(2+Tone)%12] = -9;
	scale[2][9][1][(3+Tone)%12] = -8;
	scale[2][9][1][(4+Tone)%12] = -8.5;
	scale[2][9][1][(5+Tone)%12] = -9;
	scale[2][9][1][(6+Tone)%12] = -9;
	scale[2][9][1][(7+Tone)%12] = -9;
	scale[2][9][1][(8+Tone)%12] = -8;
	scale[2][9][1][(9+Tone)%12] = -8;
	scale[2][9][1][(10+Tone)%12] = -8;
	scale[2][9][1][(11+Tone)%12] = -8.5;
	scale[2][9][2][(0+Tone)%12] = -9;
	scale[2][9][2][(1+Tone)%12] = -9;
	scale[2][9][2][(2+Tone)%12] = -9;
	scale[2][9][2][(3+Tone)%12] = -8;
	scale[2][9][2][(4+Tone)%12] = -8.5;
	scale[2][9][2][(5+Tone)%12] = -9;
	scale[2][9][2][(6+Tone)%12] = -9;
	scale[2][9][2][(7+Tone)%12] = -9;
	scale[2][9][2][(8+Tone)%12] = -8;
	scale[2][9][2][(9+Tone)%12] = -8.33;
	scale[2][9][2][(10+Tone)%12] = -8.66;
	scale[2][9][2][(11+Tone)%12] = -9;

	//Sétima abaixo

	scale[2][10][0][(0+Tone)%12] = -10;
	scale[2][10][0][(1+Tone)%12] = -10;
	scale[2][10][0][(2+Tone)%12] = -10;
	scale[2][10][0][(3+Tone)%12] = -10.5;
	scale[2][10][0][(4+Tone)%12] = -11;
	scale[2][10][0][(5+Tone)%12] = -10;
	scale[2][10][0][(6+Tone)%12] = -10;
	scale[2][10][0][(7+Tone)%12] = -10;
	scale[2][10][0][(8+Tone)%12] = -10;
	scale[2][10][0][(9+Tone)%12] = -10;
	scale[2][10][0][(10+Tone)%12] = -10.5;
	scale[2][10][0][(11+Tone)%12] = -11;
	scale[2][10][1][(0+Tone)%12] = -10;
	scale[2][10][1][(1+Tone)%12] = -10.5;
	scale[2][10][1][(2+Tone)%12] = -11;
	scale[2][10][1][(3+Tone)%12] = -10;
	scale[2][10][1][(4+Tone)%12] = -10;
	scale[2][10][1][(5+Tone)%12] = -10;
	scale[2][10][1][(6+Tone)%12] = -10.5;
	scale[2][10][1][(7+Tone)%12] = -11;
	scale[2][10][1][(8+Tone)%12] = -10;
	scale[2][10][1][(9+Tone)%12] = -10;
	scale[2][10][1][(10+Tone)%12] = -10;
	scale[2][10][1][(11+Tone)%12] = -10;
	scale[2][10][2][(0+Tone)%12] = -10;
	scale[2][10][2][(1+Tone)%12] = -10.5;
	scale[2][10][2][(2+Tone)%12] = -11;
	scale[2][10][2][(3+Tone)%12] = -10;
	scale[2][10][2][(4+Tone)%12] = -10;
	scale[2][10][2][(5+Tone)%12] = -10;
	scale[2][10][2][(6+Tone)%12] = -10.5;
	scale[2][10][2][(7+Tone)%12] = -11;
	scale[2][10][2][(8+Tone)%12] = -9;
	scale[2][10][2][(9+Tone)%12] = -9.66;
	scale[2][10][2][(10+Tone)%12] = -10.33;
	scale[2][10][2][(11+Tone)%12] = -11;

	//Oitava abaixo

	scale[2][11][0][(0+Tone)%12] = -12;
	scale[2][11][0][(1+Tone)%12] = -12;
	scale[2][11][0][(2+Tone)%12] = -12;
	scale[2][11][0][(3+Tone)%12] = -12;
	scale[2][11][0][(4+Tone)%12] = -12;
	scale[2][11][0][(5+Tone)%12] = -12;
	scale[2][11][0][(6+Tone)%12] = -12;
	scale[2][11][0][(7+Tone)%12] = -12;
	scale[2][11][0][(8+Tone)%12] = -12;
	scale[2][11][0][(9+Tone)%12] = -12;
	scale[2][11][0][(10+Tone)%12] = -12;
	scale[2][11][0][(11+Tone)%12] = -12;
	scale[2][11][1][(0+Tone)%12] = -12;
	scale[2][11][1][(1+Tone)%12] = -12;
	scale[2][11][1][(2+Tone)%12] = -12;
	scale[2][11][1][(3+Tone)%12] = -12;
	scale[2][11][1][(4+Tone)%12] = -12;
	scale[2][11][1][(5+Tone)%12] = -12;
	scale[2][11][1][(6+Tone)%12] = -12;
	scale[2][11][1][(7+Tone)%12] = -12;
	scale[2][11][1][(8+Tone)%12] = -12;
	scale[2][11][1][(9+Tone)%12] = -12;
	scale[2][11][1][(10+Tone)%12] = -12;
	scale[2][11][1][(11+Tone)%12] = -12;
	scale[2][11][2][(0+Tone)%12] = -12;
	scale[2][11][2][(1+Tone)%12] = -12;
	scale[2][11][2][(2+Tone)%12] = -12;
	scale[2][11][2][(3+Tone)%12] = -12;
	scale[2][11][2][(4+Tone)%12] = -12;
	scale[2][11][2][(5+Tone)%12] = -12;
	scale[2][11][2][(6+Tone)%12] = -12;
	scale[2][11][2][(7+Tone)%12] = -12;
	scale[2][11][2][(8+Tone)%12] = -12;
	scale[2][11][2][(9+Tone)%12] = -12;
	scale[2][11][2][(10+Tone)%12] = -12;
	scale[2][11][2][(11+Tone)%12] = -12;

	
	if (Mode < 0) Mode = 0;
	if (Mode > 2) Mode = 2;
	if (Scale < 0) Scale = 0;
	if (Scale > 2) Scale = 2;
	if (Interval < 0) Interval = 0;
	if (Interval > 11) Interval = 11;
	if (LowNote < 0) LowNote = 0;
	if (LowNote > 14) LowNote = 14;
	
	switch (note)
	{
		case 0:
			s[0] = scale[Mode][Interval][Scale][0];
			break;
		case 1:
			s[0] = scale[Mode][Interval][Scale][1];
			break;
		case 2:
			s[0] = scale[Mode][Interval][Scale][2];
			break;
		case 3:
			s[0] = scale[Mode][Interval][Scale][3];
			break;
		case 4:
			s[0] = scale[Mode][Interval][Scale][4];
			break;
		case 5:
			s[0] = scale[Mode][Interval][Scale][5];
			break;
		case 6:
			s[0] = scale[Mode][Interval][Scale][6];
			break;
		case 7:
			s[0] = scale[Mode][Interval][Scale][7];
			break;
		case 8:
			s[0] = scale[Mode][Interval][Scale][8];
			break;
		case 9:
			s[0] = scale[Mode][Interval][Scale][9];
			break;
		case 10:
			s[0] = scale[Mode][Interval][Scale][10];
			break;
		case 11:
			s[0] = scale[Mode][Interval][Scale][11];
			break;
	}
	
	//cout << "LowNote = " << LowNote << " note = " << note << " oitava = " << oitava;
	
	switch (LowNote)
	{
		case 0:
			if ( (oitava == 0) || ( (oitava == 1)&&(note < 10) )  ) s[0] = 0;
			break;
		case 1:
			if ( oitava <=1 ) s[0] = 0;
			break;
		case 2:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 1) )  ) s[0] = 0;
			break;
		case 3:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 2) )  ) s[0] = 0;
			break;
		case 4:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 3) )  ) s[0] = 0;
			break;
		case 5:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 4) )  ) s[0] = 0;
			break;
		case 6:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 5) )  ) s[0] = 0;
			break;
		case 7:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 6) )  ) s[0] = 0;
			break;
		case 8:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 7) )  ) s[0] = 0;
			break;
		case 9:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 8) )  ) s[0] = 0;
			break;
		case 10:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 9) )  ) s[0] = 0;
			break;
		case 11:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 10) )  ) s[0] = 0;
			break;
		case 12:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 11) )  ) s[0] = 0;
			break;
		case 13:
			if ( (oitava <=2) ) s[0] = 0;
			break;
		case 14:
			if ( (oitava <=2) || ( (oitava == 3)&&(note < 1) )  ) s[0] = 0;
			break;
	}
	//hops[Qcolumn-1] = round(hopa*(pow(2,(s[0]/12))));
	
}

void FindStepCS(int note, int oitava, int Tone, int LowNote, int s_0, int s_1, int s_2, int s_3, int s_4, int s_5, int s_6, int s_7, int s_8, int s_9, int s_10, int s_11, double *s)
{
	float scale[12];	

	scale[(0+Tone)%12] = s_0;
	scale[(1+Tone)%12] = s_1;
	scale[(2+Tone)%12] = s_2;
	scale[(3+Tone)%12] = s_3;
	scale[(4+Tone)%12] = s_4;
	scale[(5+Tone)%12] = s_5;
	scale[(6+Tone)%12] = s_6;
	scale[(7+Tone)%12] = s_7;
	scale[(8+Tone)%12] = s_8;
	scale[(9+Tone)%12] = s_9;
	scale[(10+Tone)%12] = s_10;
	scale[(11+Tone)%12] = s_11;
	
	if (LowNote < 0) LowNote = 0;
	if (LowNote > 14) LowNote = 14;
	
	switch (note)
	{
		case 0:
			s[0] = scale[0];
			break;
		case 1:
			s[0] = scale[1];
			break;
		case 2:
			s[0] = scale[2];
			break;
		case 3:
			s[0] = scale[3];
			break;
		case 4:
			s[0] = scale[4];
			break;
		case 5:
			s[0] = scale[5];
			break;
		case 6:
			s[0] = scale[6];
			break;
		case 7:
			s[0] = scale[7];
			break;
		case 8:
			s[0] = scale[8];
			break;
		case 9:
			s[0] = scale[9];
			break;
		case 10:
			s[0] = scale[10];
			break;
		case 11:
			s[0] = scale[11];
			break;
	}
	
	//cout << "LowNote = " << LowNote << " note = " << note << " oitava = " << oitava;
	
	switch (LowNote)
	{
		case 0:
			if ( (oitava == 0) || ( (oitava == 1)&&(note < 10) )  ) s[0] = 0;
			break;
		case 1:
			if ( oitava <=1 ) s[0] = 0;
			break;
		case 2:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 1) )  ) s[0] = 0;
			break;
		case 3:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 2) )  ) s[0] = 0;
			break;
		case 4:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 3) )  ) s[0] = 0;
			break;
		case 5:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 4) )  ) s[0] = 0;
			break;
		case 6:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 5) )  ) s[0] = 0;
			break;
		case 7:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 6) )  ) s[0] = 0;
			break;
		case 8:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 7) )  ) s[0] = 0;
			break;
		case 9:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 8) )  ) s[0] = 0;
			break;
		case 10:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 9) )  ) s[0] = 0;
			break;
		case 11:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 10) )  ) s[0] = 0;
			break;
		case 12:
			if ( (oitava <=1) || ( (oitava == 2)&&(note < 11) )  ) s[0] = 0;
			break;
		case 13:
			if ( (oitava <=2) ) s[0] = 0;
			break;
		case 14:
			if ( (oitava <=2) || ( (oitava == 3)&&(note < 1) )  ) s[0] = 0;
			break;
	}
	//hops[Qcolumn-1] = round(hopa*(pow(2,(s[0]/12))));	
}