package jmsltestsuite; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import com.didkovsky.portview.PVFrame; import com.softsynth.jmsl.MusicShape; import com.softsynth.jmsl.util.HailstoneSequence; import com.softsynth.jmsl.view.MusicShapeEditor; import com.softsynth.jmsl.view.PVFrameAdapter; public class HailStoneTest { /** Use Hailstone sequence generator to generate shape */ public static void main(String args[]) { PVFrame f = new PVFrameAdapter("HailstoneSequences"); MusicShapeEditor se = new MusicShapeEditor("MusicShapeEditor", 600, 100); MusicShape s1 = new MusicShape(4); int numEls = 500; HailstoneSequence gen1 = new HailstoneSequence(); HailstoneSequence gen2 = new HailstoneSequence(); HailstoneSequence gen3 = new HailstoneSequence(); HailstoneSequence gen4 = new HailstoneSequence(); gen1.randomize(); gen2.randomize(); gen3.randomize(); gen4.randomize(); for (int i = 0; i < numEls; i++) { s1.add(gen1.next(), gen2.next(), gen3.next(), gen4.next()); } s1.setDimensionName(0, "Hail 1"); s1.setDimensionName(1, "Hail 2"); s1.setDimensionName(2, "Hail 3"); s1.setDimensionName(3, "Hail 4"); se.addMusicShape(s1); f.add(se.getComponent()); f.pack(); f.setVisible(true); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } }