package org.jzy3d.plot3d.primitives.axes.layout.providers;
/**
* A tick provider for musical notation.
*
* Select frequency values for all A notes between A0 and A7
* (approximately a piano range)
*
* @author Martin Pernollet
*/
public class PitchTickProvider extends StaticTickProvider {
public PitchTickProvider() {
super(pitchValues(8));
}
public PitchTickProvider(int octaves) {
super(pitchValues(octaves));
}
private static double[] pitchValues(int octaves) {
if (octaves == 2) {
double[] array = { 0.0,
/* A0 */27.5,
/* A1 */55.0};
return array;
}
else if (octaves == 3) {
double[] array = { 0.0,
/* A0 */27.5,
/* A1 */55.0,
/* A2 */110.0};
return array;
}
else if (octaves == 4) {
double[] array = { 0.0,
/* A0 */27.5,
/* A1 */55.0,
/* A2 */110.0,
/* A3 */220.0};
return array;
}
else if (octaves == 5) {
double[] array = { 0.0,
/* A0 */27.5,
/* A1 */55.0,
/* A2 */110.0,
/* A3 */220.0,
/* A4 */440.0 };
return array;
}
else if (octaves == 6) {
double[] array = { 0.0,
/* A0 */27.5,
/* A1 */55.0,
/* A2 */110.0,
/* A3 */220.0,
/* A4 */440.0,
/* A5 */880.0 };
return array;
}
else if (octaves == 7) {
double[] array = { 0.0,
/* A0 */27.5,
/* A1 */55.0,
/* A2 */110.0,
/* A3 */220.0,
/* A4 */440.0,
/* A5 */880.0,
/* A6 */1760.0 };
return array;
}
else { // 8
double[] array = { 0.0,
/* A0 */27.5,
/* A1 */55.0,
/* A2 */110.0,
/* A3 */220.0,
/* A4 */440.0,
/* A5 */880.0,
/* A6 */1760.0,
/* A7 */3520.0 };
return array;
}
}
}
Ads help maintain this website.