/* * Created on May 5, 2008 by Nick Didkovsky * */ package jmsltestsuite; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import com.softsynth.jmsl.JMSL; import com.softsynth.jmsl.score.*; /** Show/hude staff lines selectively. Show/hide ledger lines. Use non-standard time signature */ public class StaffAndLedgerLineVisibilityAndNonStandardTimeSignatureTest { public static void main(String args[]) { int w = 1000; int h = 750; int numStaves = 2; Score score = new Score(numStaves, w, h, "Staff Line and ledger line visibility control"); score.addMeasure(4, 12); // hide all the staff lines and ledger lins in top staff (staff 0) score.setStaffLineVisible(0, 0, false); score.setStaffLineVisible(0, 1, false); score.setStaffLineVisible(0, 2, false); score.setStaffLineVisible(0, 3, false); score.setStaffLineVisible(0, 4, false); score.setLedgerLinesVisible(0, false); // only show middle "B" line in second staff (staff 1) score.setStaffLineVisible(1, 0, false); score.setStaffLineVisible(1, 1, false); // score.setStaffLineVisible(1, 2, false); score.setStaffLineVisible(1, 3, false); score.setStaffLineVisible(1, 4, false); score.rewind(); score.setCurrentStaffNumber(0); int numBeats = 8; for (int i = 0; i < 4 * numBeats; i++) { double dur = 0.333 / 2; Note n = score.addNote(dur, NoteFactory.MIDDLE_C - 18 + i * 2, 0.5, dur * 0.8); n.setBeamedOut(i %4 != 3); } score.rewind(); score.setCurrentStaffNumber(1); for (int i = 0; i < 2 * numBeats; i++) { double dur = 0.333; Note n = score.addNote(dur, NoteFactory.MIDDLE_C + 11, 0.5, dur * 0.8); n.setBeamedOut(i %4 != 3); } ScoreFrame scoreFrame = new ScoreFrame(); scoreFrame.addScore(score); scoreFrame.setVisible(true); scoreFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { JMSL.closeMusicDevices(); System.exit(0); } }); } }