The following text was written to the standard output stream when the Pitch program was executed from IntelliJ.
package chromesthesia1;
import java.awt.Color;
import note.SNote;
import painter.SPainter;
import shapes.SRectangle;
public class Pitch {
private String abcName;
private SPainter painter;
private SRectangle box;
private SNote note;
private Color color;
public Pitch(String abcName, SPainter painter){
this.abcName = abcName;
this.painter = painter;
this.box = new SRectangle(painter.painterHeight-50, painter.painterWidth-50);
this.note = createNoteForThisPitch(abcName);
this.color = getPitchClassColor(abcName.substring(0,1).toUpperCase());
}
public String toString(){
return "[" + abcName + " | " + note.degree() + " | " + color + "]";
}
public String abcName(){
return abcName;
}
public SNote createNoteForThisPitch(String abcPitchClassName){
SNote note = new SNote();
if ( abcPitchClassName.equals("C")){
//nothing to do
}else if (abcPitchClassName.equals("C,")){
note.lp(7);
}else if (abcPitchClassName.equals("c")){
note.rp(7);
}else if (abcPitchClassName.equals("D")){
note.rp(1);
}else if (abcPitchClassName.equals("D,")){
note.lp(6);
}else if (abcPitchClassName.equals("d")){
note.rp(8);
}else if (abcPitchClassName.equals("E")){
note.rp(2);
}else if ( abcPitchClassName.equals("E,")){
note.lp(5);
}else if ( abcPitchClassName.equals("e")){
note.rp(9);
}else if ( abcPitchClassName.equals("F")){
note.lp(3);
}else if ( abcPitchClassName.equals("F,")){
note.rp(7);
}else if ( abcPitchClassName.equals("f")){
note.rp(1);
}else if ( abcPitchClassName.equals("G")){
note.lp(4);
}else if ( abcPitchClassName.equals("G,")){
note.rp();
}else if (abcPitchClassName.equals("g")){
note.rp();
}else if ( abcPitchClassName.equals("A")){
note.lp();
}else if ( abcPitchClassName.equals("A,")){
note.rp();
}else if ( abcPitchClassName.equals("a")){
note.rp();
}else if( abcPitchClassName.equals("B")){
note.lp();
}else if ( abcPitchClassName.equals("B,")){
note.rp();
}else if ( abcPitchClassName.equals("b")){
note.rp();
}
return note;
}
private Color getPitchClassColor(String letter){
if ( letter.equals("C")){
return Color.BLUE;
}else if (letter.equals("D")){
return Color.GREEN;
}else if ( letter.equals("E")){
return new Color(127,0,127);
}else if (letter.equals("F")){
return new Color(128,59,63);
}else if (letter.equals("G")){
return new Color(200,100,0);
}else if (letter.equals("A")){
return new Color(255,20,90);
}else if (letter.equals("B")){
return new Color(196,250,75);
}else {
return Color.BLACK;
}
}
public void play(String d){
painter.setColor(color);
painter.paint(box);
painter.setColor(randomColor());
painter.draw(box);
if ( d.equals("1")){
note.play();
}
}
private static Color randomColor(){
int rv = (int)(Math.random()*256);
int gv = (int)(Math.random()*256);
int bv = (int)(Math.random()*256);
return new Color(rv,gv,bv);
}
}