/* * Created on Dec 27, 2010 by Nick * */ package jmsltestsuite; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import com.softsynth.jmsl.JMSLRandom; import com.softsynth.jmsl.score.*; public class KeySignatureTest { Score score; ScoreFrame scoreFrame; void buildScore() { score = new Score(4, 1600, 800, "Key Signatures"); score.setMeasureNumbersVisible(false); score.setInstrumentNamesVisible(false); score.setSectionBracketsVisible(false); score.setTempoVisible(false); Measure m = score.addMeasure(1, 4); m.getStaff(0).setClef(Clef.TREBLE_CLEF); m.getStaff(1).setClef(Clef.ALTO_CLEF); m.getStaff(2).setClef(Clef.TENOR_CLEF); m.getStaff(3).setClef(Clef.BASS_CLEF); for (int i = 0; i < KeySignature.KEYSIG_SHARP_NAMES.length; i++) { m = score.getMeasure(i); KeySignature ks = new KeySignature(); ks.setKeySignatureType(KeySignature.SHARP_KEY); ks.setNumAccidentals(i + 1); for (int j = 0; j < 4; j++) { m.getStaff(j).setKeySignature(ks); } m.setMeasureText(KeySignature.KEYSIG_SHARP_NAMES[i]); m.setMeasureTextX(JMSLRandom.choose(-40,30)); m.setMeasureTextY(JMSLRandom.choose(-50, 50)); if (i == KeySignature.KEYSIG_SHARP_NAMES.length - 1) { m.setDoubleBar(true); } score.addMeasure(); } int scoreSizeAfterSharps = score.size(); for (int i = 0; i < KeySignature.KEYSIG_FLAT_NAMES.length; i++) { m = score.getMeasure(score.size() - 1); KeySignature ks = new KeySignature(); ks.setKeySignatureType(KeySignature.FLAT_KEY); ks.setNumAccidentals(i + 1); for (int j = 0; j < 4; j++) { m.getStaff(j).setKeySignature(ks); } m.setMeasureText(KeySignature.KEYSIG_FLAT_NAMES[i]); if (i == KeySignature.KEYSIG_FLAT_NAMES.length - 1) { m.setDoubleBar(true); } else { score.addMeasure(); } } } void buildScoreFrame() { scoreFrame = new ScoreFrame(); scoreFrame.addScore(score); scoreFrame.pack(); scoreFrame.setVisible(true); scoreFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public static void main(String[] args) { KeySignatureTest test = new KeySignatureTest(); test.buildScore(); test.buildScoreFrame(); } }