/** * driver.java * * Batch process - command line driven -- to execute an application * which creates and writes midi files. * Used mainly for early stage development, the application parameters * are set with hard-coded vales. Later on, the parameters will be set * by a servlet driven by an html form designed for the specific * application. * * This module is part of Karl Brown's MIDI programming project. * */ package MidiApps; import java.io.*; /** * * @author Karl Brown * @version 1.0 * last updated 2/16/2003 */ public class driver { public static void main(String argv[]) { System.out.println("driver main begin "); // hardCodedComposer h = new hardCodedComposer(); // composer c = (composer)(h); // PlayerComposer pc = new PlayerComposer(); equalTemperScaleDemo etc = new equalTemperScaleDemo(); // randomComposer etc = new randomComposer(); // chordComposer cc = new chordComposer(); // bentComposer etc = new bentComposer(); composer c = (composer)(etc); PrintStream ps = System.out; PrintWriter pw = new PrintWriter(ps); tracer trc = new tracer(); trc.setPrintStream(System.out); trc.setFile("C:\\javamidi\\MidiApps\\trace.txt"); System.out.println("tracer allocted -- System.out.println"); trc.trace("tracer allocted -- trc.trace"); c.setTracer(trc); c.setFileName("karl0209a"); c.setResolution(96); /* cc.setNumDivisions(8); cc.setNumGroups(3); cc.setNumDrumGroups(2); cc.setBaseMidiPitch((byte)composer.C_DOWN_3); cc.setNumOctaves(7); cc.setBeatLength((long)90); cc.setPatch((byte)0,0); // piano cc.setPercentChanceRest(50,0); cc.setMinOctave(0,0); cc.setMaxOctave(6,0); cc.setMinVelOn((byte)0x20,0); cc.setMaxVelOn((byte)0x80,0); cc.setMinVelOff((byte)0x20,0); cc.setMaxVelOff((byte)0x60,0); cc.setMinNoteLength(1,0); cc.setMaxNoteLength(5,0); cc.setMinNumPitches(1,0); cc.setMaxNumPitches(3,0); cc.setPatch((byte)4,1); //electric piano cc.setPercentChanceRest(25,1); cc.setMinOctave(1,1); cc.setMaxOctave(5,1); cc.setMinVelOn((byte)0x20,1); cc.setMaxVelOn((byte)0x60,1); cc.setMinVelOff((byte)0x20,1); cc.setMaxVelOff((byte)0x60,1); cc.setMinNoteLength(1,1); cc.setMaxNoteLength(5,1); cc.setMinNumPitches(1,1); cc.setMaxNumPitches(3,1); cc.setPatch((byte)8,2); //celeste cc.setPercentChanceRest(25,2); cc.setMinOctave(4,2); cc.setMaxOctave(6,2); cc.setMinVelOn((byte)0x20,2); cc.setMaxVelOn((byte)0x60,2); cc.setMinVelOff((byte)0x20,2); cc.setMaxVelOff((byte)0x60,2); cc.setMinNoteLength(1,2); cc.setMaxNoteLength(5,2); cc.setMinNumPitches(1,2); cc.setMaxNumPitches(3,2); cc.setPercentChanceDrumRest(25,0); cc.setMinDrumVelOn((byte)0x20,0); cc.setMaxDrumVelOn((byte)0x60,0); cc.setMinDrumLength(1,0); cc.setMaxDrumLength(5,0); cc.setMinNumDrums(1,0); cc.setMaxNumDrums(3,0); cc.setPercentChanceDrumRest(75,1); cc.setMinDrumVelOn((byte)0x30,1); cc.setMaxDrumVelOn((byte)0x70,1); cc.setMinDrumLength(1,1); cc.setMaxDrumLength(5,1); cc.setMinNumDrums(1,1); cc.setMaxNumDrums(3,1); */ c.createSequence(); c.setDirectory("C:\\javamidi\\MidiApps\\midifiles"); // h.setNote((byte)(60)); // h.setPatch((byte)(0)); // pc.setNote((byte)(60)); // pc.setPatch((byte)(0)); etc.setBaseMidiPitch((byte)(60)); // etc.setPatch((byte)(0)); etc.setPatch((byte)(0x4F)); c.compose(); c.writeMidiFile(); trc.close(); System.out.println("MidiApps driver main ends "); } }