package MidiApps; import java.io.*; import java.util.*; import javax.sound.midi.*; public class equalTemperScaleDemo extends equalTemperComposer { player p; int patch; public void setPatch(int patchIn) { patch = patchIn; } public int getPatch() { return patch; } public void compose() { try { if (s == null) { createSequence(); } Track t = s.createTrack(); String TrackName; bentPlayer bp = new bentPlayer(); p = (player)(bp); p.setTracer(tr); p.setTrack(t); p.setTick(0); p.generalMidiOn(); p.setTempo((byte)0x02, (byte)0xA1, (byte)0x20); p.setTrackName("Equal temper track"); p.addChannel(0); p.omniOff(); p.polyOff(); p.setPatch(getPatch()); p.setVelOn(0x60); p.setVelOff(0x60); // p.setDur((long)60); p.setDur((long)(getBeatLength() ) ); // setBaseMidiPitch(MIDDLE_C); // setNumDivisions(12); // setNumOctaves(2); // tr.trace("building scale:"); buildScale(); bentPitch bh; bentScale bs = getBentScale(); int numSteps = getNumOctaves() * getNumDivisions(); // tr.trace("ascending... "); for (int i = 0; i < numSteps; i++) { p.resetPitch(); bh = (bentPitch)(bs.elementAt(i)); bp.addBentPitch(bh); bp.play(); } // tr.trace("descending... "); for (int i = numSteps; i > 0; i--) { p.resetPitch(); bh = (bentPitch)(bs.elementAt(i)); bp.addBentPitch(bh); bp.play(); } // tr.trace("final note... "); // p.setDur((long)720); p.resetPitch(); bh = (bentPitch)(bs.elementAt(0)); bp.addBentPitch(bh); p.play(); p.endOfTrack(); } //try catch(Exception e) { tr.trace("equalTemperScaleDemo::Exception caught:"); tr.trace(e.toString()); } //catch } }