package chords.util;
import java.util.List;
public class Escala {
private static List<String> NOTAS_SUSTENIDO = List.of("C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B");
private static List<String> NOTAS_BEMOL = List.of("C", "Db", "D", "Eb", "E", "F", "Gb", "G", "Ab", "A", "Bb", "B");
public static String getNotaEscalaSustenido(String notaInicial, int posicaoEscala) {
int notaInicialPosicao = NOTAS_SUSTENIDO.indexOf(notaInicial);
int posicaoNota = ajustarPosicao(notaInicialPosicao, posicaoEscala, NOTAS_SUSTENIDO);
return NOTAS_SUSTENIDO.get(posicaoNota);
}
public static String getNotaEscalaBemol(String notaInicial, int posicaoEscala) {
int notaInicialPosicao = NOTAS_BEMOL.indexOf(notaInicial);
int posicaoNota = ajustarPosicao(notaInicialPosicao, posicaoEscala, NOTAS_BEMOL);
return NOTAS_BEMOL.get(posicaoNota);
}
private static int ajustarPosicao(int posicaoInicial, int posicaoEscala, List<String> notas) {
int posicao = posicaoInicial + posicaoEscala;
if (posicao <= notas.size()-1) {
return posicao;
}
return posicao - notas.size();
}
}