/** * @author Nick Didkovsky, (c) 2000 Nick Didkovsky */ package jmsltutorial; import com.softsynth.jmsl.JMSL; import com.softsynth.jmsl.JMSLRandom; import com.softsynth.jmsl.score.NoteFactory; import com.softsynth.jmsl.score.Score; import com.softsynth.jmsl.score.ScoreFrame; public class JScoreToot08 { Score score; ScoreFrame scoreFrame; /* build score and display the scoreframe */ public void start() { JMSL.clock.setAdvance(0.1); score = new Score(3, 800, 400); score.addMeasure(); scoreFrame = new ScoreFrame(); scoreFrame.addScore(score); // load up staff 0 double dur = 0.25; // 16th note for (int i = 0; i < 8; i++) { score.addNote(dur, JMSLRandom.choosePlusMinus(5) + NoteFactory.MIDDLE_C, 0.5, dur * 0.8); } score.rewind(); score.setCurrentStaffNumber(1); // load up staff 1 dur = 0.5; for (int i = 0; i < 4; i++) { score.addNote(dur, JMSLRandom.choosePlusMinus(5) + NoteFactory.MIDDLE_C + 12, 0.5, dur * 0.8); } scoreFrame.addBinaryCopyBufferTransform(new MutationMeanTransform()); scoreFrame.setVisible(true); } public static void main(String args[]) { JScoreToot08 test = new JScoreToot08(); test.start(); } }