import java.awt.Point;import jm.music.data.*;import jm.util.*;import jm.music.tools.*;// Draws a spiral - simplest fractal interationclass SpiralMusic {    public SpiralMusic() {            Score s = new Score();            Part p = new Part("spiralPiano", 1, 0);            int x;            int y;            int centreOffset = 100;            int oldx = centreOffset;            int oldy = centreOffset;            double r;            double PI = 3.141593;            double scaleFactor = 2.0;            for(double i=0; i<16*PI; i += 0.1) {                r = scaleFactor * i;                x = (int)(r * Math.cos(i)) + centreOffset;                y = (int)(r * Math.sin(i)) + centreOffset;                // do music                Phrase phr = new Phrase();                phr.setStartTime((double)x / 16.0);                Note n = new Note(127-y/2, 0.125, 100);                n.setDuration(1.0/(double)y);                                phr.addNote(n);                p.addPhrase(phr);                // update previous location                oldx = x;                oldy = y;            }            s.addPart(p);            s.clean();                                    View.show(s, 250,0);                         View.print(s);                        // save MIDI file also            //Write.midi(s, "SpiralMusic.mid");                        // play back with javaSound - without exiting            Play.midi(s);    }}